Project

somadic

0.0
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
Somadic is a terminal-based player for somafm.com and DI.fm.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.5
~> 0.10
~> 10.3
~> 3.0

Runtime

~> 0.3
~> 0.10
~> 1.0
 Project Readme

Somadic

Somadic is a bare-bones terminal-based player for somafm.com, di.fm, and SLAY Radio. It uses mplayer to do the heavy lifting. It's also a hot Curses mess, but it works on my machine.

DI.fm requires a Premium Account to stream with a third-party app.

$ somadic 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

$ gem install somadic

Usage

Usage: somadic [options] [preset_name | [site1:channel1 ...]]

You can specify either a `preset_name` or an arbitrary list of `site:channel` identifiers.

  site: `di`, `soma`, or `slayradio`
  channel: a valid channel on `site`, or `slayradio` if site is slayradio

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

c       - List channels for `site`
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
<space> - Start/stop playing current channel
/       - Goto site:channel

Presets

You can create preset files rather than listing multiple channels on the command line. Create a YAML file in ~/.somadic/presets, say chill.yaml, with the following content:

---
- di:breaks
- soma:secretagent
- di:psychill
- soma:lush
- slayradio:slayradio

You can then start somadic with the preset's name:

$ somadic chill

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