# Somadic Somadic is a bare-bones terminal-based player for somafm.com and di.fm. It uses `mplayer` to do the heavy lifting. ``` $ somadic-curses di:breaks [ breaks ][ Rave Channel - Te Quiero (Amase Breaks Mix) ][ 00:25 / 07:38 ] [######..................................................................................] : Beware of Pickpockets - Nimbus (Original Mix) 05:27 : : Deekline - 01NIGHT MOODS ORIGIONAL MIMAI BASS MIX : +0/-1 : 03:29 : : Benny Benassi - Satisfaction (DirTy MaN Mix) 04:40 : : Vetoo - Recall (Refracture Remix) 05:40 : : Firebeatz feat Schella - Dear New York (Barrera Breaks Mix) 05:07 : ``` ## Installation Clone the repo: $ git clone https://github.com/devshane/somadic.git Build the gem: $ gem build somadic.gemspec Install the gem: $ gem install somadic-0.0.1.gem ## Usage ``` Usage: somadic [options] [preset_name | [site1:channel1 ...]] You can specify either a `preset_name` or an arbitrary list of `site:channel` identifiers. site: either `di` or `soma` channel: a valid channel on `site` DI premium channels require an environment variable: DI_FM_PREMIUM_ID. -c, --cache CACHE_SIZE Set the cache size (KB) -m, --cache-min CACHE_MIN Set the minimum cache threshold (percent) -h, --help Display this message ``` #### Valid keys ``` n - Next site:channel in list N - Pick a random channel from `site` q - Quit r - Refresh the display s - Search Google for the current track - Start/stop playing current channel / - Goto site:channel ``` #### Examples **Listen to breaks on DI** ``` $ somadic di:breaks ``` **Listen to breaks, psychill, and secret agent** ``` $ somadic di:breaks di:psychill soma:secretagent ``` **Listen to the chill preset (assumes a ~/.somadic/presets/chill.yaml file)** ``` $ somadic chill ``` ## Contributing 1. Fork it ( http://github.com/devshane/somadic/fork ) 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create new Pull Request