Skip to main content

Posts

0.11 w/ improved navigation and file browser

I am finally happy with the current build so I am cutting another release.   The first version of the file browser is complete.  It will only let you navigate paths you have added to the scanner.  I also added an about dialog to show some extra information.   I also recorded a video of the app on my archos. The only issues i've ran into so far is the songs view can get extremely laggy when your collection is like 50k songs.  I will do some work in the future to make that view a bit more responsive for large collections.  Also on my thunderbolt I sometimes have to touch the buttons in the quicknav twice before it registers the press.  Otherwise I am not aware of any other bugs.  Please post if you find any issues. Download 0.11

0.11 Preview - Improved UI / Navigation

As I added more things to my player, I began to notice how cumbersome navigation was becoming.  I decided to rework the user interface to make switching between views to be much easier.  What I did was add a quick navigation bar with icons for each different view.  Its location can be set in the preferences (TOP, BOTTOM, LEFT, RIGHT).  I also change the title to show which view you are currently in as well Edit: woops I changed the title from GoneMAD Music Player to Music Library on accident Here are some screen shots: The icons were mostly randomly picked from the built in ones.  They are just placeholders for now.

Android, sqlite, and foreign keys

I think its about time to do a post actually about android development.  One thing I discovered while setting up the database for gmml was that the older versions of the android os use a fairly outdated version of sqlite which do not implement foreign keys.  It will parse your statements fine but not actually do anything with the foreign keys you declare. Sqlite version for each OS version /*         *   Android 1.5 (Cupcake): 3.5.9      *  Android 1.6 (Donut): 3.5.9      *  Android 2.1 (Eclair): 3.5.9      *  Android 2.2 (Froyo): 3.6.22 - First to support foreign keys      *  Android 2.3 (Gingerbread): 3.6.22      *  Android 3.0 (Honeycomb): 3.7.4     */ Why is this important to know you may ask?  Well in version 0.10 of gmmp I experienced crashing on my thunderbolt (2.2) when tryi...

Using the scanner

Access the Scanner through Menu -> Preferences -> Scanner Setting up the scanner is fairly straightforward.  You first want to add the location(s) of your music.  Press the Edit Scan Paths to bring up the popup in the image above.  By default /mnt/sdcard and /mnt/sdcard/Music will be added to the list of paths/folders.  To remove a path from the list, simply click the list item and press the remove button.  To add a new path you can either type it in manually in the edit box, or press the browse storage button to bring up a list of paths found on the device.  Once selected press the add button to add it to the list.  Click save to save all the changes. Once the scan paths are setup, you can add specific paths to ignore the same way.  Press the 'Edit Ignore Paths' to tell the scanner what paths to skip over. Scan Options Delete database before scan :  Wipes the entire database before running a scan.  This option is not...

0.10 with tag reader, file scanner, and file browser

It's late so I will keep this somewhat brief.  I have added a decent UI to the file scanner so everyone should be able to get their music into gmmp.  The first thing you should do is go in and edit the scan paths (there is a button in the scan page) and be sure its only pointing to places with music.  I accidentally tried a scan just on /sdcard/ and something caused the scanner to crash.  The paths set there are used for the file browser as well. The file browser itself is not complete but it "works".  I need to sort the lists and finish populating all the information in the list.  Be sure to run a scan once before attempting to play a file from the browser, otherwise it will probably crash or give unexpected results. One last neat little feature I threw in is to play a random song on playlist completion.  If enabled when your active playlist is finished, it will start playing a random song.. so the music never stops.  Enable that through the ...

Working file scanner

So after getting taglib up and running I was able to implement a file scanner to scan your sdcard/hd/whatever to bring in music into gmmp.  The UI is super simple right now.. mainly because its 3:30 in the morning.  Under the hood the scanner can accept multiple directories to scan, specific folders to ignore, and a flag to ignore folders with a .nomedia file in it.  I also added an option whether the nowplaying screen gets the song info from the actual file or from the database.  I plan on putting something in tomorrow that lets you choose what information is actually scanned and stored from the file, so for those who want to take the "minimum data stored" route.. you will be able to just store filenames and the rest can be scanned from the file when its being played.

My battle with the NDK

My next step in development is to code a file scanner to eliminate the dependency completely on the built in media store in order to use gmmp.  There are some tag libraries written for java I believe but from day 1 intended to use taglib . It supports many file types "Currently it supports both ID3v1 and ID3v2 for MP3 files, Ogg Vorbis comments and ID3 tags and Vorbis comments in FLAC, MPC, Speex, WavPack TrueAudio, WAV, AIFF, MP4 and ASF files." and is supposed to be pretty fast. In order to use taglib, I would have to figure out how to compile C/C++ code using the Android NDK.  Let me tell you this was an adventure.  Taglib is setup to build with cmake so after googling around I found some others who were able to get their projects to build using cmake.  I followed all the tutorials/instructions using cygwin and ubuntu and got no where even close.  Cmake chokes when testing the android c compiler so I could not even make the makefiles.  I tried to trick...