http://wiki.rivendellaudio.org/index.php?title=Special:NewPages&feed=atom&hideredirs=1&limit=50&offset=&namespace=0&username=&tagfilter=Rivendell Wiki - New pages [en]2024-03-28T21:22:04ZFrom Rivendell WikiMediaWiki 1.26.4http://wiki.rivendellaudio.org/index.php/Compiling_Audio_Science_Driver_V4.20.42_on_Ubuntu_22.04Compiling Audio Science Driver V4.20.42 on Ubuntu 22.042024-02-18T02:21:28Z<p>Ltyndale: </p>
<hr />
<div>From a recent email on the Rivendell mailing list, there is an issue getting the Audioscience HPI driver V4.20.42 working on Ubuntu 22.04. Chris Cottingham reached out to Audioscience and received the fix below.<br />
<br />
The drivers can be downloaded here:<br />
<br />
https://www.audioscience.com/internet/download/linux_drivers.htm<br />
<br />
https://www.audioscience.com/internet/download/drivers/released/v4/20/42/hpklinux_4.20.42.tar.gz<br />
<br />
---------------------------------<br />
<br />
Re: [Rivendell] ASI card issues - Ubuntu 22<br />
Contact photo<br />
From Chris Cottingham on 2024-01-27 14:11<br />
<br />
I have an update for everyone. I contacted Audioscience and Delio responded to my issue with the ASI driver and Ubuntu 22.04. He found an issue with the makefile and compiling on Ubuntu 22.04. He had me make some changes to the Makefile and the asihpi.c files in the /alsa-drv directory.<br />
<br />
Once I made these changes, the 4.20.42 driver was made and installed by DKMS just fine. He was awesome!! <br />
<br />
He also mentioned that they are going to release a new version with the changes in the future. He did not say when and I did not ask. I was just happy to have a working driver. <br />
<br />
Here are the changes he had me make. They worked for me. I do not warranty them nor does Audioscience. Your mileage may vary but I hope it fixes issues for other people as well. The "-" are what you remove and the "+" are what you add. Do not add the "-" or the "+" symbols in the file. They are only here to show what is removed and added. <br />
<br />
Once these changes are made, simply go into the hpilinux_4.20.42/alsa-drv directory and input "sudo dkms install . " command. <br />
<br />
~/hpilinux_4.20.42/alsa-drv/ - Makefile <br />
<br />
-ifdef KBUILD_VERBOSE<br />
+ifneq ($(or $(KBUILD_MODULES),$(KBUILD_VERBOSE),$(KBUILD_EXTMOD)),)<br />
<br />
<br />
~/hpilinux_4.20.42/alsa-drv/ - asihpi.c <br />
<br />
-static int snd_asihpi_card_free(struct snd_card *card)<br />
+static void snd_asihpi_card_free(struct snd_card *card)<br />
{<br />
- if (!card)<br />
- return 0;<br />
-<br />
- return snd_card_free(card);<br />
+ if (card) {<br />
+ snd_card_free(card);<br />
+ }<br />
}<br />
<br />
<br />
I hope this helps everyone!<br />
<br />
Have a wonderful day!</div>Ltyndalehttp://wiki.rivendellaudio.org/index.php/Configuring_Jack_with_Pulseaudio_on_Linux_Mint_21Configuring Jack with Pulseaudio on Linux Mint 212024-02-11T05:41:23Z<p>Ltyndale: Configuring Jack with Pulseaudio on Linux Mint 21</p>
<hr />
<div>This information was supplied by Luigino Bracci Roa via the Rivendell Open Source Automation Users Facebook Forum.<br />
<br />
=== Steps to install Rivendell 4 with JACK and Pulseaudio in Linuxmint 21 Mate (Ubuntu 22.04-based) ===<br />
<br />
- Install Linuxmint 21 Mate<br />
<br />
- Update packages (sudo apt update && sudo apt upgrade)<br />
<br />
- Install KXStudio repositories following steps in https://kx.studio/Repositories<br />
<br />
sudo apt update<br />
sudo apt install kxstudio-default-settings cadence jackd2 pulseaudio-module-jack linux-image-lowlatency catia<br />
<br />
- Add your user to the "audio" group (sudo adduser <username> audio)<br />
<br />
- Run Cadence. Click on Configure, then click on Driver, choose ALSA, choose in Device/Interface your sound card or sound device. Configure other parameters and click OK.<br />
<br />
- In JACK Bridges / Alsa Audio, choose in Bridge type: ALSA -> Pulseaudio- JACK<br />
<br />
- In Pulseaudio, turn on "Auto-start at login"<br />
<br />
- Do NOT turn on the option "Auto-start JACK or LADISH at login"<br />
<br />
- Reboot<br />
<br />
- Install Rivendell 4 following steps in https://software.paravelsystems.com/howtos/ubuntu/jammy/ (starting in "Running installation script")<br />
<br />
- Add current user to the group "rivendell" (sudo adduser <username> rivendell)<br />
<br />
- Run "sudo systemctl disable rivendell.service" (we don't want Rivendell to start automaticaly as a service whern the system boots, we need to start it after JACK is running)<br />
<br />
- Let's disable Pulseaudio so it don't run at startup:<br />
<br />
systemctl --user disable pulseaudio.service<br />
systemctl --user disable pulseaudio.socket<br />
sudo systemctl --global disable pulseaudio.service<br />
sudo systemctl --global disable pulseaudio.socket<br />
<br />
- As root, create a file /etc/sudoers.d/rivendell with this content (replace "username" with your user):<br />
<br />
username ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart rivendell.service<br />
username ALL=(ALL) NOPASSWD: /usr/bin/systemctl start rivendell.service<br />
username ALL=(ALL) NOPASSWD: /usr/bin/systemctl stop rivendell.service<br />
<br />
I'm making this so a regular user can start or stop Rivendell without being root.<br />
<br />
- Let's make a script to start JACK, and then Rivendell, in the appropiate order. First, create a ~/Scripts forder and then, create an script "start-rivendell.sh" with the following content:<br />
<br />
#!/bin/sh<br />
notify-send "Please wait while starting audio services..."<br />
cadence-session-start -s<br />
sudo systemctl start rivendell.service<br />
sleep 3<br />
notify-send "Audio services started!"<br />
<br />
- You can place in the script other needed commands... I also place there a "mount /var/snd" for my workstations.<br />
<br />
- Give exec permissions to the script (chmod +x ~/Scripts/start-rivendell.sh)<br />
<br />
- In the Linuxmint menu, find the "Startup Applications" applet. Add the script "/home/<username>/Scripts/start-rivendell.sh" (use the full path, change <username> as appropiate).<br />
<br />
- Remove any other Cadence startup script in Startup Applications.<br />
<br />
- Reboot.<br />
<br />
- Configure the host in rdadmin (in "Manage hosts", add your host computer, verify that JACK is show in Audio Resources, then configure the cards and ports as appropiate)<br />
<br />
- In this point you can reboot your server and, after logged in, and after receiving the "Audio services started" message, you can check with catia or other patchbay, and Rivendell should be running in JACK.<br />
<br />
- You can use the jack_connect command (placing it in the start-rivendell.sh script) to automatically connect Rivendell with the system ins and outs in JACK. Or you can place this in /etc/rd.conf:<br />
<br />
[JackSession]<br />
Source1=rivendell_1:playout_0L<br />
Destination1=system:playback_1<br />
Source2=rivendell_1:playout_0R<br />
Destination2=system:playback_2<br />
Source3=rivendell_1:playout_1L<br />
Destination3=system:playback_3<br />
Source4=rivendell_1:playout_1R<br />
Destination4=system:playback_4<br />
...etc.<br />
<br />
- If you get any problem with rdlibrary uploading or listening carts, it's probable you have troubles with the rdxport.cgi permissions. I've solved it with this commands:<br />
<br />
sudo chown root:root /var/www/rd-bin/rdxport.cgi<br />
sudo chmod 4755 /var/www/rd-bin/rdxport.cgi</div>Ltyndalehttp://wiki.rivendellaudio.org/index.php/Upgrading_from_v2_to_v4_on_CentOS_7Upgrading from v2 to v4 on CentOS 72023-08-22T15:18:13Z<p>ElvishArtisan: Instructions for upgrading Rivendell v2.x to v4.x on CentOS 7</p>
<hr />
<div>=== Verifying the presence of CentOS 7 ===<br />
First, check that the system is in fact running CentOS 7 by executing the following command:<br />
<br />
cat /etc/redhat-release<br />
<br />
You should get back something like this:<br />
<br />
CentOS Linux release 7.6.1810 (Core)<br />
<br />
Verify that the first number in the version string ('7.6.1810') is a 7. If it is not, or you get a 'No such file or directory' error, then '''STOP'''. You are '''not''' running CentOS 7, and proceeding may damage or destroy your installation!<br />
<br />
=== Verifying that configured RLMs have replacement PyPAD scripts available ===<br />
Go into RDAdmin->ManageHosts->hostname->RDAirPlay->ConfigureNow&NextParameters and make a note of each entry in the 'Loadable Modules' list. Using the following table, verify that each RLM (in the 'Path' field) has a replacement PyPAD script. If one does not, then '''STOP'''. You will need to create your own PyPAD script to duplicate the functionality of the custom RLM.<br />
<br />
{| class="wikitable"<br />
|+PyPAD Script Replacements for RLMs<br />
|-<br />
!RLM<br />
!PyPAD<br />
|-<br />
|rlm_ando<br />
|pypad_ando.py<br />
|-<br />
|rlm_filewrite<br />
|pypad_filewrite.py<br />
|-<br />
|rlm_icecast2<br />
|pypad_icecast2.py<br />
|-<br />
|rlm_inno713<br />
|pypad_inno713.py<br />
|-<br />
|rlm_liqcomp<br />
|pypad_liqcomp.py<br />
|-<br />
|rlm_live365<br />
|pypad_live365.py<br />
|-<br />
|rlm_serial<br />
|pypad_serial.py<br />
|-<br />
|rlm_shoutcast1<br />
|pypad_shoutcast1.py<br />
|-<br />
|rlm_spinitroni_plus<br />
|pypad_spinitron.py<br />
|-<br />
|rlm_spottrap<br />
|pypad_spottrap.py<br />
|-<br />
|rlm_tunein<br />
|pypad_tunein.py<br />
|-<br />
|rlm_udp<br />
|pypad_udp.py<br />
|-<br />
|rlm_urlwrite<br />
|pypad_urlwrite.py<br />
|-<br />
|rlm_walltime<br />
|pypad_walltime.py<br />
|-<br />
|rlm_xds<br />
|pypad_xds.py<br />
|-<br />
|rlm_xmpad<br />
|pypad_xmpad.py<br />
|}<br />
<br />
=== Backing Up the Database ===<br />
Close all open Rivendell modules, then '''back up your database''', using RDAdmin->BackupDatabase.<br />
<br />
=== Updating the repository assignments ===<br />
Update the respository assignments by running the following commands (as root):<br />
<br />
yum clean expire-cache<br />
mv /etc/yum.repos.d/Paravel-Broadcast.repo /etc/yum.repos.d/Paravel-Broadcast.repo-DISABLED<br />
wget https://software.paravelsystems.com/CentOS/7rd4/Paravel-Rivendell4.repo -P /etc/yum.repos.d/<br />
<br />
=== Updating the Rivendell Packages ===<br />
Update the Rivendell packages by doing (as root):<br />
<br />
yum update rivendell<br />
<br />
=== Creating Replacement PyPAD Instances ===<br />
Go into RDAdmin->ManageHosts->hostname->PyPADInstances and create a new instance for each RLM noted in the 2.x setup, using the proper replacement PyPAD script. Remove all of the default configuration for each instance, replacing it with the configuration copy/pasted from the original RLM configuration file (the 'Argument' field).</div>ElvishArtisanhttp://wiki.rivendellaudio.org/index.php/Notable_Differences_Between_Version_3_And_Version_4Notable Differences Between Version 3 And Version 42023-07-11T02:30:11Z<p>DKlann: Created.</p>
<hr />
<div>== Notable Differences Between Rivendell Version 3 And Version 4 ==<br />
<br />
Rivendell Version 4 (RD4) was released on 16 June 2023, nearly four years after Rivendell Version 3 (RD3). This release is the culmination of more than two years of concentrated development and testing by the Rivendell community, led by [https://www.paravelsystems.com/our-crew Fred Gleason]. The changes from version 3 include 903 [https://git-scm.com/ git] commits covering changes to 1,425 files.<br />
<br />
One of the primary motivating factors for RD4 was to update the Rivendell code base to [https://qt.io/ Qt] version 5. For most users this is an &ldquo;under-the-hood&rdquo; thing, but the changes have positioned Rivendell for future growth, modification, and improvement. And there are some significant visible changes as well!<br />
<br />
=== &ldquo;Under-the-hood&rdquo; Changes ===<br />
<br />
* Rivendell has for a long time run on [https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux Red Hat Enterprise Linux] (RHEL) and on systems derived from RHEL. RD4 continues that tradition, running on RHEL (specifically RHEL version 8) and derivatives. While others in the Rivendell community have previously supported alternate Linux platforms such as [https://debian.org/ Debian], the &ldquo;stock&rdquo; source code now compiles and installs on Debian and [https://ubuntu.com/ Ubuntu] Linux and (some of) their derivatives (notably, [https://linuxmint.com/ Linux Mint].<br />
<br />
* Rivendell is now compatible with [https://www.mysql.com/ MySQL] version 8.0. This includes compatibility with [https://mariadb.com/ MariaDB]. For those who choose to use MariaDB, see [https://mariadb.com/kb/en/mariadb-vs-mysql-compatibility/ this page] for MySQL and MariaDB compatibility (warning: it&rsquo;s complicated, but experience shows that it &ldquo;just works&rdquo;).<br />
<br />
* The Rivendell code base has been substantially modernized. A lot of technical debt has been retired (old code removed, replaced with new code implementing modern techniques and libraries), resulting in a code base that is more easily managed.<br />
<br />
* The &ldquo;Feeds&rdquo; podcast management system has seen many updates and changes. See [https://opsguide.rivendellaudio.org/html/chapter.rdcastmanager.html Chapter Ten] of the [https://opsguide.rivendellaudio.org/html/ Operations and Administration Guide] for more details.<br />
<br />
* Many bugs have been fixed, and many more need to be fixed. Please open a new issue on the [https://github.com/ElvishArtisan/rivendell/issues Issues] page if you find things that do not work as you expect them to.<br />
<br />
=== Visible Changes ===<br />
<br />
* The RDAirPlay window is resizable. Its minimum size is 1310 pixels wide by 870 pixels high.<br />
<br />
[[File:rd4-rdairplay-full-screen.png|right|thumb|800px|border|RDAirPlay Expanded to Full Screen]]<br />
<br />
<div style="clear: both"></div><br />
<br />
<hr /><br />
<br /><br />
<br />
* RDLibrary&rsquo;s &ldquo;Edit Markers&rdquo; window has changed. It is now a bit more compact. The new window requires right-clicking in order to set or clear markers in Cuts. See the details in the [https://opsguide.rivendellaudio.org/html/sect.rdlibrary.library_maintenance.html#rdlibrary.editing_markers Operations and Administration Guide] for all the details.<br />
<br />
[[File:rd4-rdlibrary-edit-markers.png|left|thumb|600px|border|RDLibrary Edit Markers]]<br />
<br />
<div style="clear: both"></div><br />
<br />
<hr /><br />
<br /><br />
<br />
* External schedulers may now be used to generate Logs without building Events, Clocks, and the Rivendell Grid. This screenshot shows the &ldquo;Bypass Grid Processing&rdquo; option in RDAdmin > Manage Services.<br />
<br />
[[File:Rdadmin-edit-service-bypas-grid.png|right|thumb|600px|border|RDAdmin > Edit Service, Bypass Grid Processing]]<br />
<br />
: See the [https://opsguide.rivendellaudio.org/html/sect.rdlogmanager.grids.html#sect.rdlogmanager.rdlogmanager.grids.bypassing_grid_processing Operations Guide] for details of this feature.<br />
<br />
<div style="clear: both"></div><br />
<br />
<hr /><br />
<br /></div>DKlannhttp://wiki.rivendellaudio.org/index.php/Updating_to_Rivendell_4.x_on_Legacy_Ubuntu18_04,_Compiled_from_SourceUpdating to Rivendell 4.x on Legacy Ubuntu18 04, Compiled from Source2023-07-02T18:13:18Z<p>Ltyndale: /* Building and Installing the Code */</p>
<hr />
<div>For those who are running Rivendell 3.x on Ubuntu 18.04 and compiled the code from source using the [[Legacy Rivendell 3.6.7 on Ubuntu18 04 | Legacy Rivendell 3.6.7 on Ubuntu18 04]] instructions, it is possible to upgrade to Rivendell 4.x without upgrading to a newer version of Ubuntu. You'll have to compile the 4.x source code, as '''Rivendell 4.x is not officially supported on Ubuntu 18.04.''' The code does work, however it has not gone through anywhere near the amount of testing that has been seen on newer versions of Ubuntu. '''CONSIDER THIS YOUR WARNING!'''<br />
<br />
'''Note that this guide is presented for those who want to upgrade to Rivendell 4.x from working Rivendell 3.x install on Ubuntu 18.04. It presumes that you have familiarity with Rivendell and have gone through the process of building 3.x from source in the past. It is not intended as a fresh install of Rivendell 4.x on 18.04. For a fresh install you are better off to go with a more up to date OS using one of the Appliance Installers provided by Paravel for Ubuntu 22.04, RHEL-7 / CentOS 7, or RHEL-8 / Rocky Linux 8. See [[Installing Rivendell | Installing Rivendell]].'''<br />
<br />
NOTE: As with the previous 3.x compile instructions, these instructions do not include the HPI driver support for AudioScience cards. It does work with ALSA and JackAudio.<br />
<br />
== Should I upgrade my current system or reinstall? ==<br />
<br />
This is a great question. Whether you want to install a newer Operating System or just keep your current system and compile Rivendell for it really depends on your own situation. The best course of action would be to install a newer version of the OS and then Rivendell 4.x but the choice is up to you. There are benefits both ways.<br />
<br />
'''Reinstall with latest OS:'''<br />
* Provides the latest OS and future security updates<br />
* Gives the benefit of being able to install Rivendell packages from Paravel and update to new versions with a simple apt update rivendell command<br />
* More future proof, less likely that some feature in the future might stop working<br />
<br />
'''Compiling Rivendell 4.x on older Ubuntu 18.04 based system:'''<br />
* If you have a large Ubuntu 18.04 installation and are not ready to update your entire plant <br />
* You have hardware which works on the older OS but doesn't work properly on a newer OS<br />
<br />
Of course either route you go you should first set up a test environment before changing anything mission critical. This could be done in a VM or on an actual spare computer. If you have decided to compile Rivendell 4.x from source on Ubuntu 18.04, continue on.<br />
<br />
== Uninstalling Rivendell 3.x ==<br />
As mentioned this guide presumes you are running Rivendell 3.x compiled from source based on the previous [[Legacy Rivendell 3.6.7 on Ubuntu18 04 | Legacy Rivendell 3.6.7 on Ubuntu18 04]] instructions.<br />
<br />
Start by making a backup of your database. For this you can use rddbconfig. As a rule of thumb never do an update of Rivendell without first backing up your database!<br />
<br />
Next shut down and uninstall Rivendell 3.6.x. If you don't do this you may run into issues compiling the new version. Change to your old source folder, stop your Rivendell services and uninstall.<br />
<br />
cd ~/rivendell-3.6.7/<br />
sudo systemctl stop rivendell.service<br />
sudo make uninstall<br />
sudo ldconfig -v<br />
<br />
== Preparing the Environment and Installing Dependencies ==<br />
<br />
Install the additional dependencies to make 4.x work. Many of these will already be installed, but it'll only install the ones missing.<br />
<br />
sudo apt install -y apache2 libexpat1-dev libexpat1 libid3-dev libcurl4-gnutls-dev libcoverart-dev \<br />
libdiscid-dev libmusicbrainz5-dev libcdparanoia-dev libsndfile1-dev libpam0g-dev libvorbis-dev python3 \<br />
python3-pycurl python3-pymysql python3-serial python3-requests libsamplerate0-dev qtbase5-dev libqt5sql5-mysql \<br />
libsoundtouch-dev libsystemd-dev libjack-jackd2-dev libasound2-dev libflac-dev libflac++-dev libmp3lame-dev \<br />
libmad0-dev libtwolame-dev docbook5-xml libxml2-utils docbook-xsl-ns xsltproc fop make g++ libltdl-dev \<br />
autoconf automake libssl-dev libtag1-dev qttools5-dev-tools debhelper openssh-server autoconf-archive \<br />
gnupg pbuilder ubuntu-dev-tools apt-file libmagick++-dev icedax at-spi2-core qt5-default autofs<br />
<br />
Check that QT5 is your default version. Open a shell<br />
qtchooser -print-env<br />
<br />
It should read<br />
<br />
QT_SELECT="default"<br />
QTTOOLDIR="/usr/lib/'''qt5'''/bin"<br />
QTLIBDIR="/usr/lib/x86_64-linux-gnu"<br />
<br />
If it does not reference a QT5 folder then reinstall qt5-default and check again<br />
sudo apt install qt5-default<br />
<br />
Set up Docbook environment variable and put the value in your .bashrc file so you won't have to worry about it next time.<br />
<br />
export DOCBOOK_STYLESHEETS=/usr/share/xml/docbook/stylesheet/docbook-xsl-ns<br />
echo export DOCBOOK_STYLESHEETS=/usr/share/xml/docbook/stylesheet/docbook-xsl-ns >> ~/.bashrc<br />
<br />
== Building and Installing the Code ==<br />
<br />
Grab the latest production release. Head over to [https://github.com/ElvishArtisan/rivendell https://github.com/ElvishArtisan/rivendell] and on the right hand side of the page click on '''Production Release Latest.''' On that page under Assets you'll find 2 source code links, one a ZIP and the other a .tar.gz. Grab whichever one you prefer (for my example I'm grabbing the .tar.gz) and extract the source code. Change to that directory.<br />
<br />
tar -zxvf ./Downloads/rivendell-4.1.0.tar.gz<br />
cd ~/rivendell-4.1.0/<br />
<br />
Now compile and Install the code<br />
<br />
./autogen.sh<br />
./configure MUSICBRAINZ_LIBS="-L/usr/local/lib -ldiscid -lmusicbrainz5cc -lcoverartcc" --libexecdir=/var/www/rd-bin --sysconfdir=/etc/apache2/conf-available<br />
make<br />
sudo make install<br />
sudo ldconfig<br />
<br />
Set up the rest of the environment<br />
<br />
sudo cp ./conf/rivendell-env.sh /etc/profile.d/rivendell-env.sh<br />
sudo cp ./conf/rivendell-ubuntu.pam /etc/pam.d/rivendell<br />
sudo cp ./conf/rd-bin.conf /etc/apache2/conf-available/<br />
<br />
Set up systemd<br />
sudo systemctl daemon-reload<br />
sudo systemctl enable rivendell.service<br />
<br />
Update your database:<br />
sudo rddbmgr --modify<br />
<br />
Make sure your Apache configuration is set up<br />
sudo a2enconf rd-bin<br />
sudo a2enmod cgid<br />
sudo systemctl restart apache2<br />
<br />
You may want to double check the settings in your /etc/rd.conf file.<br />
<br />
At this point you can probably just restart your Rivendell services and it will likely all work, but it isn't a bad idea to reboot your system.<br />
<br />
== Audio ==<br />
<br />
ALSA will work in the same manner that ALSA has always worked.<br />
<br />
JackAudio will work in promiscuous mode as described in the [[https://wiki.rivendellaudio.org/index.php/Legacy_Rivendell_3.6.7_on_Ubuntu18_04#Optional_-_Jack_Audio_with_Promiscuous_Mode Jack Audio with Promiscuous Mode]] section of the 3.x wiki. The environment variables will already be set in both the rivendell.service file and the rivendell-env.sh file, so no need to edit anything.<br />
<br />
If you have decided to start up Jack using qjackctl *before* you start the Rivendell services then make sure that the Jack dbus interface is turned off.<br />
<br />
If there are initial problems getting Jack to run, it could be temporary files stored in /dev/shm being owned by a user other then the user starting up jackd. I have mainly run into this situation in test scenarios where I have first started Jack and then started the Rivendell services, but there was one time when the temporary files prevented Jack from starting up in any manner. To fix this, first stop your Rivendell services<br />
<br />
sudo systemctl stop rivendell.service<br />
<br />
Then check to see if Jack is running, if it is then end all Jackd (or jackdbus) processes (kill it with the kill command if you have to)<br />
<br />
ps -C jackd<br />
ps -C jackdbus<br />
<br />
Delete the temporary jack files in /dev/shm/<br />
sudo rm /dev/shm/jack*<br />
<br />
Then restart Jack and / or your Rivendell services. With promiscuous mode set up it really is easier to have Rivendell start Jackd, however some may still decide to start Jack first using qjackctl (or in some other manner) and then start Rivendell services.</div>Ltyndalehttp://wiki.rivendellaudio.org/index.php/Building_Rivendell_from_sourceBuilding Rivendell from source2023-06-22T18:54:13Z<p>ElvishArtisan: </p>
<hr />
<div>==Overview==<br />
In most cases, the preferred way to run Rivendell is to use the pre-built packages provided by Paravel Systems. However, it can sometimes be desireable to build Rivendell directly from the source code provided by the upstream developers; such as when one wishes to test a new feature or bugfix that has been committed on GitHub but not yet released in the pre-built packages. This page provides instructions on how to go about this.<br />
<br />
==Caveats==<br />
Builds directly from source should ''always'' be considered "experimental". They should '''never''' be attempted on systems that are in production "on the air" use! Thus, it is '''highly''' recommended that a seperate, dedicated computer be used for such builds.<br />
<br />
The following instructions assume the distro environment to be Ubuntu 22.04 "Jammy Jellyfish". The fundamental princples apply to other distros as well though; with any differences mostly being confined to using '''yum''' or '''dnf''' instead of Ubuntu's '''apt''' package management tool. <br />
<br />
==Preparing the Installation Environment==<br />
The first step in preparing a system to do a source build of Rivendell is to install the basic Rivendell environment by running one of the [https://wiki.rivendellaudio.org/index.php/Installing_Rivendell#Appliance_Installers Rivendell appliance installers].<br />
<br />
Once installation is complete, the next step is to remove the pre-built Rivendell packages. Start by opening<br />
a Terminal window and then entering:<br />
<br />
sudo apt purge rivendell rivendell-opsguide<br />
<br />
Next, download the Rivendell source code from GitHub (an operation known as 'cloning'):<br />
<br />
git clone https://github.com/ElvishArtisan/rivendell<br />
<br />
and then move into the newly-created 'rivendell/' directory:<br />
<br />
cd rivendell<br />
<br />
next, open a second 'Terminal' window and likewise move into the 'rivendell/' directory.<br />
<br />
Arrange the two windows side-by-side. In the left-hand one, view the 'INSTALL' file using the 'less' file viewer:<br />
<br />
less INSTALL<br />
<br />
then scroll down to find the 'DISTRO-SPECIFIC NOTES' section, find the subsection for your Linux distro,<br />
then the block of text within that subsection that starts with 'Environmental variables:'. In the right-hand terminal window, add the 'DOCBOOK_STYLESHEETS' variable to your environment by copy-pasting the text found in the 'Environmental variables:' subsection. For example:<br />
<br />
export DOCBOOK_STYLESHEETS=/usr/share/xml/docbook/stylesheet/docbook-xsl-ns<br />
echo DOCBOOK_STYLESHEETS=/usr/share/xml/docbook/stylesheet/docbook-xsl-ns >> ~/.bashrc<br />
<br />
Next, find the block of text that begins with 'Required build packages:'. Copy all of the remaining text in the block, then enter 'sudo apt install ' into the right-hand window, followed by the text copied above.<br />
<br />
The result should look something like this:<br />
<br />
sudo apt install apache2 libexpat1-dev libexpat1 libid3-dev libcurl4-gnutls-dev libcoverart-dev \<br />
libdiscid-dev libmusicbrainz5-dev libcdparanoia-dev libsndfile1-dev libpam0g-dev libvorbis-dev \<br />
python3 python3-pycurl python3-pymysql python3-serial python3-requests libsamplerate0-dev \<br />
qtbase5-dev libqt5sql5-mysql libsoundtouch-dev libsystemd-dev libjack-jackd2-dev libasound2-dev \<br />
libflac-dev libflac++-dev libmp3lame-dev libmad0-dev libtwolame-dev docbook5-xml libxml2-utils \<br />
docbook-xsl-ns xsltproc fop make g++ libltdl-dev autoconf automake libssl-dev libtag1-dev \<br />
qttools5-dev-tools debhelper openssh-server autoconf-archive gnupg pbuilder ubuntu-dev-tools \<br />
apt-file hpklinux-dev libmagick++-dev<br />
<br />
The system will present a list of packages to be installed, followed by confirmation prompt. Enter 'Y'. The system will begin downloading and installing packages. Allow it to finish.<br />
<br />
==Building the Code==<br />
Now we're ready to build the code! In the right-hand Terminal window, run the command:<br />
<br />
./configure_build.sh<br />
<br />
The script will now analyze your system and print a summary of what it found. It should look something like this:<br />
<br />
configure: "|---------------------------------------------------------|"<br />
configure: "| *** RIVENDELL CONFIGURATION SUMMARY *** |"<br />
configure: "|---------------------------------------------------------|"<br />
configure: "| Platform Information: |"<br />
configure: "| Distribution Name ... Linux Mint|"<br />
configure: "| Distribution Family ... Debian |"<br />
configure: "| Update I18N Data ... No |"<br />
configure: "| |"<br />
configure: "| Configured Audio Drivers: |"<br />
configure: "| Advanced Linux Sound Architecture (ALSA) ... Yes |"<br />
configure: "| AudioScience HPI ... Yes |"<br />
configure: "| JACK Audio Connection Kit ... Yes |"<br />
configure: "| |"<br />
configure: "| Audio Codecs: |"<br />
configure: "| FLAC Encoding/Decoding Support ... Yes |"<br />
configure: "| MPEG Decoding Support ... Yes |"<br />
configure: "| MPEG Layer 2 Encoding Support ... Yes |"<br />
configure: "| MPEG Layer 3 Encoding Support ... Yes |"<br />
configure: "| OggVorbis Encoding/Decoding Support ... Yes |"<br />
configure: "| M4A Decoding Support ... No |"<br />
configure: "|---------------------------------------------------------|"<br />
configure: <br />
configure: <br />
configure: Now enter 'make' to build the software.<br />
<br />
Now, simply enter the single word 'make' and hit <enter> to start the build. Depending upon your hardware, this step could take awhile to complete.<br />
<br />
==Installing the Code==<br />
To install and run the newly built code, run the following:<br />
<br />
sudo make install<br />
<br />
and then check for and apply any needed database updates by doing:<br />
<br />
sudo rddbmgr --modify<br />
<br />
And finally, start the Rivendell service by doing:<br />
<br />
sudo systemctl restart apache2<br />
sudo systemctl restart rivendell<br />
<br />
And that's it.</div>ElvishArtisan