deseven / iCanHazMusic

music player for macOS
https://icanhazapps.d7.wtf/music
The Unlicense
29 stars 2 forks source link
audio-player lightweight macos mp3-player music music-player

iCanHazMusic

A music player for macOS 10.12 or higher. Currently in development, the latest stable version can be downloaded on the releases page, the latest unstable dev version is always available via this link (use with caution!), see below for compiling from source.

Main app:
iCHM screenshot

Basic web interface:
iCHM web screenshot

Why

I was a big fan of the legendary foobar2000 until I moved to macOS in 2010. Naturally, for some time I continued using foobar under Wine, but the experience was subpar and eventually I started jumping from player to player. Some notable examples in no particular order:

I remember many other apps, both free and paid, however each and every one of them did lack something important. It's also worth mentioning that with every year the chance to get a decent desktop audio player is only getting lower and lower - it's an age of cloud music now, not many people are still interested in those mammoths of a bygone era. Hell, even I will probably go cloud in the coming years, I already use iBroadcast as a mobile and web player. However, the urge of having a good desktop player is still here for me, that's why I finally decided to go for it myself.

It's by no means a replacement for foobar2000, just my personal compilation of things I would like to see in an audio player. Nothing is set in stone, however, feel free to create new issues with feedback and suggestions.

Current state

What should work

What should work in the future

What is not planned

Web interface & API

Enable web server in preferences, then open http://0.0.0.0:8008/ (change port according to your settings), enter your API key when prompted. Go to http://0.0.0.0:8008/api/ to get the list of available methods. Example usage with curl:
curl http://127.0.0.1:8008/api/play-pause -H 'X-Api-Key: your_api_key'

Enabling lyrics loading

This should be changed in the future but for now in order for this to work you need to install python3 from homebrew with brew install python@3.9 and then lyricgenius module with pip3 install lyricsgenius. Test that this works in your terminal:
/usr/local/bin/python3 -m lyricsgenius -h

Compiling from source

iCHM is created in PB and depends on pb-macos-audioplayer, along with pb-httprequest-manager, pb-macos-globalhotkeys and pb-macos-task. FFmpeg is an external dependency, but the build script should handle that for you automatically.
You also need node-appdmg if you want to build dmg.

  1. Obtain the latest LTS version of pbcompiler, install it to /Applications.
  2. Install xcode command line tools by running xcode-select --install.
  3. Clone iCHM repo.
  4. Clone all required pb-* modules to neighboring directories.
  5. Run the included build/build.sh script to build the app. If you want codesigning then provide your developer ID as a first argument.