whistle: On the right track, not yet at full speed

I don’t remember who sent me the note about whistle, so if it was you and you’re reading this, I’ll apologize for not giving proper credit.

I tried whistle almost as soon as I heard about it, and I could see that it was a work in progress — not just because of some of its limitations, but because the git page showed updates within the days or weeks beforehand.

That’s the case now too, with changes as recently as two or three days ago, at the time of this writing.

I am keeping that in mind when I say that whistle still has a little way to go before it reaches a level of usability that I would consider.


So far, whistle is on the right track. It manages to use the screen space to its best benefit. It adopts a partitioned approach for visual effect. It doesn’t have color that I could find, but it does use pop-up style textboxes and selection bars for some navigation.

whistle also handles playlists, on-screen help cues and even a three-band equalizer that is controlled with keypresses.

So for the most basic, fundamental mp3 playback, whistle seems to work well. But. …

  • You’ll notice I said mp3 there, and that’s a drawback for me. I rarely use, need or encounter mp3s these days, and that’s mostly by choice. When whistle can play back ogg files, it will be a step forward for me.
  • The line drawings are a good addition, but they occasionally mangle or clip the contents of the box. The on-screen help, in particular, gets trimmed away in smaller box sizes, making it difficult for newcomers who don’t know the controls yet.
  • Similarly, whistle has a minimum size below which it refuses to operate. The problem is, I don’t know what that size is. If the terminal is too small, you get this. It would be helpful to know what size is agreeable to whistle, and avoid that in the future. It might also be helpful to remember that some tiling managers contort emulator windows into very unusal dimensions. …
  • whistle needs tab completion, particularly for adding music directories. Depending on where your music is found, adding a music directory to whistle is going to require a long, typed-out path.
  • More color, which you probably thought I would say.
  • Time indicators, shuffle play indicator, a progress bar would be nice, and I think it would be wise — just for the sake of new users — to use a pop-up help box (a la ncdu), instead of the badly mangled on-screen help. Either that, or arrange that information so it’s readable at the smallest dimensions.
  • Finally, I can hear a difference in sound quality between whistle and, say, moc. It might just be the addition of whistle’s built-in equalizer interfering with my combination of moc-plus-alsaequal, but there’s something suppressing sound quality in whistle, and I’m not sure what or why.

Those are just my suggestions, and just after fiddling with whistle for a half hour or so. I can see that whistle is a work in progress, and I’m sure over time it will reach full speed.

12 thoughts on “whistle: On the right track, not yet at full speed

  1. Pingback: Links 30/6/2014: Linux 3.16 RC3, Many New Android Devices | Techrights

    1. K.Mandla Post author

      You are absolutely right, and thanks for catching it. I’m not sure how I swapped out “whistle” for “whisper,” but it’s definitely the weirdest thing I’ve managed to get wrong in years of this business. Cheers and thanks again! πŸ™‚

  2. ap0calypse

    Thanks for testing out whistle πŸ™‚ REALLY! THANK YOU! I was wondering if anyone had feature requests for it, but only a few gave me requests. I will keep your list in mind as I make whistle better πŸ™‚

    I will give you a short explanation maybe, why there is only mp3-support:
    mp3-playback is made by starting mpg123 in remote-mode. The benefit of this is, that it is very easy to control everything. (setting equalizer settings, seek forward and back, and so on). I tried the same thing with ogg123 and other stuff, but couldn’t get the to work properly (ogg123 does NOT have a remote-control feature, which sucks …. very much)

    to the line drawings:
    yeah, I really made a bit of a secret of the ideal size. Maybe I include a friendly reminder on startup. I also changed the layout a little bit in the last 2 days, so that the controls-window now is bigger and always completely visible (no cut off lines anymore … at least I hope).

    good point, will have a look at it πŸ™‚

    good point too … will make it πŸ™‚

    regarding sound quality:
    well, what can I say. Maybe it is because of your already mentioned configuration, maybe it’s mpg123 messing up the sound. Sorry, I don’t know 😦

    Thanks for your criticism. I will go to work on them now πŸ™‚

    1. K.Mandla Post author

      No problem; it was my pleasure. Please don’t take my criticism too harshly, particularly the parts about sound quality. This was one of the few times I could hear a difference between players (ordinarily my speaker arrangement is so crappy as to be laughable). And keep in mind I had to convert oggs to mp3s to test it, so it’s always possible that the issue was on my end, or somewhere in the conversion process. Either way, sound quality isn’t really your problem if you’re just creating a frontend for another tool.

      Please let me emphasize that I think popup help screens are an improvement over trying to cram too many tips onto the interface. I know some players can get away with it, but for as many people as will approach whistle looking for something to run in a tiling window manager, size flexibility is a big issue. You’ll gain a few followers if they don’t have to tiptoe around terminal size requirements.

      I don’t know if you’re interested, but there are a few other music players that might give you ideas. You’ve probably seen a lot of them already, so I won’t rattle off a list. Please keep working on whistle; I think it has potential, it just needs some refinement. Cheers! :mrgreen:

      1. ap0calypse

        Thanks! And no worries: I am hard to get down just by words πŸ˜€

        I just thought about using mplayer as a future backend instead of mpg123, ogg123 or whatever. The only problem I can see by now is the lack of an integrated equalizer (I know mplayer has one and it can be tuned quite easily, but not on the fly ….). The problem is, that the equalizer settings would only work for the NEXT song because I have to give mplayer the equalizer switches over the commandline. (mplayer -af=blablabla). If I tried to change the equalizer settings for the CURRENT song, I would have to stop it before, and restart the song with new settings …. that’s a bit of work I have to figure out ….

        Maybe you are right, the controls could be easily moved into a help window, which then can be looked at if needed. I’m using tiling wms myself (awesome -> dwm -> now i3) and ran into the same problem with the space myself (you see, it’s not only you struggling around with it πŸ˜‰ ).

        maybe I also implement a ‘mini-mode’ for power-users who know the shortcuts. who knows? πŸ™‚

  3. ap0calypse

    It’s me again with some good news. πŸ˜€

    whistle now has a mplayer-backend allowing it to play various formats. BUT currently I only scan for mp3-files with file::mimeinfo. I will change that to some other formats very soon.

    another gimmick: I redesigned the whole thing and did what you recommended. (controls now in separate help window, progressbar in other location, equalizer in other location, …), also there is a friendly message reminding the user of the recommended terminal window size πŸ™‚

    I tagged this release bravely as 0.8, knowing that I will most certainly face some more bugs πŸ˜‰

    have a nice day!

      1. K.Mandla Post author

        Ah, much better. This is really starting to bloom now. I like the progress bar and the 10-band equalizer. The help screen is much more useful now too. I found one bug for you: If you have an empty playlist and press “d” either intentionally or by accident, there’s an error message … “Use of uninitialized value in exists at ./whistle line 537.” It doesn’t stop whistle but it does corrupt the screen image. I’ll keep working with it and let you know if I find anything else. Cheers!

  4. ap0calzpse

    hi πŸ™‚

    i just fixed this in the most current release πŸ˜‰
    the next features will be nice too:
    – equalizer presets
    – customizeable equalizer for artist, album or single songs πŸ™‚
    – shuffle by artist/album

    and BUGFIXES of course πŸ˜€

Comments are closed.