Simple audio player needed
Thanks mcewanw. Good to know it's not just me...
Also - just discovered a "bug" with PeasyMP3 - while playing through my MP3s it suddenly started to play my flv files as well (which may not always be appropriate... )
Just a heads up in case there's kiddies in the room...
EDIT: Be nice to have two versions: PeasyMP3 (PeasyAudio??) for audio only, and PeasyMedia for all files.
EDIT2: Would it be difficult to make PeasyMP3 work recursively? (My music directory contains maybe 20 individual "loose" songs and the rest are inside subdirectories labelled with the artists name or album name)
Also - just discovered a "bug" with PeasyMP3 - while playing through my MP3s it suddenly started to play my flv files as well (which may not always be appropriate... )
Just a heads up in case there's kiddies in the room...
EDIT: Be nice to have two versions: PeasyMP3 (PeasyAudio??) for audio only, and PeasyMedia for all files.
EDIT2: Would it be difficult to make PeasyMP3 work recursively? (My music directory contains maybe 20 individual "loose" songs and the rest are inside subdirectories labelled with the artists name or album name)
Last edited by greengeek on Fri 14 Jun 2013, 20:53, edited 1 time in total.
You can do this yourself. Open /usr/sbin/peasymp3 and look at Line 11greengeek wrote:EDIT: Be nice to have two versions: PeasyMP3 (PeasyAudio??) for audio only, and PeasyMedia for all files.
Code: Select all
export SKIPLIST="jpg$|png$|pdf$|txt$"
Code: Select all
export SKIPLIST="jpg$|png$|pdf$|txt$|flv$|avi$"
Re: controlling mplayer
If you can come up with a proper bug report, the author is very responsive.mcewanw wrote:In theory I suppose you should be able to use gnome-mplayer for much of PeasyMP3 functionality, but the version I've tried in Slacko533 seemed to be a bit buggy at folder playing.
Do you know a good gtkdialog program? Please post a link here
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
Peasy latest with pause uploaded
@disciple: yes, if I have a spare moment I may do that eventually - or not since I prefer to use a different program for music playing anyway and have a baby in my fulltime care...
As for PeasyMP3. I have once again added a pause control, retrovol and ogg capability to my copy of the latest version released at this date (version 3-2.7), so uploaded that again at the following link:
http://www.murga-linux.com/puppy/viewto ... 385#708385
Hope I've not made any mistakes in copying the code over again (easier the first time round whilst my mind was actually working on it).
Note I had to reboot for some reason once I installed my version over the top of the original. Probably to do with something else I was doing in parallel though. Program seems to work fine though not I haven't done much testing after having remade these changes for a second time.
I was hoping the PeasyMP3 author might incorporate some of these changes to save having to do them all over again, but that's up to PeasyMP3s author. I may keep track of the releases, but it is a bit of effort adding code in that way. If the changes are wanted then I might just build a different project based on cut-down Pavrecord code to mirror the functionality of PeasyMP3 and xhippo.
Alternatively, to save effort, I might just use xhippo. Now that I have lame and aplay working with that I realise that tempestuous is right about how good it is.
As for PeasyMP3. I have once again added a pause control, retrovol and ogg capability to my copy of the latest version released at this date (version 3-2.7), so uploaded that again at the following link:
http://www.murga-linux.com/puppy/viewto ... 385#708385
Hope I've not made any mistakes in copying the code over again (easier the first time round whilst my mind was actually working on it).
Note I had to reboot for some reason once I installed my version over the top of the original. Probably to do with something else I was doing in parallel though. Program seems to work fine though not I haven't done much testing after having remade these changes for a second time.
I was hoping the PeasyMP3 author might incorporate some of these changes to save having to do them all over again, but that's up to PeasyMP3s author. I may keep track of the releases, but it is a bit of effort adding code in that way. If the changes are wanted then I might just build a different project based on cut-down Pavrecord code to mirror the functionality of PeasyMP3 and xhippo.
Alternatively, to save effort, I might just use xhippo. Now that I have lame and aplay working with that I realise that tempestuous is right about how good it is.
github mcewanw
rcrsn51 wrote:Me too. That's the point of PeasyMP3. Have you tried it?disciple wrote:... one thing I've always missed in Linux is the "directory player" 1by1.
In case I need to clarify:disciple wrote:It doesn't automatically progress onto the next directory in the filesystem, does it?
My understanding is that PeasyMP3 makes a playlist out of all the files in a directory, including (recursively) any subfolders. The same functionality is available in any number of other media players.
1by1 is not based around a playlist. Unless you have the option disabled, 1by1 basically works by automatically searching for the next file to play, when you need it. If you tell it to play a file, when it gets to the end it will then play the next file in the folder. When it gets to the last file in the folder, it will find the next file in the filesystem and play that, even if it didn't exist when you first started.
e.g. if you have a filesystem like this and you tell it to play any file in it, it will play that and then keep on playing down the list, even if some of the files didn't exist at the start.
Code: Select all
/a/a/a.mp3
/a/a/b.mp3
/a/a/c.mp3
/a/b/a.mp3
/a/b/b.mp3
/a/b/c.mp3
/a/c/a.mp3
/a/c/b.mp3
/a/c/c.mp3
/a/a.mp3
/a/b.mp3
/a/c.mp3
/b/a/a.mp3
/b/a/b.mp3
/b/a/c.mp3
/b/b/a.mp3
/b/b/b.mp3
/b/b/c.mp3
Do you know a good gtkdialog program? Please post a link here
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
How to use xhippo as an mp3 music and video player GUI
Thanks for the xhippo reminder tempestuous, saves me spending time working on or contributing to alternatives at the moment...
How to use xhippo as an mp3 music and video player GUI
using underlying lame, aplay, and mplayer (which are in most Puppies by default I believe):
http://www.murga-linux.com/puppy/viewtopic.php?t=86741
How to use xhippo as an mp3 music and video player GUI
using underlying lame, aplay, and mplayer (which are in most Puppies by default I believe):
http://www.murga-linux.com/puppy/viewtopic.php?t=86741
github mcewanw
-
- Posts: 5464
- Joined: Fri 10 Jun 2005, 05:12
- Location: Australia
mcewanw,
I see you're refining/improving PeasyMP3, and that's great.
And I see you have just made a new forum thread about configuring xhippo to use suitable back-end applications in modern Puppies. Again, a good initiative, but let me make a few observations:
For video files here is the correct xhippo configuration line (using "avi" filetype as an example)
And for audio files, just add the "-nodisp" parameter to avoid getting a pointless video window.
But wait! Mplayer, despite its large binary size, actually has lower CPU utitlisation that ffplay. This is odd, since they both draw upon the same ffmpeg libraries. And it's worth adding the "-really-quiet" parameter to mplayer to avoid filling up your tmp directory. So for MP3 files here is the correct xhippo configuration line -
You can use this same command string for all media file types.
Now when you right-click the xhippo window you're in the correct location.
To automate this, you could create a wrapper script, then link the wrapper script to a desktop icon.
I see you're refining/improving PeasyMP3, and that's great.
And I see you have just made a new forum thread about configuring xhippo to use suitable back-end applications in modern Puppies. Again, a good initiative, but let me make a few observations:
It sounds like you're piping the output of ffmpeg, and for MP3 files it looks like you're doing a similar "trick" with lame. In both cases I don't think it needs to be as complicated as that - just use the ffplay executable instead.mcewanw wrote:xhippo can be configured to work with lame, aplay and so on: I just did so. You need to use the g flag in the config script
For video files here is the correct xhippo configuration line (using "avi" filetype as an example)
Code: Select all
type:avi:ffplay -autoexit
Code: Select all
type:mp3:ffplay -autoexit -nodisp
Code: Select all
type:mp3:mplayer -really-quiet
It's a bit "hacky" but this works - run these commands -greengeek wrote:Any way of getting xhippo to remember the last directory that I picked an mp3 from?
Code: Select all
cd /path/to/my/music/collection
xhippo
To automate this, you could create a wrapper script, then link the wrapper script to a desktop icon.
It's probably worth noting that I went against Barry's idea of disabling ffplay when compiling ffmpeg. Slacko versions include it, it's only a small binary. As far as I can recall, none of Barry's do.
That said, mplayer is lighter on resources as far as playing music is concerned.
Code: Select all
# which ffplay
/usr/bin/ffplay
# stat -c %s /usr/bin/ffplay
69088
Puppy Linux Blog - contact me for access
Could it be that Mplayer is using some sort ot hardware acceleration or something that ffplay isn't?But wait! Mplayer, despite its large binary size, actually has lower CPU utitlisation that ffplay. This is odd, since they both draw upon the same ffmpeg libraries.
Do you know a good gtkdialog program? Please post a link here
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
-
- Posts: 5464
- Joined: Fri 10 Jun 2005, 05:12
- Location: Australia
Thanks, I see what you mean. That gave me another thought based on the same idea by placing a script in my Music folder as follows:tempestuous wrote:It's a bit "hacky" but this works - run these commands -Now when you right-click the xhippo window you're in the correct locationCode: Select all
cd /path/to/my/music/collection xhippo
Code: Select all
#!/bin/sh
xhippo
new xhippo dotpet with goingnuts patches to fix old issue
Sorry tempestuous, I just noticed your post after uploading a new xhippo dotpet (thanks to goingnuts patches) including the changes I suggested. I'll check out the measures you are suggesting and implement whatever works best in future upload. In the meantime, you can find the dotpet (including its current known issue) here:tempestuous wrote: It sounds like you're piping the output of ffmpeg, and for MP3 files it looks like you're doing a similar "trick" with lame. In both cases I don't think it needs to be as complicated as that - just use the ffplay executable instead..
http://www.murga-linux.com/puppy/viewtopic.php?t=86753
Since you are an expert on compiling the gtk2 xhippo, perhaps you can work out why the icon isn't being displayed on the first button. Goingnuts didn't have time to look into it a year ago, and though I can program fluently enough in C itself, I'm not very familiar with gtk toolkit programming. Alternatively, I expect goingnuts himself or maybe thunor could sort that issue out.
The following tests using Slacko533 frugal installation on Pentium M 1.6GHz, 1 MB RAM laptop.
EDIT: @tempestuous: Actually I was and am using lame | aplay for mp3. I haven't tested this as yet, but I imagined that would be lower resource usage than ffplay, which as 01micko says isn't in all Puppies by default anyway. I was already using mplayer with option -really-quiet for all and any video types I could think of and also for ogg audio with options -really-quiet -vo null, which were already suggested as a commented-out alternative to ogg123 in the original default xhippo.config file.
As a sidenote, I used lame|aplay arrangement back in 2007 in some old program I wrote - maybe it was wiakrecord, so it was the first thought that came to mind; also used ffplay in pavrecord because it accepts input from stdin without buffering chunks the way mplayer seems to.
EDIT2: Now tried ffplay for mp3 audio, but uses more CPU than the lame|aplay arrangement I provided and much more RAM.
EDIT3: meant to put an exec in the xhippo_mp3 script, but I now think it is fine without since running as a separate shell process group anyway.
EDIT4: I'm surprised to find that mplayer -really-quiet -vo null appears use to even less CPU than lame|aplay for MP3 files... However, uses a lot more RAM so I'll leave lame|aplay in for the moment whilst considering the matter further. I'll install mpg123 and see how that does in comparison.
EDIT5: Downloaded tempestuous mpg123-1.14.2.pet and modified xhippo.conf to use that for mp3 playback. Odd, according to top, mplayer used 3% CPU on this old machine, mpg123 used 4%! Very surprised. mplayer appears to win in terms of CPU use (but not RAM use). Overall, it would appear, mpg123 would give lowest resource usage for a very low powered, low RAM machine of course, albeit very slighty beaten in CPU usage by mplayer in my tests! However, I'm sticking with lame|aplay for mp3 playback; it's there by default and pretty good low-resource (RAM and CPU) performance anyway. (Note: I thought using lower quality -q 9 might cause lame to use even less CPU, but made no difference; come to think of it, I'm not sure the -q switch has any meaning in lame decodes- maybe just for encoding, but it doesn't seem to cause any harm so just leaving it in).
github mcewanw
Just had a weird thing happen with peasymp3 - when it started to play one of my videos, the video window partially overlapped the peasy window, so I moved the video window downwards and found that a large section of the peasy window was blank.
I wanted to access the control buttons that should have been visible on that part of the peasy window, so I tried moving both windows around in the hope they would "redraw" themselves, but all this did is make the entire peasy window go blank and I couldn't get the buttons back.
Any other window that ended up behind the video window had no problems.
EDIT: Just figured that this only happens if I have the playlist window open at the same time. Soon as I close the playlist the peasy window redraws ok. (Problem occurs even if playlist window is minimised and offscreen - so just close it)
I wanted to access the control buttons that should have been visible on that part of the peasy window, so I tried moving both windows around in the hope they would "redraw" themselves, but all this did is make the entire peasy window go blank and I couldn't get the buttons back.
Any other window that ended up behind the video window had no problems.
EDIT: Just figured that this only happens if I have the playlist window open at the same time. Soon as I close the playlist the peasy window redraws ok. (Problem occurs even if playlist window is minimised and offscreen - so just close it)
This is an artifact of gtkdialog - you will see the same effect in other Puppy apps. There is a fix for it, but it introduces other potential problems. I will revisit the issue.greengeek wrote:Just had a weird thing happen with peasymp3 - when it started to play one of my videos, the video window partially overlapped the peasy window, so I moved the video window downwards and found that a large section of the peasy window was blank.
If you want to continue discussing PeasyMP3, please go here.
new xhippo dotpet now uploaded
new xhippo dotpet now uploaded. Just 31KB in size. Works in probably all current Puppies and many older ones:
http://www.murga-linux.com/puppy/viewtopic.php?t=86753
With this version if you rightclick most any mediafile in ROX window you can immediately select Play in xhippo.
You can also rightclick a directory of mediafiles and immediately select Play in xhippo.
Finally, you can select several directories in ROX, then rightclick and choose Open With... Play in xhippo
http://www.murga-linux.com/puppy/viewtopic.php?t=86753
With this version if you rightclick most any mediafile in ROX window you can immediately select Play in xhippo.
You can also rightclick a directory of mediafiles and immediately select Play in xhippo.
Finally, you can select several directories in ROX, then rightclick and choose Open With... Play in xhippo
github mcewanw
-
- Posts: 5464
- Joined: Fri 10 Jun 2005, 05:12
- Location: Australia
mcewanw
Let me say at the outset that it's great you're improving and refining xhippo for modern Puppies.
Every eager music user I have referred to xhippo has been impressed. The initial reaction tends to be disappointment at its "sparseness" but eventually you realise that it handles the basics of music playing, and does it well, without bells and whistles.
A more important improvement, to my mind, is your fix for filename spaces. Spaces in filenames is a long established convention, and needs to be addressed.
A few more comments, which you might wish to consider:
I'm surprised at how well the "lame | aplay" regime works - even "pause" works. I had previously experimented with such methods, but usually as a two-stage process for quality - the compressed audio file is first decompressed and stored in ramdisk, before a separate application such as aplay (or better still, brutefir) then plays this file.
But you seem to have reserved this regime as a special case for MP3 files, via the lame executable. Why not do the same for ogg and flac (and also WMA, AAC and ALAC)?
For example, most audio files can be uncompressed with ffmpeg in a similar manner, as such -
As you can see the syntax to pipe ffmpeg is a little messy - you must specify the "raw" audio stream format (s16le) instead of wav file format, and also aplay cannot automatically determine the correct stream format, so you must specify it with "-f cd" (16 bit little endian, 44100, stereo). This effectively "hard-wires" the audio format, so if you were to use non-standard audio files at 22.1kHz or 48kHz, for example, it wouldn't work. But the principle remains.
Also you could consider adding other dedicated decoders - such as flac for flac, and ogg123 for ogg.
I suppose your configuration choices have been made considering the pre-existing situation with modern Puppies, especially the presence of ffmpeg. Personally, I consider the original addition of ffmpeg to be a bizarre and somewhat ill-considered development for a Linux distribution which prided itself with being small!
And for what? All major video and audio codecs could already be played ... ffmpeg simply added ENCODING features - something that I think the average user will rarely want or need.
Oops, I'm ranting about Puppy development again. I will stop there.
Let me say at the outset that it's great you're improving and refining xhippo for modern Puppies.
Every eager music user I have referred to xhippo has been impressed. The initial reaction tends to be disappointment at its "sparseness" but eventually you realise that it handles the basics of music playing, and does it well, without bells and whistles.
No, sorry, widgets and GTK are black magic to me. Personally the absence of icons on the buttons doesn't bother me.mcewanw wrote:perhaps you can work out why the icon isn't being displayed on the first button.
A more important improvement, to my mind, is your fix for filename spaces. Spaces in filenames is a long established convention, and needs to be addressed.
A few more comments, which you might wish to consider:
I'm surprised at how well the "lame | aplay" regime works - even "pause" works. I had previously experimented with such methods, but usually as a two-stage process for quality - the compressed audio file is first decompressed and stored in ramdisk, before a separate application such as aplay (or better still, brutefir) then plays this file.
But you seem to have reserved this regime as a special case for MP3 files, via the lame executable. Why not do the same for ogg and flac (and also WMA, AAC and ALAC)?
For example, most audio files can be uncompressed with ffmpeg in a similar manner, as such -
Code: Select all
ffmpeg -i myaudiofile -f s16le - | aplay -f cd
Also you could consider adding other dedicated decoders - such as flac for flac, and ogg123 for ogg.
I suppose your configuration choices have been made considering the pre-existing situation with modern Puppies, especially the presence of ffmpeg. Personally, I consider the original addition of ffmpeg to be a bizarre and somewhat ill-considered development for a Linux distribution which prided itself with being small!
And for what? All major video and audio codecs could already be played ... ffmpeg simply added ENCODING features - something that I think the average user will rarely want or need.
Oops, I'm ranting about Puppy development again. I will stop there.
credit should go to goingnuts
Thanks for your useful comments tempestuous. Yes, I based my choices on what is in current Puppy by default. I have used ffmpeg in similar (but not identical) manner to what you suggest to pipe to aplay, but for the moment I just stuck to straight mplayer because it (surprisingly) seems to provide very low CPU usage. Otherwise, yes, I would have tended to use ogg123 and so on.tempestuous wrote: A more important improvement, to my mind, is your fix for filename spaces. Spaces in filenames is a long established convention, and needs to be addressed.
...
I suppose your configuration choices have been made considering the pre-existing situation with modern Puppies, especially the presence of ffmpeg
One thing I should point out, as I have in the download post, the fix for filename spaces is entirely the work of goingnuts, who kindly sent me his patches almost a year ago: http://www.murga-linux.com/puppy/viewtopic.php?t=86772. So all credit should go to him for that. I'm hoping in fact that goingnuts, or someone else with sufficient gtk2 programming skills, will get back to this and find the solution to the missing RESTART icon problem and that BarryK and others will consider putting xhippo into future Puppies as a default for those of us who prefer its usage simplicity yet powerful flexibility. It's small enough anyway.
github mcewanw
Just want to thank all of you guys who have the skills to identify the details that help keep things trim, tight and efficient.tempestuous wrote: ffmpeg simply added ENCODING features
I still believe our best defence against data intrusion is to make sure every byte does only what we intend it to do - even when we are only talking about audio reproduction.
In response to the original post for this thread I highly recommend Peasy Carousel:
see here:
http://murga-linux.com/puppy/viewtopic. ... 4&start=22
Install the .pet, run Peasy Carousel, and drag'ndrop your music folder, (or browse to it if you prefer) - and if you tick the checkbox it will randomly play the entire collection including subfolders. Awesome.
Can also just rightclick on a folder and "open with" Carousel directly.
(and the whole Peasy / Carousel .pet is only around 3 kb. Hows that for trimming the fat...)
see here:
http://murga-linux.com/puppy/viewtopic. ... 4&start=22
Install the .pet, run Peasy Carousel, and drag'ndrop your music folder, (or browse to it if you prefer) - and if you tick the checkbox it will randomly play the entire collection including subfolders. Awesome.
Can also just rightclick on a folder and "open with" Carousel directly.
(and the whole Peasy / Carousel .pet is only around 3 kb. Hows that for trimming the fat...)