Release Ommpc V0.5.2


Coder_TimT

Member
Joined
Mar 17, 2006
Messages
288
I'm hoping Ommpc is ready for public consumption and so here it is. For those unfamiliar with it's gp2x roots, ommpc is an MPD client packaged with a standalone version of MPD. It will also just work as a client if you already have MPD installed and running. But don't be afraid if the whole MPD/MPD client thing sounds intimidating, beyond setting up paths when you first start you'll never have to deal with anything as ommpc will start up and kill mpd when needed. Here's a quick rundown of features...

1. Front end to mpd
  • Plays most major formats
  • Can be detached from player daemon to play in background.
  • Gapless playback
2. Music Library
  • Browse by Artist, Album, Genre, Filesystem
  • Filter(search) each view
3. Playlist oriented
  1. Everything plays in a playlist
  2. Create recursive playlist from Artist/Album/Genre/subdirectory
  3. Random playlist-picks 50 songs at random from the library
  4. Save and load playlists
  5. Simple playlist editing...add/remove/move
  6. Just a m3u playlist, so can be created elsewhere also
  7. Create "queue" inside of current playlist of songs to play next either from library or song currently in playlist.
4. Bookmark location in long audio file
5. Instant seeking
T
  • ime/speed sensitive FF/RW. As you FF/RW for a longer period of time the speed at which it FF/RW increases up to 32x.
  • Instant jump via click/touch of progress bar.
  • This is kind of a given compared to the desktop clients we have, but was a big deal in the gp2x version...
6. Random and Repeat modes
  • Picks random song from current playlist
  • Repeats current playlist
7. Touchscreen/game control/keyboard friendly
  • Fully configurable controls for keyboard and game controls
  • Multiple key bindings for each action...so play can be bound to 'p', Enter, and the 'B' button.
  • Onscreen player controls in now playing screen
  • Touch/Mouse control of volume/rpt/random/seek bar
  • Simple Touch/Mouse gestures for scrolling and back/forward while browsing library
8. Now playing screen with controls
  • Displays album art and song information
  • Controls available by touch/mouse
9. UTF-8 Internationalization.
  • Have French, Spanish, German, Russian, Korean, and Japanese(the later two as separate downloads since they are sizeable)
  • Other translations welcome.

In the archive, ready to be downloaded... Let me know things go for you here...

http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,133

