Register Guidelines E-Books Search Today's Posts Mark Forums Read

Go Back   MobileRead Forums > E-Book Readers > Amazon Kindle > Kindle Developer's Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 02-11-2012, 10:26 AM   #1
Kuja
Member
Kuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watch
 
Posts: 11
Karma: 10638
Join Date: Feb 2012
Device: none
[App]K3MusicManager

K3MusicManager - A GUI for MPlayer [Version 2.3]


Installation:
A normal Amazon-KDK-Kindlet isn't allowed to access the whole file system or even execute files so you need to grant special permissions:
- SSH into your Kindle and edit the file /opt/amazon/ebook/security/external.policy
- Add the following 4 lines to the block called 'grant signedBy "Kindlet" {' (this should be somewhere at the top)
Code:
permission java.io.FilePermission "<<ALL FILES>>", "execute";
permission java.io.FilePermission "/tmp/mplayer.liste", "read, write";
permission java.io.FilePermission "/mnt/us/music/-", "read, write, delete";
permission java.io.FilePermission "/mnt/us/music", "read, write, delete";
- Restart your kindle
- Put "K3MusicManager.azw2" into the documents folder and "mplayer" into /mnt/us/system/ (both included in the .rar)
(- Install kaffeine, because sleep mode causes mplayer to stop after a few seconds)

PS: Don't worry about the developer keystore, I used one of the keystores that are combined in the merged developer keystore.


Usage:
Put your Streams into /mnt/us/developer/K3MusicManager/work/streams (should be created).

Shortcuts:
'Q', 'A', 'Z' -> alternate 5-way-controller
'P' -> view Playlist
'O' -> view Streams
'R' -> Records Menu
'B' -> previous song
'N' -> next song
'SPACE' -> pause playing
'S' -> stop playing
'BACK' -> view parent folder or last folder
'MENU' -> view File-Menu
'Aa (Text-Option)' -> view Options-Menu



Known Bugs and Problems:
- The "Manually" option with "Kill MPlayer" was made for those who want to continue listening after returning to the home screen. For the moment this will cause an Error-Message, the kindlet just doesn't want to quit without destroying everything that was created before. But you should click "CLOSE" in the message dialogue within 5 seconds or the kindle restarts!!! The error will be written to /mnt/us/developer/K3MusicManager/work/crash . You should stop MPlayer on your own before launching the kindlet again ("killall -9 mplayer" for example). I don't think this will damage your kindle somehow but if you want to be sure, please use the "On Quit"-Option only!


I used a mod of the Kindle Widget Toolkit of apetresc (link) and retroweaver (link). I'm totally unfamiliar with all the judicial stuff, so I don't know if there is a need for a license or so. Could you please feedback, whether there is, or not?

Big Thanks to ArikFunke who helped me with mplayer and general linux questions.


Feel free to give feedback in this thread !!! (questions/bugs/wishes)
Attached Files
File Type: rar K3MusicManager_2_3.rar (3.11 MB, 985 views)

Last edited by Kuja; 03-31-2012 at 10:35 AM. Reason: Update to Version 2.3
Kuja is offline   Reply With Quote
Old 02-12-2012, 10:36 PM   #2
fbdev
fbdev
fbdev really knows where his or her towel isfbdev really knows where his or her towel isfbdev really knows where his or her towel isfbdev really knows where his or her towel isfbdev really knows where his or her towel isfbdev really knows where his or her towel isfbdev really knows where his or her towel isfbdev really knows where his or her towel isfbdev really knows where his or her towel isfbdev really knows where his or her towel isfbdev really knows where his or her towel is
 
Posts: 107
Karma: 70177
Join Date: Jul 2011
Device: kindle
you might want to try kite and kinamp.

sometimes threads get buried in this forum. =]
fbdev is offline   Reply With Quote
Old 02-13-2012, 08:59 AM   #3
Kuja
Member
Kuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watch
 
Posts: 11
Karma: 10638
Join Date: Feb 2012
Device: none
At first: thank you for beeing the first one, who gives feedback
(until now the forum looked a bit dead to me )

