How can I export my Shazam tagged songs list? - General Questions and Answers

Before formatting my TD2 I made a full backup.
Now I want to transfer my Shazam tagged songs list back.
Simple copy paste from the backup is not working.
Where Shazam is keeping the list of tagged songs?
How do I export that list?
__________
Update: found it!
Can someone please open this attached shazam.db (from shazam for wm 6.5 ) and return the song list , date and time in some other format? xls, cvs etc.
Thanks!

Update:
Shazam.db file in aplication data\shazam\folder is where all tags are stored.

Did you have any luck with this? I was hoping to do the same thing, but I hit a wall when I realized that I don't know how to access files on my Droid's internal storage. Would you mind pointing me in the right direction?

Found nothing so far.
Anyone?

Incorrect....
Either the htc hero has a different file structure or this information is inaccurate....
There is no such file path.

I whipped a quick app (attached below) that can back up the shazam database file to your SDCard (in folder "shazambackup") and restores it need be.
Also you can export the Tagged songs to xml (saved as "exports.xml" in the "shazambackup" folder).
Next i'll probably parse the xml to a more readable format. Maybe CSV? or just Plain Text? Any ideas are welcome!
Let me know if you have any issues. So far i've only tested it on my G1. Must also have a rooted phone for any of this to work.

Can you please open this shazam.db (from wp6.5) and return the song list , date and time in some other format? xls, cvs etc.
Thanks!

bump.
Anyone can help?
See first post.

You're dealing with mostly Android here, you may want to ask in a WM or phone specific forum.
(from... Evo/MIUI/Tapatalk)

kokenjr said:
I whipped a quick app (attached below) that can back up the shazam database file to your SDCard (in folder "shazambackup") and restores it need be.
Also you can export the Tagged songs to xml (saved as "exports.xml" in the "shazambackup" folder).
Next i'll probably parse the xml to a more readable format. Maybe CSV? or just Plain Text? Any ideas are welcome!
Let me know if you have any issues. So far i've only tested it on my G1. Must also have a rooted phone for any of this to work.
Click to expand...
Click to collapse
Does not work properly on Desire. Opens the app after installation but "backup" button does not create the backup file and "Export to XML" makes the app force close without exporting anything.
About the export feature - the CSV version would probably be the best.
Thanks!

p666nn said:
About the export feature - the CSV version would probably be the best.
Thanks!
Click to expand...
Click to collapse
Can you or someone please export attached shazam.db (zip) in any other usable format?
Thanks!

Bumb!
BUMP!!!!!!

CSV would be great

The app's export to xml feature also fails on HTC Evo 4G (GingerBread).

Solution with SQLite
Hi everybody,
I found a solution to export the list via SQLite. I had to find it for myself as I found nothing on the web, but I put it here, so perhaps somebody else is looking for such a solution as well.
This explanation is about how to get Shazam's data base file from your Android phone, access it on your computer and export a list of your tagged songs.
1. COPY FILE FROM PHONE
The data is stored in the file on your Android:
/data/data/com.shazam.android/databases/library.db
You have to copy this file to your Computer to work with it. Probably everybody does this in a different way. Mine was probably a bit more difficult than necessary, there should be simpler ways (e.g. with ssh / scp), but mine was: Opening the Android app "Terminal" and typing in the command:
Code:
cp /data/data/com.shazam.android/databases/library.db /sdcard
Then the file was copyed on the sdcard, which I could access to with my computer via USB cable.
Then you need a program which can open SQLite-Files. There is the command line tool (at least in Linux) "sqlite3", but also graphical tools for Linux/Windows/Mac like the "sqlitebrowser" (Link: sourceforge.net/projects/sqlitebrowser).
2. OUTPUT FROM DATA BASE:
In every of these tools, you can execute SQL-commands. For my output I chose:
Code:
SELECT a.name , t.title, t.subtitle, t.album, t.subgenre_name, tg.short_datetime, tg.location_name , tg.lat, tg.lon
FROM artist a, artist_track at, track t, tag tg
WHERE a.id = at.artist_id AND at.track_id = t._id AND tg.track_id = t._id ORDER BY tg.timestamp;
This command displays a list of the songs, ordered by their timestamp.
So with the command line tool "sqlite3" you just type in:
sqlite3 -line /tmp/library.db "SELECT a.name , t.title, t.subtitle, t.album, t.subgenre_name, tg.short_datetime, tg.location_name , tg.lat, tg.lon FROM artist a, artist_track at, track t, tag tg WHERE a.id = at.artist_id AND at.track_id = t._id AND tg.track_id = t._id ORDER BY tg.timestamp;"
Click to expand...
Click to collapse
The output is in lines, you could also let put this in a text file by e.g. adding to this command:
"[see above] > shazam-tracks.txt"
Click to expand...
Click to collapse
There is also a way to export the data into an html table (just the table, no complete html file), by changing "-line" for "-html". For further details on how to export everything to a different file format (CVS etc) have a look on the Manpage of sqlite3 (command "man sqlite3").
With the graphical tool "sqlitebrowser" it is imho only possible to show this list, not to export it to a textfile. After having opened the .db-file with the program, you chose the tab "Execute SQL" and put there the above SQL command ("SELECT [...]"). Voilà!
3. DETAILS:
What I do like this is combining the necessary data of the database. They are spread over several tables. There is a table "artist" with the list of the artists and their unique ids. Then there is the same for the tracks, "track". In the "artist_track" table there is listed, which artist's id belongs tho which track's id. Finally in the table "tag" there are additional data like the time stamp of the song and even it's geo data tag.
With the SQLite program you can easily watch all the data and add / remove data from the SQL command, as you wish.
So far, I hope, I could help somebody?
Greetings, spectas