I had planned to put up a little video tutorial, but the sound became garbled in encoding, so I will have to rerecord it. In the meantime, I thought I'd make a little quick hints section here.

  • On first run your should be prompted to enter paths to your music
  • Scroll down the list with the dpad and make selection with GAME_B, the 'p' key or the Enter key.
  • Keyboard entry is rudimentary. You'll have to backspace and then type slow...but it shoud suffice.
  • Once paths are entered, go down to save and then restart ommpc.
  • Escape will detach the client quickly if you don't want to go through the menu...
  • If everything went well, ommpc should start back up quickly again. If it takes a long time, or you are brought back to settings, or if you try to update the databsase and it crashes...double check paths.
  • If the paths were edited correctly and ommpc doesn't start correctly, then the only other thing that I have noticed is that for mpd clients to correctly find mpd you either have to be connected to wifi or have wifi fully disabled. If wifi is enabled, but you are not connected the client just times out looking for the local server.
  • You can now edit the conf file directly in the appdata folder if you would like.
  • Once your started up you need to goto settings->update db. Use the dpad to move around the menu and the same buttons as earlier to select...or use the touchscreen.
  • The 'm' key or the Start button is the menu shortcut. Figured I should mention it as it's used alot.
  • Updating can take a while depending on the amount of music. You can go to the library and will see a message that it is still updating...once finished the message goes away and you're ready to go.
  • On any screen you can hit the 'h' key to get a help screen that show the various key bindings available...or use the touchscreen. Obviously tap to select items and in lists, you can tap and hold for a context menu.
  • MPD is playlist driven, so you need to create a playlist to listen. You can goto Playlist->Random as the easiest way to do this. Or you can go to the Music Library and add songs.
  • In the music library, 'p' or Enter or GAME_B will add a song and play it immediately. 'a' or GAME_A will append the song to the playlist and let you add more.
  • You can also add entire "folders" as a new playlist or appended to the current playlist. A "folder" can be an Artist, Album, Genre...or actual folder on the filesystem.
  • Filter your Artist/Album/Genre list with wildcards. You can use '*' or '%' as the wildcard.
  • Once you have a playlist you can edit it slightly if you would like. You can move items around and delete items from the playlist. You can also quickly "queue" a song or songs to be play next. Songs can either be queued from within the playlist or from the library.
  • There is a bookmark feature allowing you to save your spot in a long file such as a podcast. If you leave the file playing when you exit the application, it will also pick back up when you restart, even if you fully exit and kill mpd. Just remember to leave the song playing...
  • Finally there is a now playing screen that shows some touchscreen player controls along with the album art. Tap the art or click 'i' to see the song id3 tag informatin.
  • I go ahead and downclock to 300 Mhz because there's no reason not to. You can also press and hold the 'm' button or Start button and it will lock the keys and downclock to 100Mhz. It also turns the brightness down to the minimum the brightness changing script will allow. The plan was to turn the screen off while still having the unit open for listening via speakers, but that will have to wait apparently. Or you can tweak the script if your feeling adventurous. Currently the setting screen items for clockspeed are what I had in place for the Wiz I believe, so that still needs to be fixed. You can manually edit the conf file if you want to change those values right now. You can actually go down to 70-80Mhz while locked and it does pretty good. You might get the occasional stutter. I haven't actually ran any numbers yet to see what battery life difference the underclocking might make...something else to do in the future...

Hopefully that can get you started. Also just FYI, at 500Mhz mpd running the background takes < 10% cpu. For comparison, Mplayer takes about the same amount and Exaile takes about 15%. Audacious actually take almost 50% of the cpu and with it's tiny buttons, I don't see how people are managing to use it. Deadbeef was also up there in the 30-40% range.

Again, let me know if you try it out and how it goes. I love to hear feedback...
 
Installed it and it looks really nice!
It's exactly what i was looking for in a music player.

Only thing i can't get working is the volume control...
It doesn't work on the touch screen and i can't find a key combination either.
Maybe it's a bug or maybe i'm just doing something wrong?


Found it (0 and 9)...
Is it normal you can't change the volume via the touchscreen?
 
it has problème with accentuated characters like "é". The french tanslation is not great ;)

I have run it one time and set the options and save, but can play anithing it say MDP not loaded or path not good (not really the message but the idea). After this i quite and launch again but the Pandora are in black screen and even le Pandora button can't do anything i have to reset (hold pandora button and power button) to have acces to xfce
 
Yod4z said:
it has problème with accentuated characters like "é". The french tanslation is not great ;)

I have run it one time and set the options and save, but can play anithing it say MDP not loaded or path not good (not really the message but the idea). After this i quite and launch again but the Pandora are in black screen and even le Pandora button can't do anything i have to reset (hold pandora button and power button) to have acces to xfce

It took me quite some time to figure out the correct path.
Check the errorfile in /pandora/appdata/ommpc/... to see why it doesn't work right ( "mpd already running", "path incorrect",...)
It's a really nice player once you get it working right :)
 
Last edited by a moderator:
Yod4z said:
it has problème with accentuated characters like "é". The french tanslation is not great ;)

I have run it one time and set the options and save, but can play anithing it say MDP not loaded or path not good (not really the message but the idea). After this i quite and launch again but the Pandora are in black screen and even le Pandora button can't do anything i have to reset (hold pandora button and power button) to have acces to xfce

If the paths were edited correctly and ommpc doesn't start correctly, then the only other thing that I have noticed is that for mpd clients to correctly find mpd you either have to be connected to wifi or have wifi fully disabled. If wifi is enabled, but you are not connected the client just times out looking for the local server. I need to have the client fail more gracefully in this case...

