This is a collection of addons I made for the moOde audioplayer
It consists of:
-
Extended Albumart
- Displays embedded images and files in albumfolder as thumbnails below albumcover and on the audioinfo page.
A click opens the full image in a modal pop-up
- Displays embedded images and files in albumfolder as thumbnails below albumcover and on the audioinfo page.
-
Youtube audioplayback
- parses youtube playlists or single videos and adds them to playlist
-
Graphics equalizer
- same functionality like the moode eq but with instant reaction without stopping playback (cudos to elovattibr's Webmixer)
-
Songlyrics
- query lyrics of current song and display them in a modal pop-up
- show synced lyrics above albumcover
-
Playbackmenue
- Add/remove items for playbackcontrol on mainscreen - "repeat", "random", "single", "random album", "add to favourites" etc...
-
Show Songtitle, Albumname and albumicon in browsertitlebar
-
Browse to folder
- Contextmenue-option to browse to songfolder in folderview
-
Show total and remainig playtime below playlist
-
Increase text-size of Artist, Title, Album in screen-saver wide-mode
-
Fix for local ultrawide displays like 11.9inch Capacitive Touch Screen LCD, 1480x320
-
Fix for playback context-menue out of scope for large menues
-
Pre-listen audio-file without changing playlist and continue playback at current song-position
-
Bookmark current songposition for resuming playback later (e.g for long files like audiobooks)
-
Tested with moOde audioplayer v10.x and v9.x
should also work with v8.x (will NOT work with v7.x) -
Download the repo and copy the addons folder and it's subfolders into the www-root folder /var/www/
the folder structure then should look like this:
/var/www/addons/Stephanowicz/...
The folder structure is important as all scripts rely on it -
Generally You need to add a link to addons.js in /var/www/header.php
-> below the<!-- Common JS -->section in header.php You should find a link to lib.min.js:<script src="js/lib.min.js?t=1729607710734" defer></script>
after this add<script src="addons/addons.js?t=1729607710734" defer></script>
(the t=xxxx can be different - you may copy the one from lib.min.js) -
make sure that /var/www/addons/Stephanowicz/config.json is writeable for all
->sudo chmod 666 /var/www/addons/Stephanowicz/config.json
You can use the script AddRemoveAddons.sh in the utils folder for automatically adding/removing this entry
The script needs to be executable and must be run as root
sudo chmod 644 /var/www/addons/Stephanowicz/utils/AddRemoveAddons.sh
sudo /var/www/addons/Stephanowicz/utils/AddRemoveAddons.sh
-
Extended Albumart
- requires getid3
install with:- wget -O ~/getid3.zip https://github.com/JamesHeinrich/getID3/archive/master.zip
- sudo 7z e ~/getid3.zip -aoa -o/var/www/inc/getid3/ getID3-master/getid3/*.php
- (or copy the getid3 subfolder manually to /var/www/inc/)
- sudo chmod -R 755 /var/www/inc/getid3/
- requires getid3
-
Youtube audioplayback
-
requires yt-dlp
install with:- sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/youtube-dl
-> sudo chmod 755 /usr/local/bin/youtube-dl
As youtube changes its code from time to time You may need to update yt-dlp to get it working again.
--> sudo youtube-dl --update-to nightly - sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/youtube-dl
-
-
Songlyrics
at moment there are 3 methods to get the songlyrics: genius.com, lrclib.net and local files
(generally any script that takes "artist=xxx" and "title=xxx" as parameters and outputs (html-)formatted text could be used.)For local files the extensions ".txt" and ".lrc" are supported
The files need to be located in the songfolder and must contain the songtitle
The ".lrc" files are generated by lrcget and may contain the songposition which will be filtered for plain display
If a file is found it will be displayed instead of querying genius or lrclib.-
requires php-curl
install with:- sudo apt-get install php-curl
LRCLIB also provides synced lyrics
- requires php-xml(php-dom), php-curl
install with:-
sudo apt-get install php-xml php-curl
-
You will also need a client access token for the Genius Lyrics API ->
-
Create a free account: Genius Lyrics API
-
then create a new API client
("App Website URL" and "Redirect URI" can be anything) -
finally generate a client access token by clicking "Generate Access Token"
-> add the client access token to clientaccesstoken.txt in the lyrics folder /var/www/addons/Stephanowicz/lyrics
-
-
-
Bookmarks
You need to create the folder for storing the bookmark-files manually:
mkdir -m 755 /var/lib/mpd/playlists/bookmarks
The other addons don't have any further requirements
With /var/www/addons/Stephanowicz/config.json the addons can be dis-/enabled.
A config-page will help You by doing so. This page also checks if the requirements are met.
The config-page can be accessed by the m(oode-menu)
(You can also do that in a seperate window: config-page http://moode9.local/addons/Stephanowicz/config.html)
-
Extended Albumart
- Displays embedded images and files in the albumfolder as thumbnails below albumcover and on the audioinfo page.
Below the albumcover 3 dots signalize that images are available

a click on the dots opens the thumblist below

a click on a thumb shows the image in albumview

a doubleclick opens the image in a modal view

in the Audio Information modal, the images are listed with more info at the end of the file infos

- Displays embedded images and files in the albumfolder as thumbnails below albumcover and on the audioinfo page.
-
Youtube audioplayback
- parses youtube playlists or single videos and adds them to playlist

You have the option to add a link to a single video or a link to a video playlist.
Keep in mind that single links and the links generated from the playlists last only a few hours!
While the link to a playlist should stay the same for a long time.
Therefore You have the option to safe the playlist-url and reuse it later - but still the links to the audiosource have to be generated!
After adding a link, ytdl starts a query for the link(s) of the audiosource(s)

You have the option to clear the playlist before adding or to append to the list.
(You also have the option to add them to the current moOde playlist - but any information about title/artist will not be available)When clicking create playlist, ytdl creates a playlist for mpd (youtube.m3u)

load & play finally starts the playback

There's also an independent page available that can be opened outside of moOde-audioplayer:
http://moode.local/addons/Stephanowicz/youtubeDL/youtube.html - parses youtube playlists or single videos and adds them to playlist
-
Graphics equalizer
The equalizer has the same functionality like the moode eq but with instant reaction without stopping playback

You can save presets and reload them.
When selecting a different preset, the changes are signalized by red bars - by clicking load the preset will be activated

-
Songlyrics
a small green dot above the icon indicates that synced lyrics are available
activate the synced lyrics display with clicking the right button below playback control
if synced lyrics are available the button turns green, otherwise it turns red
(be aware that sometimes the synced lyrics maybe from a (special) edition and don't fit properly) -
Playbackmenue / Playbar icons
-
Show Songtitle, Albumname and albumicon in browsertitlebar or tab

Tip: use a bare window without controls for the moOde audioplayer
for edge (chrome?) you need to add the params--app=http://moode9.local --window-size=800,600to the browser command:
msedge --app=http://moode9.local --window-size=800,600
(this should also be possible for firefox etc. - but I don't know the commands at moment) -
Browse to folder
-
Show total and remainig/elapsed playtime below playlist
-
Increase text-size of Artist, Title, Album in screen-saver wide-mode
- at moment a fixed size... I'm thinking of to make it adjustable
-
Fix for local ultrawide displays like 11.9inch Capacitive Touch Screen LCD, 1480x320
e.g https://www.waveshare.com/wiki/11.9inch_HDMI_LCDThis is how the main screen looks like originally with 1480x320:

-
Fix for playback context-menue out of scope for large menues with many items
menue out of scope:

-
Pre-listen to audio-file
If You have a playlist, and maybe are already playing audio, You can pre-listen to another song without changing the current playlist.
The playback will continue afterwards at the current song position. (i.e. the previous playbackstate will be restored)

-
Bookmarks This will save the current sonposition and playlist for resuming playback at a later time.
This might be helpful when listening to audiobooks.(Please don't forget that you need to create the bookmark-folder manually!)
/var/lib/mpd/playlists/bookmarksThere will be 2 new options in the main playbackmenue:
-
Add bookmark
-
Bookmarks
'Add bookmark' will open a modal where you can enter the name of the bookmark to save and the name of the playlist to save
An existing playlist with the same name will be overwritten! (As MPD only will load playlists from the configured location there is no workaround for this)'Bookmarks' will open a modal with a list of saved bookmarks.
Here one can load a saved bookmark or delete it.
'Delete' will only remove the bookmark file in '/var/lib/mpd/playlists/bookmarks'
To delete the associated playlist you have to use the option in the moode playlist browser
-
That's it - have fun!















