George-lewis / music-caster

Music Caster is a music player that lets you cast your local music files to a Google Cast device. Click the link for screenshots.

Home Page:https://elijahlopez.herokuapp.com/music-caster/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo Music Caster

GitHub Releases Source Forge

Music Caster is a modern music player that lets you cast local music files to a Google Cast Device (Chromecast, Home, etc.).

If you enjoyed this product a lot feel free to donate (ironic) to monero:42hpQgwfvFw6RXpmcXHBJ85cZs9yF97kqfV3JpycnanG7JazfdL4WHkVLuR8rcM64q6LHt547nKeeYaixBdCQYaHSuEnAuj or https://www.paypal.me/elibroftw.

Important information

On the first run, you will need to click the arrow in your taskbar to see the app icon, you can move it for ease of access. If you have music files in folders other than the home music folder, add them in settings (right click tray icon -> settings). If you are able and willing to translate to other languages, click here

Demo

The image below directs to my demo video on YouTube. Note that it is outdated by 6+ months, and does not represent the current state of Music Caster.

Demo on Youtube

Power User Features

I love keyboard shortcuts, they make us more productive. Aside from the global media hot-keys, Music Caster has its own shortcuts as seen below.

Shortcut Window Behaviour
Ctrl + Shift + Alt + M Global Activate Main Window
Esc ALL Close Window
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
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 (Playlists)
Ctrl + 3 Main Go to Tab 3 (Timer)
Ctrl + 4 Main Go to Tab 4 (Settings)

Editing settings.json

  • Music Caster will detect changes within 10 seconds of editing settings.json
    • Caveat: any color code changes requires a restart
  • The music directories is a list of valid directory paths
    • The first path is the default directory MC opens when you click "Play File"
  • The playlist setting follows the convention {'PLAYLIST NAME': ['list of paths to files']}
  • Some settings are there for the future and have no effect

Limitations

  • Chromecasts only support the AAC version of WMA files
  • Lack of emoji support (the GUI might not work). There's always settings.json + WEB GUI though
  • Road Map

Data Collection / Privacy Policy

What is sent to me when an error is encountered?

# in handle_exception,
{
  'EXCEPTION TYPE': exc_type.__name__,                  # error name
  'LINE': exc_tb.tb_lineno,                             # error location/line
  'TRACEBACK': trace_back_msg,                          # error message
  'MAC': hashlib.md5(get_mac().encode()).hexdigest(),   # error unqiueness
  'LOG': log_lines,                                     # last 5 lines of log for context
  'FATAL': restart_program,                             # if the error crashed the program
  'CASTING': cast is not None,                          # was user was casting to a chromecast
  'MQ': len(music_queue),                               # queue lengths
  'PLAYING_TYPE': play_uri,                             # what uri type if any was user playing
  'VERSION': VERSION,
  'NQ': len(next_queue),
  'DQ': len(done_queue),
  'OS': platform.platform(),
  'TIME': current_time,
}

In addition, I collect (MD5 hashed) MAC and IP addresses in a Google Excel Sheet. Only I have access to this data, I will NEVER give it to anyone else.

  • Hashed MAC so that I know how many users (1900+), without knowing the actual MAC addresses
  • IP because I can do something cool

About

Music Caster is a music player that lets you cast your local music files to a Google Cast device. Click the link for screenshots.

https://elijahlopez.herokuapp.com/music-caster/

License:Other


Languages

Language:Python 76.6%Language:Tcl 16.6%Language:HTML 3.9%Language:CSS 1.6%Language:C# 0.9%Language:Inno Setup 0.4%Language:Batchfile 0.0%