You can double check your paths in appdata/ommpc/ommpc.conf and play with your wifi settings and see if that makes a difference. Also, I've not seen it completely not load...it's just loading very very slowly.... If you're patient enough it should eventually come up and you can get it closed down....although it will be very unresponsive and take awhile. Of course you might be having a different problem and this might not be the case at all...

Also, in regards to accented characters. You can change the skin to something one that uses a normal font(which is anything besides the default skin) and they should be supported. The translations are user submitted, so I would love to have improvements submitted. I am painfully monolingual....


thomasvdp said:
It took me quite some time to figure out the correct path.
Check the errorfile in /pandora/appdata/ommpc/... to see why it doesn't work right ( "mpd already running", "path incorrect",...)
It's a really nice player once you get it working right :)

Could you outline for me what your difficulties were, so I might could try to improve the process? Thanks.


thomasvdp said:
...

Found it (0 and 9)...
Is it normal you can't change the volume via the touchscreen?

Yes, volume not available via touchscreen. A holdover from it's gp2x roots where there wasn't any room at all to try to make that work without popping up a larger volume control...and if your going to all that trouble it's easier just to hit the hardware keys...assuming you can find them. :)
 
Last edited by a moderator:
i found the launche probleme, the first time i laucnh it i have modified the music path with a directory not available on my SD card (music directory are not created on my Sd card). I created the music directory and now it launch

on top of the screen i can read "MDP not started, edit configuration and restart."
 
Yod4z said:
i found the launche probleme, the first time i laucnh it i have modified the music path with a directory not available on my SD card (music directory are not created on my Sd card). I created the music directory and now it launch

on top of the screen i can read "MDP not started, edit configuration and restart."

That message generally indicates there is still a path issue. Double check both the music path and the playlist path(generally just set it the same as the music path).
 
Last edited by a moderator:
ok, thanks now all working :D

How to up the sound level, it's too weak compared to mplayer or gmu
 
Yod4z said:
ok, thanks now all working :D

How to up the sound level, it's too weak compared to mplayer or gmu

0 and 9 for volume up and down...
 
Last edited by a moderator:
Coder_TimT said:
Could you outline for me what your difficulties were, so I might could try to improve the process? Thanks.

It just wouldn't work, i thought i had the correct path but it kept crashing.
After trying some different paths and a few restarts, it suddenly worked... ( so i probably did something wrong :) )
 
Last edited by a moderator:
Coder_TimT said:
Could you outline for me what your difficulties were, so I might could try to improve the process? Thanks.

It just wouldn't work, i thought i had the correct path but it kept crashing.
After trying some different paths and a few restarts, it suddenly worked... ( so i probably did something wrong :) )
 
Last edited by a moderator:
Found it... The MPD thing threw me at first, even though it is listed as a music player on the wiki.

Today, downclocking seems to have no beneficial effect. Overclocking seems to cost a bit of battery though.
I'm not sure the gui has the right balance of font size to button size, but I also would prefer that it did not assume I was running in a single task environment. (I never use minimenu...) Using xfce has the advantage that screen blanking should be automatic (once we figure out how to switch off the backlight as well as blanking the screen)

Setup worked perfectly though. Sadly, whist I thought it was working, it now segfaults when I select 'random playlist' and refuses to play anything...
Edit: something to do with state left over from a previous run, rebooting fixed it.
 
tsh said:
Found it... The MPD thing threw me at first, even though it is listed as a music player on the wiki.

Today, downclocking seems to have no beneficial effect. Overclocking seems to cost a bit of battery though.
I'm not sure the gui has the right balance of font size to button size, but I also would prefer that it did not assume I was running in a single task environment. (I never use minimenu...) Using xfce has the advantage that screen blanking should be automatic (once we figure out how to switch off the backlight as well as blanking the screen)

Setup worked perfectly though. Sadly, whist I thought it was working, it now segfaults when I select 'random playlist' and refuses to play anything...
Edit: something to do with state left over from a previous run, rebooting fixed it.


