[PR #623] [CLOSED] Musixmatch service integration to populate each songs' lyrics field (if available) as they are played. #1300

Closed
opened 2026-02-26 03:30:31 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/koel/koel/pull/623
Author: @alejandro-carstens
Created: 7/17/2017
Status: Closed

Base: masterHead: master


📝 Commits (10+)

  • 004fbfa Added Musixmatch Service to populate the songs lyrics as they are played.
  • e130d0c Added the ->getSongLyrics() method to the SongController show method.
  • 2719994 Added MUSIXMATCH_API_KEY to .env.example file.
  • 9527c8a Fixed MusixmatchTest bug.
  • 1fc5306 Fixed bug in MusixmatchTest taht had to do with location of blob directory.
  • a4d4a32 Fixed another bug in MusixmatchTest.
  • 4e71e82 Fixing test bug.
  • 1aa932e Added MUSIXMATCH_API_KEY param to phpunit.xml to make the tests work in travis CI.
  • 854d791 Debuging tests.
  • 9516564 Debuging tests.

📊 Changes

18 files changed (+1018 additions, -770 deletions)

View changed files

📝 .env.example (+4 -0)
📝 .travis.yml (+1 -0)
app/Facades/Musixmatch.php (+13 -0)
📝 app/Http/Controllers/API/SongController.php (+2 -0)
📝 app/Models/Song.php (+23 -2)
app/Providers/MusixmatchServiceProvider.php (+31 -0)
app/Services/Musixmatch.php (+113 -0)
📝 app/Services/RESTfulService.php (+2 -2)
📝 composer.json (+2 -2)
📝 composer.lock (+753 -761)
📝 config/app.php (+4 -1)
📝 config/koel.php (+13 -0)
mysql-apt-config_0.8.0-1_all.deb (+0 -0)
📝 phpunit.xml (+2 -1)
📝 tests/Feature/MediaTest.php (+5 -1)
tests/Feature/MusixmatchTest.php (+48 -0)
tests/blobs/musixmatch/search.jsonp (+1 -0)
tests/blobs/musixmatch/search_failure.jsonp (+1 -0)

📄 Description

This pull requests handles the integration of the Musixmatch service in order to populate the lyrics field of each of the songs whose lyrics field is empty (provided that the Musixmatch search API is able to retrieve the lyrics, or if the lyrics are not restricted). To see a working example of the implementation please visit http://koelo-acarste.c9users.io and login with username: demo@koel.com & password: password. I think it is a cool addition. Please let me know what you guys think.

Alejandro


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/koel/koel/pull/623 **Author:** [@alejandro-carstens](https://github.com/alejandro-carstens) **Created:** 7/17/2017 **Status:** ❌ Closed **Base:** `master` ← **Head:** `master` --- ### 📝 Commits (10+) - [`004fbfa`](https://github.com/koel/koel/commit/004fbfa61f9528e7a2e044eec03d0bf54ea3d49b) Added Musixmatch Service to populate the songs lyrics as they are played. - [`e130d0c`](https://github.com/koel/koel/commit/e130d0c5b4273dbe3705e7c05d66c57609a92d67) Added the ->getSongLyrics() method to the SongController show method. - [`2719994`](https://github.com/koel/koel/commit/2719994737217da8d098c6fa4ed18b682e6beeaa) Added MUSIXMATCH_API_KEY to .env.example file. - [`9527c8a`](https://github.com/koel/koel/commit/9527c8a90c9415df5a0a5c10dabbf4804e22add6) Fixed MusixmatchTest bug. - [`1fc5306`](https://github.com/koel/koel/commit/1fc5306485bef7282f962ebf4d7991e26b469f7b) Fixed bug in MusixmatchTest taht had to do with location of blob directory. - [`a4d4a32`](https://github.com/koel/koel/commit/a4d4a32aa89f0deca0c1a22bca227e960c63fed7) Fixed another bug in MusixmatchTest. - [`4e71e82`](https://github.com/koel/koel/commit/4e71e82039f8a2847bbfe1a80ede7a487f92f573) Fixing test bug. - [`1aa932e`](https://github.com/koel/koel/commit/1aa932e9e64657272c7738a5342c503d2bbe06d7) Added MUSIXMATCH_API_KEY param to phpunit.xml to make the tests work in travis CI. - [`854d791`](https://github.com/koel/koel/commit/854d791176497295c1db78b728eccbeb83e54f15) Debuging tests. - [`9516564`](https://github.com/koel/koel/commit/9516564fd7142104097d73cfca66bf9422460b57) Debuging tests. ### 📊 Changes **18 files changed** (+1018 additions, -770 deletions) <details> <summary>View changed files</summary> 📝 `.env.example` (+4 -0) 📝 `.travis.yml` (+1 -0) ➕ `app/Facades/Musixmatch.php` (+13 -0) 📝 `app/Http/Controllers/API/SongController.php` (+2 -0) 📝 `app/Models/Song.php` (+23 -2) ➕ `app/Providers/MusixmatchServiceProvider.php` (+31 -0) ➕ `app/Services/Musixmatch.php` (+113 -0) 📝 `app/Services/RESTfulService.php` (+2 -2) 📝 `composer.json` (+2 -2) 📝 `composer.lock` (+753 -761) 📝 `config/app.php` (+4 -1) 📝 `config/koel.php` (+13 -0) ➕ `mysql-apt-config_0.8.0-1_all.deb` (+0 -0) 📝 `phpunit.xml` (+2 -1) 📝 `tests/Feature/MediaTest.php` (+5 -1) ➕ `tests/Feature/MusixmatchTest.php` (+48 -0) ➕ `tests/blobs/musixmatch/search.jsonp` (+1 -0) ➕ `tests/blobs/musixmatch/search_failure.jsonp` (+1 -0) </details> ### 📄 Description This pull requests handles the integration of the Musixmatch service in order to populate the lyrics field of each of the songs whose lyrics field is empty (provided that the Musixmatch search API is able to retrieve the lyrics, or if the lyrics are not restricted). To see a working example of the implementation please visit http://koelo-acarste.c9users.io and login with username: demo@koel.com & password: password. I think it is a cool addition. Please let me know what you guys think. Alejandro --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-26 03:30:31 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/koel-koel#1300
No description provided.