Giter VIP home page Giter VIP logo

lyricsx-musixmatch's Introduction

Lyricsx-Musixmatch

Automatically find and download the lyrics of your current offline playing song from Spotify-Musixmatch and display it with LyricsX. Currently works only on Mac OS.

Untitled

Screenshots

lyricsx-musixmatch.mp4

Requirements

Installation

  • Make sure you have LyricsX, SpotiPy and Syrics installed. Modify the .command file to add your client_id, client_secret and the path to nowplaying-cli-1.1.0.command.
  • Make the .command file executable and execute it. It should do what it's supposed to do.
  • Additionaly, you can add a trigger for its execution as an Alfred workflow.

How it Works

It reads your current playing song using 'nowplaying-cli-1.1.0', searches for its trackID on Spotify using 'SpotiPy', downloads the corresponding .lrc lyrics file using 'Syrics', changes its extension to '.lrcx', moves it to default LyricsX folder, relaunches LyricsX for it to notice it's already got the lyrics file.

The 'background-daemon.py' file

Run nohup python3 background-daemon.py to have it running in the background. It repeatedly watches to see if you've changed your current playing song. When it detects change, it launches the fetch-lyrics-from-musixmatch.command, which fetches and shows the lyrics. It keeps watching for change until, UNTIL you stop listening to music altogether for 4 minutes. In that case it automatically breaks its loop and exits. Make sure to run the daemon again in your next listening session. Add an Alfred workflow for convenience. One is appended.

Alfred workflow

My personal Alfred workflow is appended. It needs a bit of configuring on your side. Note that in it, daemon.py points to that same background-daemon.py file.

Screenshot 2023-10-12 at 16 00 12

lyricsx-musixmatch's People

Contributors

tripasect avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

lyricsx-musixmatch's Issues

Update README

Hey man, very interesting repository but I don't fully understand the installation process, could you please write some additional information? Especially, I don't understand what is .command file, sorry if it's obvious for someone, I'm just new to Mac OS

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.