Was just about to reply and saw the edit. Not sure if this was your issue or not, but MPD has an issue with how the Pandora deals with localhost when wifi is not connected. Currently you have to either be connected or have wifi disabled. Again, your problem could have been completely unrelated, but that's always the first thing I think about when ommpc starts acting funny.

Are you downclocking before starting the player or from the ommpc options screen? Because I control the clock within ommpc and it's going to always be set to 300Mhz when you start the client up. Anyway, just thought I'd mention that. I've been meaning to do some battery tests myself, but haven't managed to get around to it...

Also, could you be more specific about the the font size/button size and what you would like to see in that regard?

I'm guessing "it assumes a single task environment" you mean the fact that it runs fullscreen and not windowed? This mostly stems from it's lineage as a gp2x player. I had started down the road of allowing it to be windowed, but in the end decided it wouldn't be worth the effort(for me at least). As an mpd client you can simply detach the client and leave mpd playing in the background(Escape does this quickly) and then start it back up if you need player control again.

I saw in your other post, you have a fairly substantial library, Let me know how it works for you and what you think could make things better.

Thanks.
 
Last edited by a moderator:
I have to admit to being slightly confused that escape made the payer go away, but the music carried on... So I'd expect a task-bar icon to bring back the player (or close the background engine).
I've not played with the GUI much (testing with lid closed, and it's still running...) but I felt that the icons at the top of the screen were a bit on the small side (for menu/playing) whilst the individual playlist entries were fairly large font wise. I'd expect to be able to play using finger touch (but appreciate this is a not fully optimised port).
Single task referred to both the full screen, and it's taking over the clock speed (which I've already changed to be 500/500). I think I agree that having a scalable screen size isn't useful, but a micro-sized window might be useful. I don't mind the front end being transient, but expect the illusion that I can switch it to the background. Not sure what the best approach is for this, since screen area is certainly at a premium.
More feedback:
I find the context of any screen difficult to grasp. Particularly when Game_B switches me from one screen to another (but there is no way back?) Seems that A and Y only work from the keyboard. I think I need to see more feedback on the state of the playlist as I add to it (a black text popup is not enough). Overloading PageUp/PageDn (X/Y) is a struggle to get my head around...
If the keys are adjustable, can that be done through the gui?
Having 'current playlist' and 'save' in different pages is odd (but understandable if there were space issues)
mp3 vbr can result in bad track time estimates (I saw this in a mainstream distro a couple of yers ago, one of the libs was bugged)
 
tsh said:
I've not played with the GUI much (testing with lid closed, and it's still running...) but I felt that the icons at the top of the screen were a bit on the small side (for menu/playing) whilst the individual playlist entries were fairly large font wise. I'd expect to be able to play using finger touch (but appreciate this is a not fully optimised port).

Yeah, I haven't optimized everything as well as it could be. I actually feel the list entries should be a bit larger to be really finger friendly, not necessarily font, but font + spacing. But I find I can select both list items, and the quick links at the top without much issues with my fingers. The real trouble spot(IMO) are the lists contained within popups. They're pretty much stylus only right now.

tsh said:
I have to admit to being slightly confused that escape made the payer go away, but the music carried on... So I'd expect a task-bar icon to bring back the player (or close the background engine).
...
Single task referred to both the full screen, and it's taking over the clock speed (which I've already changed to be 500/500). I think I agree that having a scalable screen size isn't useful, but a micro-sized window might be useful. I don't mind the front end being transient, but expect the illusion that I can switch it to the background. Not sure what the best approach is for this, since screen area is certainly at a premium.

Yes, I can see how that would be confusing if not familiar with MPD. Although having a music player completely in the background wasting no resources at all to display a UI it technically a plus for our system. But simply minimizing should be possible...it's something I will have to look into.