spectas said:
Hi everybody,
I found a solution to export the list via SQLite. I had to find it for myself as I found nothing on the web, but I put it here, so perhaps somebody else is looking for such a solution as well.
This explanation is about how to get Shazam's data base file from your Android phone, access it on your computer and export a list of your tagged songs.
1. COPY FILE FROM PHONE
The data is stored in the file on your Android:
/data/data/com.shazam.android/databases/library.db
You have to copy this file to your Computer to work with it. Probably everybody does this in a different way. Mine was probably a bit more difficult than necessary, there should be simpler ways (e.g. with ssh / scp), but mine was: Opening the Android app "Terminal" and typing in the command:
Code:
cp /data/data/com.shazam.android/databases/library.db /sdcard
Then the file was copyed on the sdcard, which I could access to with my computer via USB cable.
Then you need a program which can open SQLite-Files. There is the command line tool (at least in Linux) "sqlite3", but also graphical tools for Linux/Windows/Mac like the "sqlitebrowser" (Link: sourceforge.net/projects/sqlitebrowser).
2. OUTPUT FROM DATA BASE:
In every of these tools, you can execute SQL-commands. For my output I chose:
Code:
SELECT a.name , t.title, t.subtitle, t.album, t.subgenre_name, tg.short_datetime, tg.location_name , tg.lat, tg.lon
FROM artist a, artist_track at, track t, tag tg
WHERE a.id = at.artist_id AND at.track_id = t._id AND tg.track_id = t._id ORDER BY tg.timestamp;
This command displays a list of the songs, ordered by their timestamp.
So with the command line tool "sqlite3" you just type in:
The output is in lines, you could also let put this in a text file by e.g. adding to this command:
There is also a way to export the data into an html table (just the table, no complete html file), by changing "-line" for "-html". For further details on how to export everything to a different file format (CVS etc) have a look on the Manpage of sqlite3 (command "man sqlite3").
With the graphical tool "sqlitebrowser" it is imho only possible to show this list, not to export it to a textfile. After having opened the .db-file with the program, you chose the tab "Execute SQL" and put there the above SQL command ("SELECT [...]"). Voilà!
3. DETAILS:
What I do like this is combining the necessary data of the database. They are spread over several tables. There is a table "artist" with the list of the artists and their unique ids. Then there is the same for the tracks, "track". In the "artist_track" table there is listed, which artist's id belongs tho which track's id. Finally in the table "tag" there are additional data like the time stamp of the song and even it's geo data tag.
With the SQLite program you can easily watch all the data and add / remove data from the SQL command, as you wish.
So far, I hope, I could help somebody?
Greetings, spectas
Click to expand...
Click to collapse
Thanks!!! It helped me since Shazam no longer gets past the setup screen!
I found that with SQliteExport you can use your same command above and export to a file of your choice, for example, xls or csv. Here's the link to the little program:
http://www.speqmath.com/tutorials/sqlite_export/index.html

Flyview said:
Thanks!!! It helped me since Shazam no longer gets past the setup screen!
I found that with SQliteExport you can use your same command above and export to a file of your choice, for example, xls or csv. Here's the link to the little program:
http://www.speqmath.com/tutorials/sqlite_export/index.html
Click to expand...
Click to collapse
Tried but cant do it. I need step by step instruction. Or better, can someone just export the db that I attached? (See OP - first post - shazam.db ?)
Thanks
K

Best solution for exporting from shazam database
Delete this one please

Hello I am new on the forum. I've learned a lot of things in this website, it's time to payback
I’ve got another solution to this issue….
1.-Download this plugin for Firefox.
addons.mozilla.org/es/firefox/addon/sqlite-manager
2.- In Firefox – Tools, select SQLite Manager
3.- In the new window select database – connect database – then open your db from shazam
4.- Then you’ll see two panels. on left panel select track and on right panel, select browse and search then you’ll be able to see all your tag info
5.- On the left panel select track – right click – export table, select csv on right panel then ok.
6.- Open your new saved database with any office (word, excel)
7.- That’s all

Shazam Tags
snakesight said:
Hello I am new on the forum. I've learned a lot of things in this website, it's time to payback
I’ve got another solution to this issue….
1.-Download this plugin for Firefox.
addons.mozilla.org/es/firefox/addon/sqlite-manager
2.- In Firefox – Tools, select SQLite Manager
3.- In the new window select database – connect database – then open your db from shazam
4.- Then you’ll see two panels. on left panel select track and on right panel, select browse and search then you’ll be able to see all your tag info
5.- On the left panel select track – right click – export table, select csv on right panel then ok.
6.- Open your new saved database with any office (word, excel)
7.- That’s all
Click to expand...
Click to collapse
This above works well nice one.
I was trying to do my own program before I saw this.I'm not a programmer but I stuck together a few bits of code I found and hopefully works you you. Use android app Root Browser Lite to copy file from data/data/com.shazam.android/databases/library.db to your sd card. Or use the app posted earlier which does this for you.
Put library.db file from you Shazam backup in the same folder as this program and run program and hit 'GetTags' and should get CSV and htm versions of your tags. No error checking or anything fancy in this program. Requires .NET 3.5. May only work on 32-bit machines. I'd like to enhance this and will if people find it useful.
How results should look.

Related

Tutotrial: How to add Category Folder Quick Links to your Home Tab.

