All Projects → cheshire137 → Huxleyfm

cheshire137 / Huxleyfm

Licence: mit
An unofficial desktop app for listening to SomaFM, built with Electron.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Huxleyfm

Musicbot
🎶 A Discord music bot that's easy to set up and run yourself!
Stars: ✭ 1,109 (+4940.91%)
Mutual labels:  music, radio
Soundtrack
Self-hosted collaborative music playing application.
Stars: ✭ 114 (+418.18%)
Mutual labels:  music, radio
Evoradio
Music Player App for iOS
Stars: ✭ 72 (+227.27%)
Mutual labels:  music, radio
Pandoraplayer
🅿️ PandoraPlayer is a lightweight music player for iOS, based on AudioKit and completely written in Swift.
Stars: ✭ 1,037 (+4613.64%)
Mutual labels:  music, radio
Youtube Music
YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)
Stars: ✭ 376 (+1609.09%)
Mutual labels:  music, desktop-app
Datradio
p2p music player for {old} beaker and dat
Stars: ✭ 77 (+250%)
Mutual labels:  music, radio
Somafm Cli
🎵 Listen to SomaFM in your terminal via pure bash
Stars: ✭ 84 (+281.82%)
Mutual labels:  music, radio
Fradioplayer
A simple radio player framework for iOS, macOS, tvOS.
Stars: ✭ 183 (+731.82%)
Mutual labels:  music, radio
Hyperamp
🎛 Humble music player
Stars: ✭ 293 (+1231.82%)
Mutual labels:  music, desktop-app
Swift Radio Pro
Professional Radio Station App for iOS!
Stars: ✭ 2,644 (+11918.18%)
Mutual labels:  music, radio
Pithos
A Pandora Radio Client
Stars: ✭ 461 (+1995.45%)
Mutual labels:  music, radio
Sky31radio
湘潭大学三翼校园 "四季电台" Android 客户端
Stars: ✭ 422 (+1818.18%)
Mutual labels:  music, radio
Tauonmusicbox
The Linux desktop music player from the future! 🌆
Stars: ✭ 494 (+2145.45%)
Mutual labels:  music, desktop-app
Taro Music
🎉基于taro + taro-ui + redux + react-hooks + typescript 开发的网易云音乐小程序,目前正在使用react-hooks重构中(不定时更新)
Stars: ✭ 826 (+3654.55%)
Mutual labels:  music
Httpms
Media server with RESTful API and Web interface. Think of it as your very own Spotify!
Stars: ✭ 18 (-18.18%)
Mutual labels:  music
Smd
Spotify Music Downloader
Stars: ✭ 822 (+3636.36%)
Mutual labels:  music
Daw
GridSound (0.33.0) wants to be an open source online digital audio workstation following the new WebAudio API 🎛🎹🎵✨
Stars: ✭ 804 (+3554.55%)
Mutual labels:  music
Focabot
Music with seals!
Stars: ✭ 19 (-13.64%)
Mutual labels:  music
Minimp3
Minimalistic MP3 decoder single header library
Stars: ✭ 898 (+3981.82%)
Mutual labels:  music
Musegan
An AI for Music Generation
Stars: ✭ 794 (+3509.09%)
Mutual labels:  music

logo HuxleyFM

Build status

A desktop player for SomaFM. Compare to my Chrome extension for listening to SomaFM.

Download

See also the change log.

Screenshot of OS X app

Screenshot of OS X notification

Screenshot of Windows station menu

Screenshot of Windows settings

How to Develop

npm install

This will install necessary packages as well as create config.json for you to modify.

If you want to be able to scrobble songs to your Last.fm account, you will need to configure config.json with your Last.fm API key and secret.

Specify user_agent in config.json to something custom for your app. The user agent is sent in request headers to Last.fm and the Soma API.

Specify new_bug_report_url to the URL where users should report a new bug with the app.

npm start

Ubuntu 14.04 Instructions

Install nodejs 6+ via instructions on nodejs.org

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y build-essential libavahi-compat-libdnssd-dev nodejs

Environment Variables

Pass NODE_ENV=development to view the JavaScript console for debugging, e.g., NODE_ENV=development npm start.

Pass DISABLE_PLAYING=1 to disable actually playing music when a station is selected.

Troubleshooting

If you run into an error about a module version mismatch, try running npm version. My output looks like:

% npm version
{ huxleyfm: '0.0.1',
  npm: '3.9.3',
  ares: '1.10.1-DEV',
  http_parser: '2.7.0',
  icu: '57.1',
  modules: '48',
  node: '6.2.0',
  openssl: '1.0.2h',
  uv: '1.9.1',
  v8: '5.0.71.47',
  zlib: '1.2.8' }

If your modules is not 48, upgrade node. In OS X if you installed via Homebrew:

brew update
brew upgrade node
npm install -g npm

After upgrading node:

npm install -g node-gyp
cd node_modules/mdns
node-gyp BUILDTYPE=Release rebuild

If you hit errors installing castv2-client, try running npm install castv2-client --no-optional.

How to Build

Travis is set up to build Linux, Mac, and Windows versions on every tag. If you want to build manually on your computer, first follow the 'How to Develop' steps above, then:

npm run build

Builds the app for OS X using electron-packager.

npm run-script build-windows

Builds the app for Windows.

npm run-script build-linux

Builds the app for Linux.

You can use node scripts/bump-version.js to increment the app version in package.json, commit that change and push it, make a git tag of the same name, and push tags.

License

MIT © Sarah Vessels

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].