Clone this wiki locally
You know! I cant remember how many times I have rewritten this player. Mainly I do it because is fun to work in it, but the ugly truth is that I never finish it. However I will try to delivery at least a stable and prolonged API for this version. I'm taking my time and hopefully some day near I can delivery a fully functional version with the plugins and all the flashing lights. If you wanna try the player while I'm building it, try this version, if not stick it to the 1.0.0 (I'm using version 1.0.0 while writing this) until I reach the functional point of that version, when that happens I'll post it here.
I'm working again! Some changes occurred since last update. First I change mi github account for dumb reasons, anyway! this is the new old gem and I have this first stable new version. You know, some rough edges but at least is useful. I'll release the gem with another name because the cultome_player namespace is reserved. I let you know which one I pick. Wait the new gem in a couple days.
I took so long I know, but it was for a good cause. When I realized thanks to Travis CI that my code was a little more than difficult to test in more than one environment, considering the weird hybrid that result the JRuby thing, I decided to rewrite all the player, and that was what i been doing since then.
With the hope to deliver zero-defect, multiple-environment-friendly, less error prone code, a better developer experience and a truly code that could be called gem, I invest a lot of effort writing with a test-first methodology with new version. As you can see my coverage incremented radically.
As you can imagine, I test a lot, but even with my greatest efforts is possible that some scenarios have gone under the radar. I'm also consistent that this version still has some jagged edges, mostly of then I have identified but, by the nature of this change and the time it took, i decide to release this stable version and polish all the other things in the next release.
So, whats new with this release? Well at first sight you will feel the speed in the starting, also will note the memory consumption is now less than half than before. I also remove dependencies but over all now the player is PURE RUBY... well! you still need to have java installed because the music player is the same, but now run in a separate process and the communication between ruby and java is with sockets. This allows to use the gem even without a music player or connect another player, lets say mplayer, with just overwriting a couple methods =D
I remove the share functionality in this version, but it will come back in esteroids in future releases.
Whats next? Musicbrainz integration, I need to tags correctly all the songs if I want to go further. So, see you next version!
- Now you database and your config file are inside you user directory (~/.cultome), that mean every new version don't require re-connect you music or make your aliases again.
- Scrobbler? of course! why not? but please run 'configure_lastfm begin' before use it.
- Better environment startup check.
- Colors!!! Yeah! a color schema that you can customize if you dont like mine.
- Some ASCII progress bars to let you know the player is not stuck!
- Improvement in the 'help ' command, to, hopefully help you you surf in the player.
- Add but not yet fully tested the share command to share music between two machines.
- Some minor bugs fixed.
- Specs up to date! YEAH!
- The code were reorganized to be more API-oriented, even when this was not the mainly intention of this project, but can be uselful for others to use it this way.
- The some commands were extracted from the core, like help and kill.
- The command 'copy ' were added to copy all the songs in the objet to a directory in the filesystem.
- The option 'search @<artist|album>' was implemented to facilitate the 'that album rocks! lets hear it!'.
- The player now emit exception-thrown events, a general exception and a player's exception.
- The aliases/shortcuts/macros plugin is in place. With this you can translate user input into commands, for example type 'sa' and the players tranform it to 'search @artist'.
- Changes in plugin structure. Not the final version but a step ahead for building a better plugin model.
- Some minor bugs fixes, like the db hanging or the lost in focus when search is empty.