brent
Before anything, I wanted to try melodeon (a GUI) and squeezelite (an audio renderer used by LogitechMediaServer aka LMS). The LMS plugin Material Skin must be installed for melodeon to connect to the server.
The installation of these two is simple as detailed below.
1- Melodeon
sudo eopkg install -c system.devel
sudo eopkg it git make cmake g++ qt5-base-devel qt5-webengine-devel
- git clone http://github.com/CDrummond/melodeon.git
- cd melodeon
- git submodule update --init --recursive
- mkdir build
- cd build
- cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release
- make
- sudo make install
To integrate in the desktop :
nano ~/.local/share/applications/melodeon.desktop
and copy/paste what follows :
#!/usr/bin/env xdg-open
[Desktop Entry]
Type=Application
Name=Melodeon
Comment=LMS Gui
Icon=/usr/local/share/icons/hicolor/scalable/apps/melodeon.svg
Exec=/usr/local/bin/melodeon
Categories=AudioVideo;Player;
Keywords=Music;LMS;Squeeze;SqueezeBox
2- Squeezelite
sudo eopkg it alsa-lib-devel mpg123-devel libmad-devel faad-devel libvorbis-devel libogg-devel libflac-devel
git clone https://github.com/ralph-irving/squeezelite
cd squeezelite
make clean && make --makefile=Makefile
sudo cp -r ./squeezelite /usr/bin
sudo nano /usr/lib/systemd/system/squeezelite.service
copy/paste :
###################################################
#use "systemctl enable squeezelite.service to load
#based on a template from RPMFusion and R.G. Newbury from this thread:
#http://www.gossamer-threads.com/lists/mythtv/users/516650?search_string=mythbackend.service%20;#516650
#Usage: ./squeezelite [options] [<server_ip>]
#-s <server_ip> Connect to server server at given IP address, otherwise uses autodiscovery
#-o <output device> Specify output device, default "default"
#-l List output devices
#-a <time>:<count> Specify ALSA buffer_time (ms) and period_count, default 20:4
#-b <stream>:<output> Specify internal Stream and Output buffer sizes in Kbytes
#-c <codec1>,<codec2> Restrict codecs those specified, otherwise loads all available codecs; known codecs: flac,pcm,mp3,ogg,aac
#-d <log>=<level> Set logging level, logs: all|slimproto|stream|decode|output, level: info|debug|sdebug
#-f <logfile> Write debug to logfile
#-m <mac addr> Set mac address, format: ab:cd:ef:12:34:56
#-n <name> Set the player name
#-r <rate> Max sample rate for output device, enables output device to be off when squeezelite is started
#-z Daemonize
#-t License terms
[Unit]
Description=Squeezelite Daemon
Requires=network.target sound.target
After=network.target sound.target
[Service]
Type=simple
#NOTE: using the "squeezeuser" user, NOT root.
#actually, it does work while started as root..
ExecStart=/usr/bin/squeezelite -C 2 -n Mascarwin -o sysdefault:CARD=Device
#replace - n Mascarwin with -n HowYouWantToCallIt..
#-C 2 : mandatory (if not in use for 2 sec, will free alsa to accept input from other programs)
[Install]
WantedBy=multi-user.target
#
#
#end squeezelite.service
then :
sudo systemctl daemon-reload
sudo systemctl enable --now squeezelite
if it doesn't work, check with squeezelite -l in order to get the device name for output (-o stanza)
some other dependencies are aslo installed in the process and will be useful in order to install LMS itself.
As per LMS, it's a little trickier : while being an interpreted language (an thus portable - perl), LMS requires compiled drivers to work on its host. The CPAN/Arch of the buildtree are involved here. While my first test did work (at least almost), I need to tidy some aspects of the build.
Another week-end and another post.
Hope it might serve..