Kinamp is a great idea, i'll use it in the next version.
Kite could be used in two ways:
writing the GUI as a Shellscript (would be very complex and only possible, if i knew how to access the framework within a shellscript... I'll have a look at your fbprint and fbout )
or for launching kinamp/mplayer. This would make it a bit unflexible, because you need to return to the home screen everytime... As a shortcut, you can start playing music whereever you are (it still plays your last choice).

Another idea: I think, it's possible to link from one Kindlet to another one, so in combination with Kite it MIGHT be possbible to link into a shellscript?! I'll research that

Edit:
Unfortunately I can't find a way to involve kite in a useful way...
Kinamp has a weird repaint behaviour, but apart from that it's perfect for the gui.

Last edited by Kuja; 02-13-2012 at 11:01 AM.
Kuja is offline   Reply With Quote
Old 02-22-2012, 04:16 PM   #4
shv0k
Junior Member
shv0k began at the beginning.
 
Posts: 3
Karma: 10
Join Date: Feb 2012
Device: Kindle
An error:
The device is not registered as a Test Kindle to run this title. Please ask the developer to add this device to the list of registered Test Kindles.

Last edited by shv0k; 02-22-2012 at 04:26 PM.
shv0k is offline   Reply With Quote
Old 02-22-2012, 08:45 PM   #5
inameiname
Groupie
inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.
 
Posts: 159
Karma: 20390
Join Date: Feb 2009
Device: none
So far so good. It seems to work, but I do have a few comments/suggestions.

1. Since you have to press: (Shift > M > M) every time after pressing the center scroll button to select which to play first, why not add that command in the azw2 itself, so it will automatically not only select, but play? Since (Shift > M > M) is just a command, ("/mnt/us/mplayer/K3MusicManager.sh"), I would think that would be possible. That way it would make it much better to use.

2. Also, to note, you will have to press (Shift > Q > Q) again after every restart, to mount the /mnt/us/music folder again.

3. Finally, as I have 58 streams listed on my 'streams' file, is there a way to have pages for it as well, just as with the normal music? I ask this because most of my streams are not visible below the bottom of the screen. Also, for those interested, I attached my streams that work with the Kindle. Just remove the '.txt' part of the file and put in the appropriate place.
Attached Files
File Type: txt streams.txt (3.2 KB, 935 views)

Last edited by inameiname; 02-23-2012 at 06:04 AM.
inameiname is offline   Reply With Quote
Old 02-23-2012, 06:05 AM   #6
inameiname
Groupie
inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.
 
Posts: 159
Karma: 20390
Join Date: Feb 2009
Device: none
Quote:
Originally Posted by shv0k View Post
An error:
The device is not registered as a Test Kindle to run this title. Please ask the developer to add this device to the list of registered Test Kindles.
Sounds like you don't have the proper keystore keys required to run this Kindlet. Did you install those as according to the directions above?
inameiname is offline   Reply With Quote
Old 02-26-2012, 08:47 AM   #7
shv0k
Junior Member
shv0k began at the beginning.
 
Posts: 3
Karma: 10
Join Date: Feb 2012
Device: Kindle
Quote:
Originally Posted by inameiname View Post
Sounds like you don't have the proper keystore keys required to run this Kindlet. Did you install those as according to the directions above?
I may not understand your question, because I am from Belarus and my knowledge of English is far from ideal. Nevertheless, the answer, set all as required by the instruction.
shv0k is offline   Reply With Quote
Old 02-26-2012, 09:20 AM   #8
shv0k
Junior Member
shv0k began at the beginning.
 
Posts: 3
Karma: 10
Join Date: Feb 2012
Device: Kindle
P.S: developer \ K3MusicManager \ work \ music - this folder is not created. So it should be?
shv0k is offline   Reply With Quote
Old 02-26-2012, 04:02 PM   #9
Kuja
Member
Kuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watch
 
Posts: 11
Karma: 10638
Join Date: Feb 2012
Device: none
Sorry for my late answer, i'm a bit busy at the moment.

@shv0k:
1. As inameiname wrote, you need to install PoP's merged-developer-keystore (link in 1. post) to play the kindlet as a "real" one
2. I don't understand the problem, the folder (\mnt\us\)developer\K3MusicManager\work\music should be created if you start the kindlet...

@inameiname:
1. I also got this idea, but after some research to me it looks like amazon avoided this in their exaggerated security-limitations. Of course you can create KeyEvents but i found no way to send them "out of the kindlet" (i.e. java class Robot isn't compiled at the kindle and every try to bring it there manually failed until now).
2. Oh, i totally forgot about that, and hey, there we have a use for kite
3. To tell the truth, i was just lazy AND i didn't expect anyone to have such a great list of streams oO Thanks, i will use a few of them on my own

UPDATE 1.4
-swap pages with the physical buttons "next page" and "previous page"
-use Q-A-Z instead of 5-Way-Controller
-kinamp support
-paging support for streams
-auto-mounting of /mnt/us/music/ to /mnt/us/developer/K3MusicManager/work/music/ via kite
-some other little bugfixes

EDIT:
To update, install the missing programs and replace the new files (as long as you replace the kindlet with the new one directly the mount issue won't take effect).

Last edited by Kuja; 02-26-2012 at 04:06 PM.
Kuja is offline   Reply With Quote
Old 02-27-2012, 04:44 AM   #10
inameiname
Groupie
inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.inameiname can self-interpret dreams as they happen.
 
Posts: 159
Karma: 20390
Join Date: Feb 2009
Device: none
Quote:
Originally Posted by Kuja View Post
Sorry for my late answer, i'm a bit busy at the moment.

@inameiname:
1. I also got this idea, but after some research to me it looks like amazon avoided this in their exaggerated security-limitations. Of course you can create KeyEvents but i found no way to send them "out of the kindlet" (i.e. java class Robot isn't compiled at the kindle and every try to bring it there manually failed until now).
2. Oh, i totally forgot about that, and hey, there we have a use for kite
3. To tell the truth, i was just lazy AND i didn't expect anyone to have such a great list of streams oO Thanks, i will use a few of them on my own
1. Shame that that isn't easily possible. I can see where a dilemma could lie in sending out commands from a Kindlet to another program on the Kindle, such as mplayer. I just wouldn't know how to go about this. I thought about maybe using Kite and, much like your automount.sh script you use which gets run on boot via the 'onboot' folder, you could have a script made after each selection of a particular stream/music file which would essentially just have two lines, using cat: "#!/bin/sh" and "/mnt/us/mplayer/K3MusicManager_mplayer.sh" which would go into the 'ondrop' folder of Kite, and would ideally then pass the file to mplayer/kinamp, but again, that would require you to perform commands to run something outside of the kindlet as well so... (not sure why I shared that idea as it is pretty dumb. :P)

One question though: how can a terminal kindlet give and run commands through it that pass to outside apps and such? Somehow they can do it, so why couldn't yours?

2. No worries. Kite could work for that.
3. That's cool. Glad to see you updated things and added that bit. And you're welcome for the streams. I actually have a list of 4000 streams for my Linux machine for use with various music apps on that system that I use, but I noticed when trying them out on the Kindle many don't work well through mplayer, but those particular 58 did.


Anyway, I will have to test out your lasted version. Thanks!

Last edited by inameiname; 02-27-2012 at 05:06 AM.
inameiname is offline   Reply With Quote
Old 03-05-2012, 06:19 AM   #11
arikfunke
Enthusiast
arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.
 
Posts: 36
Karma: 41848
Join Date: Mar 2011
Device: iRex
Problem interacting with kinamp

Hi,

thank to Kuja for writing this!

I got it to work with kinamp but only partially:

1. When I only go into a music folder (e.g. music/abc/def) but do not click on any of the titles, nothing is being played on starting the launchpad script. This is despite /tmp/mplayer.playlist seeming to have been populated correctly.

2. When I do click on a title and start the launchpad script, I get the same playlist with all the titles but the clicked title is added at the beginning. Oddly enough it plays the "clicked" title from the playlist but then stops playing.

Any idea why this is happening?

Many thanks

---
EDIT:
It appears this is entirely a kinamp problem. When starting mplayer with the playlist everything works fine. Moving this question to the kinamp thread.

Last edited by arikfunke; 03-05-2012 at 06:55 AM. Reason: Found this info
arikfunke is offline   Reply With Quote
Old 03-05-2012, 04:22 PM   #12
Kuja
Member
Kuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watch
 
Posts: 11
Karma: 10638
Join Date: Feb 2012
Device: none
Hi arikfunke,
this is strange, i also had bugs with kinamp before, but not like this.
Does this only happen in shuffle-mode? -> You might not have the shuf-file in /mnt/us/system/ (using mplayer it uses the shuf-file from /mnt/us/mplayer/, which is automaticalle installed with mplayer).

Some ideas for the next Version:
1. I think i found out how to access the whole filesystem and execute files (theoretically!). It seems, that the file /opt/amazon/ebook/security/external.policy handles, what a kindlet is able to do (read here and here). Some new permissions should make it possible to start mplayer/kinamp within the kindlet and make launchpad/kite unnecessary.
2. I'm using dsmid's dictaphone and sometimes i wish to delete/rename failed records.
3. Another nice thing was the possibility to make a playlist with the kindlet itself, you could collect files from different folders into a temporary playlist and play them (like a folder).

I can't promise anything in the near future (still busy...), but these things aren't too difficult and definitely will be added somewhen.
Kuja is offline   Reply With Quote
Old 03-05-2012, 04:31 PM   #13
ixtab
(offline)
ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.ixtab ought to be getting tired of karma fortunes by now.
 
ixtab's Avatar
 
Posts: 2,907
Karma: 6736092
Join Date: Dec 2011
Device: K3, K4, K5, KPW, KPW2
Just FYI: there is a "Kindlet jailbreak" available, which provides Kindlets with the ability to access all classes (not just the ones whitelisted by amazon), and also allows to read/write files anywhere on the device, use Runtime.exec() etc.

I'm using exactly this for my KT font hack, but I initially developed it for the K3 (so I know it's also working on the K3).

Samples and source code are here: https://www.mobileread.com/forums/sho...d.php?t=163358

Maybe it could be useful

PS: On the K3 the classpath is alphabetically ordered, so you don't even need to replace the original json_simple*.jar. You could simply put the file into /opt/amazon/ebook/lib/ with a name that is "smaller" than json_simple, for instance "jailbreak-backend.jar", or "AAA.jar", or... you get the idea.

Last edited by ixtab; 03-05-2012 at 04:49 PM.
ixtab is offline   Reply With Quote
Old 03-06-2012, 12:03 PM   #14
arikfunke
Enthusiast
arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.arikfunke is an enigma wrapped up in a mystery.
 
Posts: 36
Karma: 41848
Join Date: Mar 2011
Device: iRex
Quote:
Originally Posted by Kuja View Post
1. I think i found out how to access the whole filesystem and execute files (theoretically!). It seems, that the file /opt/amazon/ebook/security/external.policy handles, what a kindlet is able to do (read here and here). Some new permissions should make it possible to start mplayer/kinamp within the kindlet and make launchpad/kite unnecessary.
2. I'm using dsmid's dictaphone and sometimes i wish to delete/rename failed records.
3. Another nice thing was the possibility to make a playlist with the kindlet itself, you could collect files from different folders into a temporary playlist and play them (like a folder).

I can't promise anything in the near future (still busy...), but these things aren't too difficult and definitely will be added somewhen.
Hi Kuja,

after a bit more investigating I am 100% sure that kamp alone is the problem: the playlist file is generated ok and if I call mplayer with is it works just fine. kamp however crashes - but only about 90% of the time. The last 10% of the time is works. --- Really odd.

Regarding your announcement for future features: that sounds really great. I am particularly looking forward to 3. Once that is done one could extend it even further with sorting using Artists, Genres, etc.

It should be possible to use mplayer to scan the music folder, extract all the necessary information into a small sqlite database to read from your kindlet. I would be happy to offer help with this.
arikfunke is offline   Reply With Quote
Old 03-07-2012, 05:00 PM   #15
Kuja
Member
Kuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watchKuja is clearly one to watch
 
Posts: 11
Karma: 10638
Join Date: Feb 2012
Device: none
Hi again,
@ixtab: Wow, this was exactly what I was searching for since a long time - until I found out what I wrote in my last post... And at the moment I don't understand it completely, yet (when I use SuicidalKindlet instead of AbstractKindlet class somehow it doesn't find my mainclass anymore, for example). I will continue exploring it, but for the moment I use the permissions of /opt/amazon/ebook/security/external.policy first. Thank you very much, anyway!

@arikfunke: It's a pity to hear that, so it looks like we need to wait for fbdev's next update...
Kuja is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
FT Web-based app more popular than app sold in Apple store stonetools News 6 09-23-2011 03:29 PM
Android Market app gets major overhaul and adds Books and Movies purchase to app =X= News 11 07-14-2011 11:50 PM
Android app for reading web articles with Kindle (app and device) fivefilters Android Devices 0 07-02-2011 09:29 PM
kindle app? is it possible to design a app to full support PDF? lili1989 Amazon Kindle 12 02-05-2010 05:29 PM


All times are GMT -4. The time now is 12:12 PM.


MobileRead.com is a privately owned, operated and funded community.