r2
Free open-source Cloudflare R2 desktop client and S3 GUI for macOS, Windows, and Linux. Manage Cloudflare R2, AWS S3, M…
Music Caster is a modern music player with the ability to cast audio files, system audio, and URLs to Google Chromecast…
Music Caster is a modern music player with the ability to cast audio files, system audio, and URLs to Google Chromecasts, Google Home/Nest Minis, etc.
Display languages: English, German, Spanish, French, Italian, Dutch, Russian*, and Ukrainian*
Unique users as of April 23rd 2023: 3,800
winget install "Music Caster"Not maintained, but I did get it to work on Ubuntu once. Music Caster is not straight forward to package, so you can invoke a sudo-free install script.
mkdir -p ~/bin && git clone --depth 1 https://github.com/elibroftw/music-caster.git ~/bin/music-caster cd ~/bin/music-caster ./linux_install.sh # use sudo for non-interactive install in case a dependency needs to be installed
Here are Music Caster specific keyboard shortcuts aside from the global media hot-keys.
| Shortcut | Window | Behaviour |
|---|---|---|
| Ctrl + Shift + Alt + M | Global | Activate Main Window |
| Ctrl + (Shift) + } | Main | Toggle mini-mode |
| Esc | Main | Close Window |
| Ctrl + Shift + Q | Main | Exit Program |
| Scroll | Main | Volume and Progress Bar |
| ⬆ / A | Main | Decrease Volume by 5% |
| ⬇ / D | Main | Increase Volume by 5% |
| # | Main | Set Volume to # * 10% |
| K | Main | Pause / Resume / Start Playing |
| Shift + N | Main | Next Track |
| Shift + P / Shift + B | Main | Previous Track |
| J | Main | Rewind 5 seconds |
| L | Main | Fast-forward 5 seconds |
| Ctrl + R | Main | Cycle Repeat |
| Ctrl + M | Main | Mute |
| Ctrl + 1 | Main | Go to Tab 1 (Queue) |
| Ctrl + 2 | Main | Go to Tab 2 (URL) |
| Ctrl + 3 | Main | Go to Tab 3 (Library) |
| Ctrl + 4 | Main | Go to Tab 4 (Playlists) |
| Ctrl + 5 | Main | Go to Tab 5 (Timer) |
| Ctrl + 6 | Main | Go to Tab 6 (Metadata) |
| Ctrl + 7 | Main | Go to Tab 7 (Settings) |
settings.jsonsettings.jsonBelow is the reasonable data that is collected when errors are encountered. I'm sure other programs collect way more than necessary.
# in handle_exception,
payload = {'VERSION': VERSION, 'FATAL': restart_program, 'EXCEPTION TYPE': exc_type.__name__,
'LINE': exc_tb.tb_lineno, 'TRACEBACK': trace_back_msg, 'LOG': log_lines,
'MQ[0]': playing_uri, 'PLAYING_STATUS': str(playing_status), 'DEVICE': device,
'CWD': os.getcwd(), 'PORTABLE': not os.path.exists(UNINSTALLER),
'MAC': hashlib.md5(get_mac().encode()).hexdigest(), 'OS': platform.platform(), 'TIME': current_time}
In addition, I collect MD5 hashed MAC addresses and IP addresses in a Google Excel Sheet. Only I have access to this data, I will NEVER give it to anyone else. Will stop collecting analytics once I stop caring about the number of users.
docker pull elibroftw/mc-builderdocker build . -t elibroftw/mc-builder
docker run --rm --volume .:/var/music-caster elibroftw/mc-builderYou need to use the free threading version (python3.14).
python3.14 -m venv .venv .venv\Scripts\activate # Windows source .venv/bin/activate # Non-Windows
Update the version found in the following files
git clone git@github.com:pyinstaller/pyinstaller.gitpy -m build (not in the bootloader directory)From here, you can test the app in the newer version of Python (need to initialize a new virtualenv)
Lastly, build the app and submit it to Microsoft for false positive. I'm not sure when I'll buy a cert to ensure we don't encounter this again.
The Tauri version of the app is in app. The goal is very simple.
First, we are going to make Music Caster a daemon. This means we can use Tauri for UI code, and then interact with the daemon.
.\build.cmd --skip-tests --no-install --skip-deps
pnpm tauri build --target aarch64-pc-windows-msvc
more like this
search projects, people, and tags