I also agree that a micro player with basic controls would be great. I should look, there might already be something for xfce...something else to add to the list. I wish there was a good standard desktop widget set for linux. Something not tied to KDE or GNOME....but alas. Anyway, I do need to look into getting some sort of miniplayer for the desktop available.

However, I have to disagree on the clock thing...at least until we get some battery life benchmarks that say the battery lasts just as long at 500 mhz as 100 mhz. If that truly is the case, then there's no real reason to every underclock the cpu, if it's not the case, then there's no reason to run ommpc at 500mhz...and IMHO no reason to have to manually set the cpu clock everytime I start ommpc. We'll have to agree to disagree on this point...and technically I should at the very least make the cpu clock control optional...
 
Last edited by a moderator:
Coder_TimT said:
However, I have to disagree on the clock thing...at least until we get some battery life benchmarks that say the battery lasts just as long at 500 mhz as 100 mhz. If that truly is the case, then there's no real reason to every underclock the cpu, if it's not the case, then there's no reason to run ommpc at 500mhz...and IMHO no reason to have to manually set the cpu clock everytime I start ommpc. We'll have to agree to disagree on this point...and technically I should at the very least make the cpu clock control optional...

Done... At least for 'idle'.
500 MHz 4h10m 81%->63% (~23 hours battery life)
50 MHz 4 hours, 62% -> 45% (same as above)

CPU being optional would help, consider this scenario... I am running at 750 MHz (compiling code) - and use ommpc to load an mpd since I've not got one built yet. It (well the OP script) asks me if I want to risk turning the clock back up!

Probably best would be to also have an on screen indicator.
 
Last edited by a moderator:
tsh said:
Coder_TimT said:
However, I have to disagree on the clock thing...at least until we get some battery life benchmarks that say the battery lasts just as long at 500 mhz as 100 mhz. If that truly is the case, then there's no real reason to every underclock the cpu, if it's not the case, then there's no reason to run ommpc at 500mhz...and IMHO no reason to have to manually set the cpu clock everytime I start ommpc. We'll have to agree to disagree on this point...and technically I should at the very least make the cpu clock control optional...

Done... At least for 'idle'.
500 MHz 4h10m 81%->63% (~23 hours battery life)
50 MHz 4 hours, 62% -> 45% (same as above)

CPU being optional would help, consider this scenario... I am running at 750 MHz (compiling code) - and use ommpc to load an mpd since I've not got one built yet. It (well the OP script) asks me if I want to risk turning the clock back up!

Probably best would be to also have an on screen indicator.

Don't have much of an argument against that use case. I have had too much of a single task mentality...guess that's just how I have been approaching the machine. Although in my overall defense on the second point, the warning dialog is a byproduct of the current permissions setup and the fact that the only way to change the clock is to use the provided script which displays the warning. :)

Add in those initial test numbers and I'm thinking I will probably drop the auto clock adjustment.
 
Last edited by a moderator:
Bosbeetle said:
Any chance for a audioscrobbler plug-in for this?
Scrobbling works by talking to the MPD, so it's more a client than a plugin. I've got mpdas working, but not sure what it needs library wise yet (to package it). I think Tim may be on the case though.

Add in those initial test numbers and I'm thinking I will probably drop the auto clock adjustment.
Although there is a good chance that things might change over the next 6 months. By change, I am thinking more of the kernel taking care of realising that the clocks can be adjusted based on recent activity, and maybe a 'suspend' notification to inform apps that there is no point refreshing the screen. Equally, an app might indicate it wants the CPU to remain awake (and prevent screen blanking)
 
Last edited by a moderator:
tsh said:
Bosbeetle said:
Any chance for a audioscrobbler plug-in for this?
Scrobbling works by talking to the MPD, so it's more a client than a plugin. I've got mpdas working, but not sure what it needs library wise yet (to package it). I think Tim may be on the case though.
Yes, the next version of ommpc will have scrobbling via mpdscribble. I could also package that up to be used by others using mpd with other clients...or mpdas should accomplish the same if packaged...
 
Last edited by a moderator:
Back
Top