I have been wanting to add folders for some time to my quicklinks. I researched and researched.
I came across this thread:
http://forum.xda-developers.com/showthread.php?t=576232
However it only dealt with a few categories.
So I have created new .lnk files and asscociated them with .png folder icons and created the necessary registry files.
This will work if you have 9, 12 or 16 Quick Links. For 20 Quick Links I think it will still work but you have to assign the Quick Links yourself.
Just unzip the attached file, read the read me and copy the Programs Folder to your phone and inport the enclosed registry entry too. Reset.
great idea! i wondered why 20 quicklinks are enough for all people here. i just have installed a few apps and games and my quicklink bar is full!
are you going to make the quicklinks for the 20 icon bar?
Great work, thanks.
fruchtfliege said:
great idea! i wondered why 20 quicklinks are enough for all people here. i just have installed a few apps and games and my quicklink bar is full!
are you going to make the quicklinks for the 20 icon bar?
Click to expand...
Click to collapse
If 25 links is enough for you? See this thread, from the same guy who created the 20 links on Home tab.
thanks, i've already seen the 25 link thread! i think it will be more flexible with folder links to group games etc. but maybe i'm going to use both tweaks:
normal links for most important apps and folder links for games, system information and so on...
tboy2000 said:
I have been wanting to add folders for some time to my quicklinks. I researched and researched.
I came across this thread:
http://forum.xda-developers.com/showthread.php?t=576232
However it only dealt with a few categories.
So I have created new .lnk files and asscociated them with .png folder icons and created the necessary registry files.
This will work if you have 9, 12 or 16 Quick Links. For 20 Quick Links I think it will still work but you have to assign the Quick Links yourself.
Just unzip the attached file, read the read me and copy the Programs Folder to your phone and inport the enclosed registry entry too. Reset.
Click to expand...
Click to collapse
Bit of a noob question but why can't you just create links to the default folders and then run these. I tried this but it always says fails to open "games application".
tboy2000 said:
I have been wanting to add folders for some time to my quicklinks. I researched and researched.
I came across this thread:
http://forum.xda-developers.com/showthread.php?t=576232
However it only dealt with a few categories.
So I have created new .lnk files and asscociated them with .png folder icons and created the necessary registry files.
This will work if you have 9, 12 or 16 Quick Links. For 20 Quick Links I think it will still work but you have to assign the Quick Links yourself.
Just unzip the attached file, read the read me and copy the Programs Folder to your phone and inport the enclosed registry entry too. Reset.
Click to expand...
Click to collapse
Just to add to my last, I have an HD with 2.5.1922011 Nrgz ROM but can't seem to import the registry settings. Have used TRE and it states that registry import was successful but to no avail. I have tried hand modifying the entries but still not working. Am I missing something???
Not working
Changed the registry to my portuguese ROM and nothing!
Maybe this only works on WWE roms because of the registry names. If importing the registry does not work for you, try just adding the folders manually to your quick links in the normal way you would add apps. just look fit the folder.link file in the list. let me know.
tboy2000 said:
Maybe this only works on WWE roms because of the registry names. If importing the registry does not work for you, try just adding the folders manually to your quick links in the normal way you would add apps. just look fit the folder.link file in the list. let me know.
Click to expand...
Click to collapse
Hi, in attach is an export of my regfile.
I have put in "sistema" the system.lnk and system.png and renamed it to Portuguese: sistema.lnk and sistema.png
Even so when i click in the home tab in icon (that shows your png file) it says,
" Its not possible to open the file "sistema". Or is not signed with a certificate or cannot find the components.
Thnaks
toyjeep said:
Hi, in attach is an export of my regfile.
I have put in "sistema" the system.lnk and system.png and renamed it to Portuguese: sistema.lnk and sistema.png
Even so when i click in the home tab in icon (that shows your png file) it says,
" Its not possible to open the file "sistema". Or is not signed with a certificate or cannot find the components.
Thnaks
Click to expand...
Click to collapse
This is exactly what happens to me and my ROM is WWE. I can link the folder but it will not open. Tried manually editing the registry but without success. There must be another step but for the life of me I can't figure it out and it's driving me crazy!! This should be simple but HTC make it extremely difficult.
sandymac said:
This is exactly what happens to me and my ROM is WWE. I can link the folder but it will not open. Tried manually editing the registry but without success. There must be another step but for the life of me I can't figure it out and it's driving me crazy!! This should be simple but HTC make it extremely difficult.
Click to expand...
Click to collapse
Bump. Has anyone actually succeeded in doing as instructed and managed to create quick links with folders?
16 Shortcuts...for 25!!
Hi,
i am newbie with my HD2. I did the steps for 16 Short cuts, but it didn't worked out as it should because i have 25 Quick links. Now i have nice folder icons in my Quick links but they don't work!!
Could some one help me with a more detailed how to!!!!
Thanks in adv.
foka
another approach
Hi!
I had the very same problem.
The recommendations given here, I use too, but I remembered a small program usually used for maintaining a directory organisation with PortableApps on the PC. It just uses its own name (like 'games.exe') extracts the '.exe' out of it and opens the reaining 'games' as a directory. I found this was a brute, but very useful solution to the problem. So finally I did that app for mobile devices on my own. It is written in C#. Prerequisites are compact framework 3.5.
In my opinion its only drawback is, that it uses the file-explorer as a platform to view the directory. I would like the HTC view with icons more, but I don't know, how to call the required code to do so.
Personally I have installed 4 instances of the program (240kb) on the storage-card and created the links to them in the startmenu-folder. This works fine with directlinks.
Note: Only subfolders in /windows/startmenu/programs are opened! For other needs the source code is easily changeable.
Here comes a short description:
----------------------------------------------------------------
Prerequisites: Microsoft Compact Framework 3.5.
Install and usage description:
MobDir.Cab installs the file MobDir.exe into your 'prorams' directory.
Since MobDir reads in its very own name to function, it is of utmost importance to RENAME MobDir.exe to a directory name, that fits for your environment!
MobDir starts a File-Explorer directly in a directory that resides in your /windows/start menu/programs
directory.
e.g.: There is a dir called 'games' in your 'programs' directory of 'start menu', that contains all the links to your games on the device. Rename MobDir.Exe accordingly into 'games.exe'. If the program is already installed in your 'start menu/programs' directory, there is not much more to do for you. Simply select games.exe in your directlinks. There you have a directory-icon labeled 'games' then which, when clicked, opens the file-explorer in your games directory. If games.exe resides on your starage card, you have to create a games.lnk into the 'start menu/programs' directory first.
Of course, if you have more subdirectories in your 'start menu/programs' folder, which is most likely the case ('apps', 'tools' for instance), just copy the file MobDir.Exe under these names to your device. In this example as apps.exe and tools.exe. The rest is the same as written beforehand.
Sounds more complicated as it is, just try it, it's simple.
Note: The way it works can be followed by watching the source code. It first reads in its own filename (e.g.: 'games.exe'). Then it extracts the '.exe' out of the name (leaving a 'games'). Right after it looks for your current localized '/windows/start menu/programs/' path and adds the string to it, which we extracted beforehand. So we have a path 'windows/start menu/programs/games'. Finally the file-explorer is called with that path as a parameter.
-----------------------------------------------------------
Here is the source-code:
Code:
using System;
namespace MobDir
{
static class Program
{
[MTAThread]
static void Main()
{
string cFileNameSelf="Use this Base-Code as a sample. Written in '2010 bei D.Bos";
try
{
//read out own filename and strip out ".EXE"
cFileNameSelf = AppDomain.CurrentDomain.FriendlyName.ToUpper().Replace(".EXE", "");
//start File-Explorer, given the path to /windows/startmenu/programs/ + <NameSelf>
System.Diagnostics.Process p = System.Diagnostics.Process.Start("fexplore.exe", ReadSpecialFolder("Programs") + "\\" + cFileNameSelf + "\\");
p.WaitForExit();
}
catch (System.Exception e)
{
System.Windows.Forms.MessageBox.Show("Problem with <" + cFileNameSelf + ">!\n" + e.Message);
}
}
public static string ReadSpecialFolder(string cVarName)
{
return Environment.GetFolderPath((Environment.SpecialFolder)Enum.Parse(typeof(Environment.SpecialFolder), cVarName, true));
}
}
}
-----------------------------------------------------------
And finally: The file MobDir.Cab is attached to this posting.
Hopefully you can make some use of it.
Dietmar

