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.