Stable: 2.4.3
Development: 2.5.0-alpha3
Feature suggestions
Tried MOC recently and although it seems like the best command-line player for my use, there is lots of room for improvements:
* key bindings:
In addition to default keys, should also accept emacs-like keys such as C-s for forward-search, C-e for jumping to the end of a line, etc. in short, should have the least-surprising key bindings.
* help screen:
Scrolling one line per keypress (even with page up/down) is way too slow. Should at least scroll about a screenful with page up/down as in playlist. Also the format of one command per line makes it slower to look for specific commands in the screen.
The help screen of cplay on the other hand, I find, is just what you'd want for a music player.
Part of turning the help screen into something like that of cplay's is reducing the redundancy of the help screen by turning separate entries for "Set volume to 10..90%" into something like "Volume control: M <1-9>"
Might be troublesome to do all this with the way the key bindings are handled currently, but then, how useful are the configurable key bindings really? I've never needed to change e.g. cplay's bindings and doubt most other people have either.
* stability:
Haven't done much testing to see if it's exclusive to Debian unstable's version, but I experience MOC crashing a few times a day, usually triggered by using the interface.
* SID/modtracker song lengths:
Everything is currently set to exactly 3 minutes for SID songs. Should probably use sidplay's song length file format (which might not be specific to it though). An example could be found in HVSC (http://hvsc.c64.org/) file DOCUMENTS/SongLengths.txt
Common to SID and modtracker files: it should be possible to enable looping in individual files or otherwise specify the length manually.
Also should probably have a way to adjust sidplay and modplug settings (assuming it's something like mikmod).
Other features I miss:
* Should have a way to shuffle playlist so you could actually follow the playlist instead of having it jump to random locations in it.
I might eventually implement some of these to MOC at some time if I have enough time and motivation to do so and if I haven't found a better player by that time. Until then, I would hope someone else recognizes these shortcomings and does something about it.
SID and ModPlug
I created the SID and ModPlug-decoders and would like to respond to your feedback on them.
Regarding the SID song lengths:
There is already support for the HVSC database. It is documented in the example config (there is no reliable way to find out where the database is automatically). Additionally, the three minutes are just a default value, it is configurable.
I'm not sure what you mean with modtracker files. Are you referring to the whole variety of MOD-like formats (XM, S3M, IT, ...) ? Their length is not fixed to three minutes, it is computed by the ModPlug-lib (?).
What should looping individual songs do ? If the playlist reaches them they would play forever. Do you think of a fixed count of repeats for individual files ?
The settings of the SID- and ModPlug-decoders can be changed in the configuration file. Do you want to be able to change things at runtime ?
Individual looping is an idea I had myself some time ago. I had no idea how to do it in a way that would be usable. Are there any applications that can do it in a sane way ?
Thanks for the feedback. :-)
Should've looked into the
Should've looked into the existing behaviour a bit more before commenting, but to reply your points:
By modtracker files, I meant the all the modplug-playable formats, though I recognise they are computed at runtime, there seem to often be files that would loop forever if certain behaviour is enabled (or maybe that's partly due to mikmod's faulty behaviour as that's what I've been using so far to play such files).
Anyway, as with SID files, it would be sometimes desirable to enable certain songs to loop indefinitely on command (i.e. not automatically when it reaches it in playlist).
Don't know how much information sidplay and modplug export, but it might be helpful to have a user interface cue to show if a song could be looped).
I don't think I've seen any apps so far that had such behaviour but seeing how modplug-playable songs always seem to have a finite length while mikmod sometimes doesn't, it is theoretically possible (although in practice might lead to some awful kludge without modifying modplug).
Regarding the configuration for sidplay and mikmod, I find mikmod-like runtime config pretty nice, although I'm unsure if it would be more than a minor convenience, given that you don't really change the playback settings much in runtime.