[APP] Instant Upload

This app is to be used to conveniently upload files to your FTP or SFTP server.
The app has a queuing functionality which can be enabled under settings.
Help text (from app):
Instant Up is used to quickly upload any type of file to your server.
FTP settings must be configured before use. To configure, choose Settings in the options menu.
Here is an example, to help you configure.
If you specify file type zip and path myZipFolder, all zip files will be uploaded to myZipFolder.
If you want all file types to be uploaded to the same server directory, specify * in the file type column. This rule will be used for all files not matching any of the other rules.
If no rule exists for the current file type you will be forwarded to an FTP browser to let you select a destination folder.
Start using Instant Up now by, for instance, downloading a file in the web browser and clicking on it in the Downloads section of the browser.
If queueing is enabled in settings, files will not be uploaded instantly, instead you are able to queue up all files that you need to upload. If all files in queue are matching some rule defined, the files will be uploaded to the correct folders depending on the rules. If some file does not match any rule, you will be asked for an upload folder and (NOTE) ALL files in queue will be uploaded to that folder.
Versions
2.2: Free version now supports SFTP as well, and it now has ads. Also fixed a bug of being able to add non-numbers in port field.
2.1.2: Fixed error when trying to upload non-file items
2.1.1
now supports sharing multiple files (e.g. from Gallery)
Fixed bug when trying to share other stuff than files
2.1: now supports sharing (from Gallery app for instance)
2.0.1: support for earlier OS:s (1-6 - 2.1) Prior to this only 2.2 was supported.
2.0: queueing, App2SD, bugfixes
1.0.1: bugfixes
1.0: initial version
QR and links
Since I was not allowed to add links to this forum, you just have to search for Instant Development in the Market.
Feedback
If you see any problems in the app or have any suggestions, please post here. If you like the app please rate and comment it in the market.
I like your sftp app, but could you please add public key authentication?
elmicha said:
I like your sftp app, but could you please add public key authentication?
Click to expand...
Click to collapse
Thanks.
How would you like that to work?
Like in AndFTP or Connectbot. The AndFTP method is a lot simpler than the Connectbot method. I would say that the simpler method is enough:
The user generates a public/private key pair with ssh-keygen or dropbearkey on his server. Then he appends the public key to his ~/.ssh/authorized_keys and copies the private key to the phone. The sftp client can now import that private key and use it.
Probably it would be easier if you would specify a fixed directory and filename where the user should store his private key, e.g. /sdcard/InstantUpload/id_dsa (or id_rsa). If there is a file with that filename, Instant Upload can import the key and store it internally, and then delete the file. That way you don't need a file selection dialog and the user doesn't need to hunt for the file with that dialog.
elmicha said:
Like in AndFTP or Connectbot. The AndFTP method is a lot simpler than the Connectbot method. I would say that the simpler method is enough:
The user generates a public/private key pair with ssh-keygen or dropbearkey on his server. Then he appends the public key to his ~/.ssh/authorized_keys and copies the private key to the phone. The sftp client can now import that private key and use it.
Probably it would be easier if you would specify a fixed directory and filename where the user should store his private key, e.g. /sdcard/InstantUpload/id_dsa (or id_rsa). If there is a file with that filename, Instant Upload can import the key and store it internally, and then delete the file. That way you don't need a file selection dialog and the user doesn't need to hunt for the file with that dialog.
Click to expand...
Click to collapse
Thank you for a very thorough description. I will have a look at it!
Good and thorough work, man. But for what reason? Most of Android file explorers already can interact with FTP.
Corias said:
Good and thorough work, man. But for what reason? Most of Android file explorers already can interact with FTP.
Click to expand...
Click to collapse
Thanks.
The only reason why I started to build this app was that I wanted something that in the fastest way possible let me download any file from the browser and directly upload it to an SFTP server.
I have searched for apps that supported this, but none of them could do this.
With the file explorers you have to do something like the following:
Download file from browser
Close browser
Open File Explorer
Browse to the folder containing the file
Find the file in the folder
Long click the file
Select upload action
Select destination folder
With this app only three steps are required:
Download file from browser
Click on file
Select application (Instant Upload)
New version out. The free version now supports SFTP as well.
Since the market link leads here I assume you did the Spotify Controller app.
I just installed the server on Win7 x64 and...there is a LOT wrong with it.
I actually package software for a living, unless you protest I will probably try to put together a PROPER package for the current version of the server software.
Honestly, using a zip file means everything gets tagged as a download from the internet, which means every batch files prompts (or more usually, just flat out fails when called from a batch files). Using a vbscript to create shortcuts is ok, but the shorcut didn't have the working directory set. It points to the controller.bat in the main directory, which calls controller.bat in the server subdirectory, which is redundant and asking for trouble. The batch files it calls will almost never work on Win7 (even 32 bit) and surprised it works in XP, because it calls %~dp0java but the JRE by default doesn't add itself to the PATH variable so the server fails to start 100% of the time (this can be fixed by finding the path to java.exe and setting the shortcut to call java.exe and then the command line (don't forget to set the working directory to the /server folder or it will vomit). So both those batch files are unnecessary and break easily.
I had to go through the install.bat and change the paths from %~dp0 to hardcoded, again you could probably come up with just about anything OTHER than a batch file and it would work, as opposed to the way it is now which...doesn't...
Also for us US users new to the party the example URI in the installer isn't available in the US so no matter what it's broken, I found a Green Day song (Jesus of Suburbia) that works and appears to be available everywhere.
http://open.spotify.com/track/10lT3pp9QERGOWiIzLx4We
The server is nice, and fast, and for what it is (and the price) works well. Especially for "party mode" of just switching between playlists or "ohhh I really wanna listen to song x right now!"
But the installer as it is...is so broken as to be virtually useless. The only downside to me making a package for this is that everytime you update the software I'd either have to do it again or use something free like, I believe nullsofts installer.
I would highly recommend learning the Nullsoft installer btw, it is free, and can do a LOT better job than batch files. As far as I know (I use a several thousand dollar software suite at work not nullsoft so I'm not too good with nullsoft) it can even do things like execute a command and wait for feedback.
alcaron said:
I would highly recommend learning the Nullsoft installer btw, it is free, and can do a LOT better job than batch files. As far as I know (I use a several thousand dollar software suite at work not nullsoft so I'm not too good with nullsoft) it can even do things like execute a command and wait for feedback.
Click to expand...
Click to collapse
Thank you for your feedback. The packaging thing has been nagging me for a while now.
I know my packaging is poor and I would be very grateful for any help!
I have tried things like Nullsoft before, and I did not do very well.
Is there any chance that you could create a package for Spotify Controller and instruct me on how to keep that package updated when I release future versions?
I'm actually working on a couple scripts right now, because as nice as MSI's are, there isn't a really good free editor, but at least I can maybe give you some scripts that will make it a little more fault tolerant.
This should create your shortcuts.
Code:
Option Explicit
Dim oFSO, oWsh, link, javaLoc, instDir, shstart, shstop, t1, t2
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oWsh = CreateObject("WScript.Shell")
instDir = "C:\Program Files\SpotCon"
t1 = "C:\Program Files (x86)\Java\jre6\bin\java.exe"
t2 = "C:\Program Files\Java\jre6\bin\java.exe"
If oFSO.FileExists(t1) Then
javaLoc = t1
ElseIf oFSO.FileExists(t2) Then
javaLoc = t2
End If
Set shstart = oWsh.CreateShortcut("C:\Users\alcaron\Desktop\Start Server.lnk")
shstart.Arguments = "-jar start.jar jetty.port=1258"
shstart.Description = "Spotify Controller"
shstart.IconLocation = instDir + "\resources\icon.ico,0"
shstart.TargetPath = javaLoc
shstart.WorkingDirectory = "C:\Program Files\SpotCon\server"
shstart.Save
Set shstop = oWsh.CreateShortcut("C:\Users\alcaron\Desktop\Stop Server.lnk")
shstop.Arguments = "/F /fi " + CHR(34) + "IMAGENAME eq java.exe" + Chr(34)
shstop.Description = "Spotify Killer"
shstop.IconLocation = instDir + "\resources\icon_kill.ico,0"
shstop.TargetPath = "C:\Windows\System32\taskkill.exe"
shstop.WorkingDirectory = "C:\Windows\System32"
shstop.Save
The spotifyOpenUri.bat needs to be updated to somehow tell where spotify is installed to. It SHOULD be as simple ad swapping between %programfiles(x86)% and %programfiles%
I hate microsoft for introducing the (x86) directory...whomever did that should be banned from touching computers.
spotify.bat also needs the same modification.
The install.bat is the one that has the most problems. More on that in a second.
Also you can take a zip file capture of your directory and use nullsoft installer to generate an install from that zip file, that gets you around the "tagged as from the internet" issue AND gives you an installer. But it isn't going to give you a shortcut without using a script I don't think.
alcaron said:
The install.bat is the one that has the most problems. More on that in a second.
Click to expand...
Click to collapse
Looking forward to further instructions
alcaron said:
This should create your shortcuts.
Code:
Option Explicit
Dim oFSO, oWsh, link, javaLoc, instDir, shstart, shstop, t1, t2
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oWsh = CreateObject("WScript.Shell")
instDir = "C:\Program Files\SpotCon"
t1 = "C:\Program Files (x86)\Java\jre6\bin\java.exe"
t2 = "C:\Program Files\Java\jre6\bin\java.exe"
If oFSO.FileExists(t1) Then
javaLoc = t1
ElseIf oFSO.FileExists(t2) Then
javaLoc = t2
End If
Set shstart = oWsh.CreateShortcut("C:\Users\alcaron\Desktop\Start Server.lnk")
shstart.Arguments = "-jar start.jar jetty.port=1258"
shstart.Description = "Spotify Controller"
shstart.IconLocation = instDir + "\resources\icon.ico,0"
shstart.TargetPath = javaLoc
shstart.WorkingDirectory = "C:\Program Files\SpotCon\server"
shstart.Save
Set shstop = oWsh.CreateShortcut("C:\Users\alcaron\Desktop\Stop Server.lnk")
shstop.Arguments = "/F /fi " + CHR(34) + "IMAGENAME eq java.exe" + Chr(34)
shstop.Description = "Spotify Killer"
shstop.IconLocation = instDir + "\resources\icon_kill.ico,0"
shstop.TargetPath = "C:\Windows\System32\taskkill.exe"
shstop.WorkingDirectory = "C:\Windows\System32"
shstop.Save
Click to expand...
Click to collapse
I downloaded Nullsoft (http://nsis.sourceforge.net/Main_Page) and tried your code above, but it didn't work at all to compile :-(
Unable to queue up multiple files to sftp from Gallery, only takes 1 file.
Downloaded Instant Upload this evening. Using SFTP to upload from the gallery in my HTC Desire Android phone. Seems to be able to only upload one jpg at a time when I select all. Hope you can get multiple file selections working eventually.
Austin Hook Milk River, Alberta, Canada
AustinHook said:
Downloaded Instant Upload this evening. Using SFTP to upload from the gallery in my HTC Desire Android phone. Seems to be able to only upload one jpg at a time when I select all. Hope you can get multiple file selections working eventually.
Austin Hook Milk River, Alberta, Canada
Click to expand...
Click to collapse
it works,you just have to enable queueing
First-thanks for the app, I'll put my app thoughts in a separate reply.
RE: Packaging apps
I too, in a former existence, was an app packager. It really isn't that hard, at a basic level, but can get some interesting complexities as you progress.
I still use my old Wise Studio to cleanup and customize my own installers/tweaks, etc. It's not great for 7/Vista, but so long as the app is simple it's ok.
There's a free MSI Creator/Editor out there called InstEd - check it out on insted dot com.
Check it out - the "advanced" version is $29.99. I haven't done much with it yet, but for free it's hard to beat.
If you guys want to swap MSI's and VBScripts on this-maybe we should spin up another thread just for the packaging piece.
Oh and I'll vouch for Alcaron's ideas about paths/shortcuts/vbs...you definitely have to be careful about assuming anything. I tend to do a LOT of validation in my scripts and try to fail out gracefully (and log it!), especially if I don't know where the package will be deployed. I log darn near every single line of my scripts - I like to know exactly where it fails.
---------- Post added at 04:28 PM ---------- Previous post was at 04:11 PM ----------
I'm likin' the app so far-makes using my SFTP server much more convenient!
Some ideas for features/mods:
I like the "use queue/add to queue" functionality, but it seems the queue will only process if I then open the app and start the processing. I guess what I'm looking for is a background processing - so I add a file to the queue, and the queue processes in the background so I can then go add more files to it. Along with this idea, maybe a setting (to with enabling queue) where the queue delays starting for a couple minutes.
The rules are a creative approach -I wouldn't have thought of that. Perhaps you can add a "Target Folder" option, with folders that the user pre-defines (similar to how rules are predefined). So when a file is selected for sending with Instant Upload, if you have any Target Folders defined it will popup a list. Otherwise it just goes to the default config.
Just some ideas-bounce them around the users and see what some other people think. They may come up with some interesting twists.
Thanks for the app!
ddback said:
First-thanks for the app, I'll put my app thoughts in a separate reply.
RE: Packaging apps
I too, in a former existence, was an app packager. It really isn't that hard, at a basic level, but can get some interesting complexities as you progress.
I still use my old Wise Studio to cleanup and customize my own installers/tweaks, etc. It's not great for 7/Vista, but so long as the app is simple it's ok.
There's a free MSI Creator/Editor out there called InstEd - check it out on insted dot com.
Check it out - the "advanced" version is $29.99. I haven't done much with it yet, but for free it's hard to beat.
If you guys want to swap MSI's and VBScripts on this-maybe we should spin up another thread just for the packaging piece.
Oh and I'll vouch for Alcaron's ideas about paths/shortcuts/vbs...you definitely have to be careful about assuming anything. I tend to do a LOT of validation in my scripts and try to fail out gracefully (and log it!), especially if I don't know where the package will be deployed. I log darn near every single line of my scripts - I like to know exactly where it fails.
---------- Post added at 04:28 PM ---------- Previous post was at 04:11 PM ----------
I'm likin' the app so far-makes using my SFTP server much more convenient!
Some ideas for features/mods:
I like the "use queue/add to queue" functionality, but it seems the queue will only process if I then open the app and start the processing. I guess what I'm looking for is a background processing - so I add a file to the queue, and the queue processes in the background so I can then go add more files to it. Along with this idea, maybe a setting (to with enabling queue) where the queue delays starting for a couple minutes.
The rules are a creative approach -I wouldn't have thought of that. Perhaps you can add a "Target Folder" option, with folders that the user pre-defines (similar to how rules are predefined). So when a file is selected for sending with Instant Upload, if you have any Target Folders defined it will popup a list. Otherwise it just goes to the default config.
Just some ideas-bounce them around the users and see what some other people think. They may come up with some interesting twists.
Thanks for the app!
Click to expand...
Click to collapse
Interesting with the first part about MSI, is there any chance you could try and make one for the Spotify Controller Server? That would be just awesome!!
Anywho, that discussion should really continue in the Spotify Controller thread, http://forum.xda-developers.com/showthread.php?t=952704 (or a new thread).
About the Instant Upload feature requests. I like the way you are thinking, and I have been thinking in that direction for a while as well. At least with the predefined folders. The background work would mean a bit more work, as I guess I would have to create a service, and I am not sure many people would use such a feature. Do you?

[Q] How do I backup android media playlist?

Whenever I install new rom, I have to lose all my precious playlists. What's the location of playlist files?
Export Android Created Playlists To PC
hi i have managed to find a way to extract phone made playlist to pc but i am not a programmer and I was wondering if anyone here can automate it
url are not permitted here so my blog is kundaistreet at blogspot
diddy47 said:
hi i have managed to find a way to extract phone made playlist to pc but i am not a programmer and I was wondering if anyone here can automate it
url are not permitted here so my blog is kundaistreet at blogspot
Click to expand...
Click to collapse
So this PlayQ can you import and export (backup/restore) playlists? If so, that's probably what the OP is looking for. Not a way to use his Android playlists on his PC. Although I doubt he wants to buy this Merdian Player in order to export playlists. I suspect it's just data somewhere, but where would be the question.
Has anyone worked out where these are stored?
I have been googling forever and all I read is people
a) Saying where music is stored
b) Saying where m3u files etc... are stored.
It's obvious that the playlists are stored in a database somewhere I just want to know where it is so I can look at it and see what sort of information is stored for songs and playlists.
Android Playlist/s Backup Tutorial
Hi everyone,while playing around with the instructions given by diddy47 on the blog site kundaistreet,I discovered how to backup your playlist on your sd card using a combination of 3 apps from the android market and part of the instructions given by diddy47. Apps required are Androzip,Meridian Player and SDMount,they are all free apps and no purchase required to download.This process seems long but its unreal simple,(1)Dowload all apps as stated above,(2)Go to your android stock player and create a playlist of your liking, if you already have a playlist made then on to the next step,(3)As diddy47 described in first part of post, "desregard the part about export to pc",
"In Meridian Player
•Long press on the playlists you want to export to PC, a pop up menu appears
•Select export to playQ
•choose the appropriate name
•choose audio type
•Export as many playlists as you like using procedure above.Navigate to folder PlayQueues using Androzip,it would be stored on your sd card.
Inside will be all your playlist that you exported to playQ in .mpq format not .m3u" Select any of the created playlist/s created and change the file extention name to "m3u", please note all that is being changed are the words and or numbers after the (dot.) (4)Exit Androzip, proceed by making SDMount a widget on your home screen,select, it would refresh saying in the notification bar "Your SD card has been scanned and remounted, SD Media Remounted" 'please note if you unmount your SD through the settings menu you will have to remove your SD card and put it back into device'.(5)Revert to stock media player,go to playlist and there you should find the name of your playlist/s made.You may see 2 of the same named playlist/s but that proves that it was backed up on the sd card.
Thank you for this opportunity, all credit goes out to kundaistreet for the blog site and diddy47 for his tutorial.
any alternative ?
thx for the solution but , its sad but true , this is a basic function i think it should be here already instead of making us looking for this for hours thru the web.
but isnt there any easier method ? dont want that much of apps just for a simple task (exporing playlist)
Here is what I had to do
I have a Samsung Epic 4g backed up with ClockworkMod, and lost the playlist after installing new ROM. Here is what I had to do to get my playlist back.
Extracted my data.img backup to my PC with unyaffs found here:
Code:
jiggawatt.org/badc0de/android/index.html
I knew my playlist name, so I scanned the extracted files and found it here:
C:\Temp\extraced data.img\data\com.android.providers.media\databases\external-99773e78.db
I then used SQLiteStudio to open external-99773e78.db.
Code:
sqlitestudio.one.pl
Ran the below SQL to generate my playlist.
Code:
select
_data
from
(
select name, _data, play_order
from
(
select
am._data
,ap.name
,apm.play_order
from audio_playlists ap
join audio_playlists_map apm on
ap._id = apm.playlist_id
join audio_meta am on
apm.audio_id = am._id
where ap._data is null
)
union
select name, '#EXTM3U ' || name as _data, -1 as play_order
from
(
select ap.name
from audio_playlists ap
where ap._data is null
)
order by 1,3
)
Exported the result set to a text editor (used PSPad), and created m3u's by copy/paste method. Then moved the m3u files to my SD card. When Android did its media scan it pick up the playlist, but for some reason I can't maintain the play list order. Playlist order was not a priority for me, so I stopped here.
If anyone tries something similar and maintains their playlist order, please post a reply
Thanks
You can backup playlists to .m3u8 files via BlueMuze
Full disclosure: it's my app, but the playlist backup feature is in the free unlimited trial.
Hopefully that's not too promotional -- not trying to run afoul of forum rules here, but I think it's what you're looking for.
alostpacket said:
You can backup playlists to .m3u8 files via BlueMuze
Full disclosure: it's my app, but the playlist backup feature is in the free unlimited trial.
Hopefully that's not too promotional -- not trying to run afoul of forum rules here, but I think it's what you're looking for.
Click to expand...
Click to collapse
That's the proper way to do it. I just ran into a user who decided to pimp his app in a competing app's very first post.
What you did, in my opinion, is just fine; honest and transparent.
Bluemuze is perfect!
1) backup the playlist.
2) open with notepad++
3) replace /sdcard/ with C:\*path to copy of MP3 folder *
4) rename file to .m3u
Done! Very very simple to do.
s0larus said:
Bluemuze is perfect!
1) backup the playlist.
2) open with notepad++
3) replace /sdcard/ with C:\*path to copy of MP3 folder *
4) rename file to .m3u
Done! Very very simple to do.
Click to expand...
Click to collapse
Or use Meridian Player (best media player I've come across) to create a "playQ" playlist. this is an independent file as opposed to a database. there are a few steps involved but you can copy the "play Q" file (which has a .mpq extension) to your computer. this file can then be converted to a .m3u file fairly simply. Use Notepad++ to open the .mpq file.
01. Delete all characters before the first instance of "localAudio id"
02. Replace all (" /><) with (\r\n) without the parenthesis. \r\n moves the text to the next line, make sure to select extended mode
03. replace all (LocalAudio id="/mnt/sdcard/Music/) with (D:\Music\) or wherever the music is
04. replace (&) with (&) - there seems to be an error with the & symbol
05. delete "\Items><\PlayQ>" at the end
Here is a link to the original post from where I got the information. I did have a different experience then what is shown here, but very useful:
http://kundaistreet.blogspot.com/2010/12/export-android-created-playlists-to-pc.html
+1 to alostpacket!
alostpacket said:
You can backup playlists to .m3u8 files via BlueMuze
Full disclosure: it's my app, but the playlist backup feature is in the free unlimited trial.
Hopefully that's not too promotional -- not trying to run afoul of forum rules here, but I think it's what you're looking for.
Click to expand...
Click to collapse
Hey alostpacket! Your app seems perfect for me, only I'm running ICS on my G2 and using the default app Apollo for my music and BlueMuze isn't picking up the playlists I've created. Also BlueMuze crashes whenever I try to view my music from within it. Any advice?
I've found a playlist backup app on the play store
here's link : bit . ly/O9wb8q (can't post links)
Press thanks if I helped you!
import playlist m3u
So let me understand this correcty. There is no way to import playlists from my pc (m3u) and then play them? I have to create on android and back it up????
philipjacobs said:
So let me understand this correcty. There is no way to import playlists from my pc (m3u) and then play them? I have to create on android and back it up????
Click to expand...
Click to collapse
You can find the answer in this thread. Read it:
http://forum.xda-developers.com/showthread.php?p=38841993#post38841993
Or if you want to share your list of songs from your favorite playlists, you can use this app:
https://play.google.com/store/apps/details?id=com.sendmyplaylist
I actually figured out another way. It's a pain but it works fine for me. Thanks!

[TOOL][ICS][GB][FROYO] Extract contents of Samsung Memo App's Database to CSV File

Many people, including myself, enjoyed using the stock Memo application on Froyo and GB. Unfortunately, it relies on TouchWiz so it is pretty unlikely that it will ever be ported to ICS. There are a plethora of note-taking apps out there to replace it, but how do you get your data back?
You don't need a running version of Memo to do this, just a backup of your Memo.db database.
I've attached a couple of shell scripts that you can run either on your phone or `nix / Mac to help you out. Here is the plan:
extract-memos.sh will take the memo data in a copy of your Memo.db, add a new table with columns for human-readable modified and created dates, as well as color, and write out the result (all memos) in a CSV file. You should be able to read the CSV file in most spreadsheet programs and save the data or transform it as you might need for another use.
Code:
[email protected]:~/Documents/memo-export$ sh extract-memos.sh
Checking database: /sdcard/memo-extract/com.sec.android.app.memo/databases/Memo.db
Checking output directory: /sdcard/memo-extract
You may want to see if there is anything important in
/sdcard/memo-extract/com.sec.android.app.memo/shared_prefs/memo_shared_pref.xml
Data exported to
/sdcard/memo-extract/memo_20120714-100915.txt
Code:
[email protected]:~/Documents/memo-export$ cat /sdcard/memo-extract/memo_20120714-100915.txt
_id,title,content,color,modify_t,create_t,color_text,modify_datetime,create_datetime
1,20120712,"A yellow memo",1,1342138985041,1342138985041,Yellow,"2012-07-12 17:23:05","2012-07-12 17:23:05"
2,20120712,"A tan memo",2,1342139010315,1342139010315,Tan,"2012-07-12 17:23:30","2012-07-12 17:23:30"
3,20120712,"A green memo",3,1342139028326,1342139028326,Green,"2012-07-12 17:23:48","2012-07-12 17:23:48"
4,20120712,"A blue memo",4,1342139045894,1342139045894,Blue,"2012-07-12 17:24:05","2012-07-12 17:24:05"
5,20120712,"A pale blue memo",5,1342139064381,1342139064381,BlueGray,"2012-07-12 17:24:24","2012-07-12 17:24:24"
extract-memos.sh expects to find the database in /sdcard/memo-extract/com.sec.android.app.memo/databases
and will write the output in /sdcard/memo-extract
If you already have a copy of Memo.db (I suggest a copy, as the script adds a new table to the database), you can adjust the input and output directories using the environment variables dbdir and outdir.
If you're not command-line savvy, you might want to try creating a copy of Memo.db using extract-files.sh first. It will try, in order:
The GB location -- /data/data/com.sec.android.app.memo
ClockworkMod backups -- /sdcard/clockworkmod/backups
TitaniumBackup backups (default location only) -- /sdcard/TitaniumBackup
and, if successful, copy/extract into /sdcard/memo-extract
You likely need busybox on your phone to run these scripts on the phone. You will need root if you intend to copy from /data/data
To run them on the phone:
Copy the scripts to your phone; here I am assuming you saved them to /sdcard/
Get a shell started on the phone (adb shell, or a terminal emulator on the phone)
Change directory to where you have the scripts
# cd /sdcard/
Uncompress the files, if you haven't already
# gunzip extract-files.sh.gz
# gunzip extract-memos.sh.gz
Get a copy of Memo.db, either using your own approach, or
# sh extract-files.sh
Assuming that succeed, extract the memos into a CSV file
# sh extract-memos.sh
Thanks to m4xm4n for pushing me to make this available. If you find it helpful, please take the time to poke both our Thanks buttons.
If you have problems, please PM me and I'll try to resolve them.
Latest version is 2012-07-14
What is the warning about memo_shared_pref.xml? I don't even have the file!
I had some reasonably useless information about "check" this and that in my com.sec.android.app.memo/shared_prefs/memo_shared_pref.xml My instance of that file dates back to the first release of the phone. I didn't see it on a fresh GB-created version, so it might be Froyo cruft, or who knows. You probably should check this file to see if there is anything useful to you in it.​
My _id values aren't all there
Missing _id values are from the memos you have deleted.​
What are _id values?
They are an internal number that the Memo app used to keep track of your memos. You probably don't need them to import.​
What are the long numbers for modify_t and create_t?
Internal "unixtime" in milliseconds. If that sounded like gibberish, use the human-readable versions that are in your local timezone.​
The create/modify times seem off by several hours
Strangely, I have some memos that seem around eight hours off in the opposite way I would expect if they were in UTC. I don't know why.​
(reserved for information on importing into other apps)
There are a ton of note-taking apps out there. Right now, I haven't found any that can import the content, the created and modified dates both, and hopefully the color in a reasonable way. If I do, I'll post here how to get the data easily into that app.
Would you be able to post a new link to extract-memos.sh? I just tried clicking on the current one, and both only led to a page that said "410 Gone."

[Q] Merge 2 Whatsapp Backups

Hey Guys,
I read a bit through this forum and i see you guys know a lot so I wanted to ask for help here .
Soo like the titel says i want to merge 2 Whatsapp Chatbackups together because i have 1 Chatbackup from my old Smartphone and one from my new One...I googled first and tried some methods i found there. First i tried SQlite Browser but it didnt work because my databases are like this: "msgstore.db.crypt7 or msgstore.db.crypt5 but they are supposed to be like this msgstore.db" correct me if im wrong ;p...so i tried WhatsappXtract and Sqlite Admin but it didnt work aswell...I tried to convert from crypt 7 and crypt 5 to crypt with Whatcrypt but it always failed. My Idea now is to 1. decrypt my Msgstores from msgstore.db.crypt7 to msgstore.db
2. To use this Instruction :
HOW TO MERGE SQLITE DATABASE FILES WITH SQLite Compare: 1. Open the old database file in SQLite Database Browser. Open the table messages in Browse Data. Press the Button " > " as often as necessary to get to the last page. Scroll down to the last message. Now write down the number (_id) of that last message, e.g. 65422 2. Now open the new database file in SQLite Database Browser. Open the table messages in Browse Data. Click on the first entry (which has most fields with value "-1"). Click on Delete Record. Have a look at the now first entry and write down the number (_id) of that first message, e.g. 12 Now Click on Execute SQL and execute the following SQL statement: UPDATE messages set _id = (65422 + 1 + _id - 12) (replace 65422 by your last message _id in the old database and 12 by your first message _id in the new database) 3. Now all messages in the new database have the correct _id`s. Click on Save. Close all windows of SQLite Database Browser. 4. Download & Install SQLite Compare. Open SQLite Compare. 5. File - Compare For example: Left file: msgstore-2012-06-01.1.plain.db Right file: msgstore-2012-06-07.1.plain.db (Make sure to have a backup of both files!) x Compare schema and data x Compare BLOB fields OK 6. Double Click on table "messages" in the result window OR left click on table "messages" and hit button "Edit selected difference..." 7. A new window opens, "Table messages" Click on blue button "R" (it`s located after "Refresh Comparison", "L" and before "≠", "=") 8. Now on the right side all messages are shown that aren`t included in the left file. Now you can select multiple messages (first left click on the first message to select, then scroll down to the last message to select and press SHIFT + left click on the last message to select). I noticed that you can`t handle too many messages at once as it produces an error. Just try. I succeeded with about 1000-1500 messages. Now click on the button with the arrow from right to left: ← Now the selected messages are copied from the right database to the left database. 9. Repeat the steps in (8.) until all the messages are copied from the right file to the left file. 10. Maybe you also need to to this for the table chat_list if there are some new chat contacts in the newer backup file. 11. Now the left file (e.g. msgstore-2012-06-01.1.plain.db) contains all the messages from the prior file msgstore-2012-06-01.1.plain.db and the newer file msgstore-2012-06-07.1.plain.db. (No saving necessary as the tool automatically applies the changes to the file after pressing the ← button).
Now i wonder if this would work and how do i do my first Step?
Sorry if this is a totally Wrong Thread im a Newbie
Thanks to everyone who read this!:good: <3
Btw if anyone knows how to merge 2 Whatsapp Backups easier just tell me ^^
Got interesting will try to find a way out..
Thankyou this never came in my mind.
Zeuscluts said:
Got interesting will try to find a way out..
Thankyou this never came in my mind.
Click to expand...
Click to collapse
Okay Thanks man

Categories

Resources