Android mod player
category: music [glöplog]
http://swimsuitboys.com/droidsound/
Thats nice! Gonna need this when upgrading my phone to android!
Does it have hively support? ;-)
Very cool!
UADE-plugin is near the top of the TODO... but for native AHX, which hively-player/plugins source is best to use?
Very very awesome. I had an earlier build of droidsound and even back then it was awesome. I see that you've upgraded the UI since then. Could you also implement remote support (you have to somehow override the controls for the default system media player)
Android can broadcast a "Media Button" which I support - if you have a standard headset you should be able to pause/unpause with a click and go to next song with a squeeze.
Using the standard API, no other media buttons can be read when the screen is off and/or the player is not in the foreground. I know that HTC has more buttons on their hedaset, I guess their phones send custom broadcasts for that - if you want me to support that you need to send me a system log dump showing how the keypresses are handled... or send me a phone & a headset :)
Using the standard API, no other media buttons can be read when the screen is off and/or the player is not in the foreground. I know that HTC has more buttons on their hedaset, I guess their phones send custom broadcasts for that - if you want me to support that you need to send me a system log dump showing how the keypresses are handled... or send me a phone & a headset :)
Actually it "kinda" works now. If i press play/pause it behaves like it should. If i short press next it also gets paused/played. If press it about 2 seconds it goes to the next one. If i press really long the speech gets enabled/disabled.
I can give you the keycodes that come out of the kernel, but for the android intents you're gonna have to give me some guidance.
I can give you the keycodes that come out of the kernel, but for the android intents you're gonna have to give me some guidance.
Oh, and i don't have the 3-button remote that's connected to the 3,5mm jack. I have a magic, which only has a extUSB, but there's a remote for that one too, it's this one
http://htcpedia.com/htc-rc-e100-remote-stereo-headset/reviews/accessories.html
http://htcpedia.com/htc-rc-e100-remote-stereo-headset/reviews/accessories.html
Oh, and one more thing. Could you make it a seeting or something, to be able to "skip" between subsongs, instead of next file? I have a bunch of NES music that i enjoy, pressing next on the remote takes me to the next file :/
You only need to press half-a-second to go to the next, but other than that, yes, it's the only way to control the player that is officially supported by Android.
Keycodes wont help, I'll get back to you on how to check for intents but basically you have to run logcat using usb debugging and look for lines concerning Intent resolution...
Keycodes wont help, I'll get back to you on how to check for intents but basically you have to run logcat using usb debugging and look for lines concerning Intent resolution...
Does the SID player have Antti Lankila's filter distortion?
Quote:
Oh, and one more thing. Could you make it a seeting or something, to be able to "skip" between subsongs, instead of next file? I have a bunch of NES music that i enjoy, pressing next on the remote takes me to the next file :/
Sure, I can add a setting. In the meantime you can just build a playlist with the subsongs in, and it should work (click the Plus to add current or all subtunes to playlist).
Quote:
Does the SID player have Antti Lankila's filter distortion?
No, the sidplugin is standard libsidplay2/resid. I supsect that fast phones with FPU (like my Samsung Galaxy S) could handle Resid-FP, so I plan to try that in the future.
That's fine, i already did my share of debugging ;)
http://code.google.com/p/cyanogenmod/issues/detail?id=1376&can=1&q=e100&colspec=ID%20Type%20Status%20Priority%20Version%20Model%20Owner%20Summary%20Stars%20Modified
Right now your app is only posting "media key". When i was fixing that driver, i noticed these keycodes http://github.com/CyanogenMod/cm-kernel/blob/android-msm-2.6.34/arch/arm/mach-msm/htc_headset.c
Alternatively, maybe you could kang some code from here
http://github.com/eliotstocker/android_packages_apps_Music/blob/froyo/src/com/android/music/MediaButtonIntentReceiver.java
http://code.google.com/p/cyanogenmod/issues/detail?id=1376&can=1&q=e100&colspec=ID%20Type%20Status%20Priority%20Version%20Model%20Owner%20Summary%20Stars%20Modified
Right now your app is only posting "media key". When i was fixing that driver, i noticed these keycodes http://github.com/CyanogenMod/cm-kernel/blob/android-msm-2.6.34/arch/arm/mach-msm/htc_headset.c
Alternatively, maybe you could kang some code from here
http://github.com/eliotstocker/android_packages_apps_Music/blob/froyo/src/com/android/music/MediaButtonIntentReceiver.java
Quote:
http://github.com/eliotstocker/android_packages_apps_Music/blob/froyo/src/com/an droid/music/MediaButtonIntentReceiver.java
Ah great - I already read the KeyEvent from the broadcast, its a one minute fix to support the other buttons then :) Will fix tomorrow.
For hively/ahx support, use the 1.6 HivelyTracker replayer. Just grab one of the players with source from from here. If you have any questions on how to use it, just ask.
\o/ Android FTW
(btw, is there any chance you could do one for Palm WebOS? Pleeeeeease? The SDK from palm has an emulator and i can test on real hw for you).
very cool !
Quote:
(btw, is there any chance you could do one for Palm WebOS? Pleeeeeease? The SDK from palm has an emulator and i can test on real hw for you).
Hehe, no way, sorry :)
Code:
V/SongDatabase( 1322): Comparing DB to FS
V/SongDatabase( 1322): !! 'asma33.zip' not in database, ADDING
V/SongDatabase( 1322): /sdcard/MODS/asma33.zip isfile true
V/SongDatabase( 1322): Found zipfile (/sdcard/MODS/asma33.zip)
V/SongDatabase( 1322): TRANSATION SUCCESSFUL
V/SongDatabase( 1322): zipfiles (1)
V/SongDatabase( 1322): PATH /sdcard/MODS/asma33.zip 0
I/ActivityManager( 92): Displayed activity com.ssb.droidsound/.PlayerActivity: 2802 ms (total 2802 ms)
V/PlayerActivity( 1322): Scan update!
V/SongDatabase( 1322): Scanning /sdcard/MODS/asma33.zip
V/SongDatabase( 1322): OPEN
D/dalvikvm( 1322): Trying to load lib /data/data/com.ssb.droidsound/lib/libnativezipfile.so 0x44f5fff8
D/dalvikvm( 1322): Added shared lib /data/data/com.ssb.droidsound/lib/libnativezipfile.so 0x44f5fff8
D/dalvikvm( 1322): No JNI_OnLoad found in /data/data/com.ssb.droidsound/lib/libnativezipfile.so 0x44f5fff8
D/dalvikvm( 1322): +++ not scanning '/system/lib/libwebcore.so' for 'openZipFile' (wrong CL)
D/dalvikvm( 1322): +++ not scanning '/system/lib/libexif.so' for 'openZipFile' (wrong CL)
D/dalvikvm( 1322): +++ not scanning '/system/lib/libmedia_jni.so' for 'openZipFile' (wrong CL)
V/ZIP ( 1322): FILE OPENED
V/ZIP ( 1322): SCANNING
V/ZIP ( 1322): Trying to read CDIR from offset 5074464
V/ZIP ( 1322): Reading 1 zipentries
V/ZIP ( 1322): DONE
V/ZIP ( 1322): DIR FOUND
V/ZIP ( 1322): ALLOCING ENTRIES
V/ZIP ( 1322): FILLING ENTRIES
V/ZIP ( 1322): CHECK TORRENTZIP
V/ZIP ( 1322): DONE
V/TinySidPlugin( 1322): ZIPFile 0x13b080
V/SongDatabase( 1322): ENTRY
V/SongDatabase( 1322): ENUM
D/dalvikvm( 1322): +++ not scanning '/system/lib/libwebcore.so' for 'getCount' (wrong CL)
D/dalvikvm( 1322): +++ not scanning '/system/lib/libexif.so' for 'getCount' (wrong CL)
D/dalvikvm( 1322): +++ not scanning '/system/lib/libmedia_jni.so' for 'getCount' (wrong CL)
V/SongDatabase( 1322): Scanning 1 zip entries
D/dalvikvm( 1322): +++ not scanning '/system/lib/libwebcore.so' for 'getEntry' (wrong CL)
D/dalvikvm( 1322): +++ not scanning '/system/lib/libexif.so' for 'getEntry' (wrong CL)
D/dalvikvm( 1322): +++ not scanning '/system/lib/libmedia_jni.so' for 'getEntry' (wrong CL)
D/dalvikvm( 1322): +++ not scanning '/system/lib/libwebcore.so' for 'getSize' (wrong CL)
D/dalvikvm( 1322): +++ not scanning '/system/lib/libexif.so' for 'getSize' (wrong CL)
D/dalvikvm( 1322): +++ not scanning '/system/lib/libmedia_jni.so' for 'getSize' (wrong CL)
W/dalvikvm-heap( 1322): dvmMalloc(16989740/0x01033e2c): someone's allocating a huge buffer
I/dalvikvm-heap( 1322): Forcing collection of SoftReferences for 16989740-byte allocation
D/dalvikvm( 1322): GC freed 5322 objects / 333048 bytes in 107ms
E/dalvikvm-heap( 1322): Out of memory on a 16989740-byte allocation.
I/dalvikvm( 1322): "Thread-8" prio=5 tid=15 RUNNABLE
I/dalvikvm( 1322): | group="main" sCount=0 dsCount=0 s=N obj=0x44f6f5b0 self=0x16da58
I/dalvikvm( 1322): | sysTid=1341 nice=0 sched=0/0 cgrp=default handle=1501904
I/dalvikvm( 1322): at com.ssb.droidsound.utils.NativeZipFile.getInputStream(NativeZipFile.java:~103)
I/dalvikvm( 1322): at com.ssb.droidsound.SongDatabase.scanZip(SongDatabase.java:500)
I/dalvikvm( 1322): at com.ssb.droidsound.SongDatabase.scanFiles(SongDatabase.java:785)
I/dalvikvm( 1322): at com.ssb.droidsound.SongDatabase.doScan(SongDatabase.java:1053)
I/dalvikvm( 1322): at com.ssb.droidsound.SongDatabase.access$2(SongDatabase.java:947)
I/dalvikvm( 1322): at com.ssb.droidsound.SongDatabase$1.handleMessage(SongDatabase.java:286)
I/dalvikvm( 1322): at android.os.Handler.dispatchMessage(Handler.java:99)
I/dalvikvm( 1322): at android.os.Looper.loop(Looper.java:123)
I/dalvikvm( 1322): at com.ssb.droidsound.SongDatabase.run(SongDatabase.java:324)
I/dalvikvm( 1322): at java.lang.Thread.run(Thread.java:1102)
I/dalvikvm( 1322):
E/dalvikvm( 1322): Out of memory: Heap Size=3975KB, Allocated=2898KB, Bitmap Size=1110KB
W/dalvikvm( 1322): threadid=15: thread exiting with uncaught exception (group=0x4001e380)
E/AndroidRuntime( 1322): Uncaught handler: thread Thread-8 exiting due to uncaught exception
E/AndroidRuntime( 1322): java.lang.OutOfMemoryError
E/AndroidRuntime( 1322): at com.ssb.droidsound.utils.NativeZipFile.getInputStream(NativeZipFile.java:103)
E/AndroidRuntime( 1322): at com.ssb.droidsound.SongDatabase.scanZip(SongDatabase.java:500)
E/AndroidRuntime( 1322): at com.ssb.droidsound.SongDatabase.scanFiles(SongDatabase.java:785)
E/AndroidRuntime( 1322): at com.ssb.droidsound.SongDatabase.doScan(SongDatabase.java:1053)
E/AndroidRuntime( 1322): at com.ssb.droidsound.SongDatabase.access$2(SongDatabase.java:947)
E/AndroidRuntime( 1322): at com.ssb.droidsound.SongDatabase$1.handleMessage(SongDatabase.java:286)
E/AndroidRuntime( 1322): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 1322): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 1322): at com.ssb.droidsound.SongDatabase.run(SongDatabase.java:324)
E/AndroidRuntime( 1322): at java.lang.Thread.run(Thread.java:1102)
I/Process ( 92): Sending signal. PID: 1322 SIG: 3
I/dalvikvm( 1322): threadid=7: reacting to signal 3
I/dalvikvm( 1322): Wrote stack trace to '/data/anr/traces.txt'
When trying to add the ASMA zip.
It's a double-zipped file and the second file 17MB in size - not that strange really :)
Unpack the "outer" zip on a PC first.
Also, I've never tried SAP-files and I don't think I recognize the extension so you have to set "Unknown Extensions" in the settings and keep your finger crossed :) I'll fix that tomorrow also...
Unpack the "outer" zip on a PC first.
Also, I've never tried SAP-files and I don't think I recognize the extension so you have to set "Unknown Extensions" in the settings and keep your finger crossed :) I'll fix that tomorrow also...
Ah nevermind, it seems ASMA compresses a zip into a second zip, for some bizzare reason. Uncompressing it once makes it work :)