Simple audio player needed

Audio editors, music players, video players, burning software, etc.
Message
Author
User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#31 Post by greengeek »

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)
Last edited by greengeek on Fri 14 Jun 2013, 20:53, edited 1 time in total.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#32 Post by rcrsn51 »

greengeek wrote:EDIT: Be nice to have two versions: PeasyMP3 (PeasyAudio??) for audio only, and PeasyMedia for all files.
You can do this yourself. Open /usr/sbin/peasymp3 and look at Line 11

Code: Select all

export SKIPLIST="jpg$|png$|pdf$|txt$"
Add any extensions to this list that you want to skip. For example:

Code: Select all

export SKIPLIST="jpg$|png$|pdf$|txt$|flv$|avi$"
Or you could store your adult content some place separate from your music files. :wink:

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#33 Post by greengeek »

rcrsn51 wrote:Or you could store your adult content some place separate from your music files. :wink:
"Adult content"? <cough> Whatever do you mean???

It's just that I have some 911 videos that conspiracy deniers don't like to watch...
:-)

disciple
Posts: 6984
Joined: Sun 21 May 2006, 01:46
Location: Auckland, New Zealand

Re: controlling mplayer

#34 Post by disciple »

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.
If you can come up with a proper bug report, the author is very responsive.
Do you know a good gtkdialog program? Please post a link here

Classic Puppy quotes

ROOT FOREVER
GTK2 FOREVER

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

Peasy latest with pause uploaded

#35 Post by mcewanw »

@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.
github mcewanw

disciple
Posts: 6984
Joined: Sun 21 May 2006, 01:46
Location: Auckland, New Zealand

#36 Post by disciple »

rcrsn51 wrote:
disciple wrote:... one thing I've always missed in Linux is the "directory player" 1by1.
Me too. That's the point of PeasyMP3. Have you tried it?
disciple wrote:It doesn't automatically progress onto the next directory in the filesystem, does it?
In case I need to clarify:
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

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

How to use xhippo as an mp3 music and video player GUI

#37 Post by mcewanw »

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
github mcewanw

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#38 Post by tempestuous »

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:
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
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.
For video files here is the correct xhippo configuration line (using "avi" filetype as an example)

Code: Select all

type:avi:ffplay -autoexit
And for audio files, just add the "-nodisp" parameter to avoid getting a pointless video window.

Code: Select all

type:mp3:ffplay -autoexit -nodisp
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 -

Code: Select all

type:mp3:mplayer -really-quiet
You can use this same command string for all media file types.

greengeek wrote:Any way of getting xhippo to remember the last directory that I picked an mp3 from?
It's a bit "hacky" but this works - run these commands -

Code: Select all

cd /path/to/my/music/collection
xhippo
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.

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#39 Post by 01micko »

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.

Code: Select all

# which ffplay
/usr/bin/ffplay
# stat -c %s /usr/bin/ffplay
69088
That said, mplayer is lighter on resources as far as playing music is concerned.
Puppy Linux Blog - contact me for access

disciple
Posts: 6984
Joined: Sun 21 May 2006, 01:46
Location: Auckland, New Zealand

#40 Post by disciple »

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.
Could it be that Mplayer is using some sort ot hardware acceleration or something that ffplay isn't?
Do you know a good gtkdialog program? Please post a link here

Classic Puppy quotes

ROOT FOREVER
GTK2 FOREVER

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#41 Post by tempestuous »

disciple wrote:Could it be that Mplayer is using some sort ot hardware acceleration or something that ffplay isn't?
I considered that, but didn't bother to investigate because the difference in CPU usage was evident even with audio files.

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#42 Post by greengeek »

tempestuous wrote:It's a bit "hacky" but this works - run these commands -

Code: Select all

cd /path/to/my/music/collection
xhippo
Now when you right-click the xhippo window you're in the correct location
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:

Code: Select all

#!/bin/sh
xhippo
So now xhippo sees that Music folder as it's default and displays the folder contents upon rightclicking the xhippo window. That way other members of the family can also have their own "version" of xhippo in their separate music directories too.

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

new xhippo dotpet with goingnuts patches to fix old issue

#43 Post by mcewanw »

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..
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:

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

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#44 Post by greengeek »

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)

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#45 Post by rcrsn51 »

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.
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.

If you want to continue discussing PeasyMP3, please go here.

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

new xhippo dotpet now uploaded

#46 Post by mcewanw »

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
github mcewanw

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#47 Post by tempestuous »

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.
mcewanw wrote:perhaps you can work out why the icon isn't being displayed on the first button.
No, sorry, widgets and GTK are black magic to me. Personally the absence of icons on the buttons doesn't bother me.

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
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.

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

credit should go to goingnuts

#48 Post by mcewanw »

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
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.

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

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#49 Post by greengeek »

tempestuous wrote: ffmpeg simply added ENCODING features
Just want to thank all of you guys who have the skills to identify the details that help keep things trim, tight and efficient.
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.

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#50 Post by greengeek »

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...)

Post Reply