Notes to self… (fighting a Rivendell install in an Ubuntu VM, and connecting it to a Rivendell “Broadcast Appliance”)

…just because it’s been forever and a day since I’ve posted anything, here’s a little something I’ve been fooling with at home. The notes are a mess, and might only make sense to me; actually, there’s a pretty good chance that they might not even make much sense to me, anymore.

Anyway, the gist–before you dig any deeper and get royally confused–is that I was fighting with trying to create a virtual machine on my bedroom PC in order to connect to my “streaming” PC downstairs, and go through some of the same headaches that someone at a radio station might experience on a routine basis. An actual post on all this stuff *might* show up in the future–and by “actual post” I mean something that took some time to write, instead of an ol’ copy-paste of notes.

…oh, the deal with the notes? Yeah, well, I had to crash my attempts a couple times, and got frustrated with trying to retrace my steps from memory. So, yeah. Notes! Plus, I figured I wanted to eventually come up with some sort of howto at a later date, as the Rivendell documentation–what documentation that exists–is a bit confusing. Oh, and JACK documentation, too.

Unfortunately, these notes kind of drop off toward the end, as I finally began to have success…

installed ubuntu 14.04–made sure to set a “real” hostname, as Rivendell will expect/work-a-helluvah-lot-better-with one
reboot

installed guest additions
changed ip to manual — Rivendell will expect/work-a-helluvah-lot-better-with manual IP… plus, I connect so many devices, I like handling IPs instead of relying upon DHCP
installed gnome-session-fallback gdm – made gdm default
logout, back in to get responsive session

enabled other canonical sources, refreshed
began instructions at https://help.ubuntu.com/community/UbuntuStudioPreparation
changed terminal to unlimited scrolling
saved suggested packages from first studio prep step… would not install–may check later if packages would be worthy tracking down–moved to kxstudio repo step
installed kxstudio repo
installed low-latency kernel
skipped wine, etc. why need wine, since running in VM?
did update step, and reboot.

logged in via gdm. saved machine state, thus far.

sudo apt-get install pulseaudio-module-jack
sudo apt-get install qjackctl
…installed the following suggested from the studio guide–eh, why not? look promising:
sudo apt-get install vlc vlc-plugin-jack audacious asunder soundconverter patchage

ran qjackctl to configure JACK
…left all defaults. started server via start ‘play’ button
…messages window showed a few errors.
…stopped jack
dbus error. dammit.
…killed qjackctl
started qjackctl, changed dbus option to off, exit qjackctl
killed jackdbus from sysmon
started qjackctl and server… tons of errors, it stopped jack.
sudo adduser username audio
start again. still borked.
…restart

error seems to be with trying to use dbus and sink module…
…managed to start/stop jack twice with dbus disabled.

…after a ton of tinkering, finally discovered a solution that is working
…have no idea of the steps i used, now. @#$%!
…did have to create .asoundrc in ~/
…am running via dbus interface again
…wish i could figure out what happened to make things work.
…created save point.

proceeded to rivendell part…
***in order to install qt3 dependency per instruction page, did this:
***echo “deb http://archive.ubuntu.com/ubuntu precise main universe multiverse” | sudo tee /etc/apt/sources.list.d/precise.list
***sudo apt-get update
sudo apt-get install libcdparanoia-dev libflac++-dev libsamplerate0-dev libid3tag0-dev libid3-3.8.3-dev libcurl4-gnutls-dev libsndfile-dev qt3-dev-tools libpam0g-dev libsoundtouch1-dev libasound2-dev libtwolame-dev libmad0-dev libjack-jackd2-dev libqt3-mt-mysql build-essential
sudo apt-get install libmp3lame-dev polymer qt3-qtconfig mysql-client
wget https://software.paravelsystems.com/source/rivendell/rivendell-2.13.0.tar.gz
tar -zxvf ~/rivendell-2.13.0.tar.gz
cd ~/rivendell-2.13.0
./configure
make

computer restarted. had to delete, untar, configure, make again.
make install
***note–for both runs of configure, did not configure to set rd-bin directory. had an issue in a previous attempt with this.
…skipped the copying of pixmaps, etc.
sudo addgroup rivendell
sudo adduser `whoami` rivendell
sudo gedit ~/rivendell-2.13.0/conf/rd.conf-sample
…changed audioowner
…changed hostname to server IP
…changed syslog to file
…changed log file paths
…saved as /etc/rd.conf
skipped apache conf
sudo mkdir /var/snd
sudo chown `whoami`:rivendell /var/snd
sudo chmod 0775 /var/snd
skipped ugly fonts
qtconfig — changed to guide recommended to make it pretty 🙂

mkdir /home/jeremiah/rdlogs
mkdir /home/jeremiah/scripts
sudo cp /etc/init.d/rivendell ~/scripts/rivendell-init-backup
…I wanna see if i can modify the script later…
sudo cp /etc/X11/xinit/xinitrc.d/start-rdmonitor.sh ~/scripts/start-rdmonitor.sh.backup
sudo rm /etc/X11/xinit/xinitrc.d/start-rdmonitor.sh
save, restart

#!/bin/bash
#FILE: jack-after-startup.sh

#Start Rivendell Daemons
/usr/local/bin/caed
/usr/local/bin/ripcd
/usr/local/bin/rdcatchd
sleep 5 #not strictly necessary

#!/bin/bash
#FILE: jack-on-shutdown.sh

#Stop Rivendell Daemons
killall rdcatchd ripcd caed
sleep 5

created above files, made executable, added to qjackctl
created simple patchbay for rivendell_0 playout_0L,R to system playback_1,2

…beginning the networking part–part riv, part my stuff
…riv nfs based stuff from https://tecwhisperer.com/install-rivendell-radio-automation-part-3-install-client/
sudo apt-get install cifs-utils nfs-common
…followed autonfs instructs
…noticed goofup in copying code. fixed. (copy did not keep formatting, plus html char$ came through) restarted script/job
…after files populated, noticed wouldn’t play due to differing UID and GID. before tweaking server’s export options–which were set to root for share, restarted VM

jack started freaking out again, and sound from pulse started coming at the wrong rate. :-/
performed dist-upgrade, restarted guest and host.
…had to re-install vbox additions due to dist-upgrade; restart again.

looked at rivendell script, noticed it really wasn’t calling anything that relied upon original location, so moved to /usr/local/bin. still requires sudo to run. will figure this out later, by adding to sudoers

having too many issues with jack. going for jack 1, now, instead of jack 2. this removed qjackctl. :-/
attempted to work with jack using cadence. worked for a while. still having issues. going to try and kill pulse altogether, and use jack+alsa like the machine downstairs. :-/
edited /etc/pulse/client.conf–autospawn=no
…did this because total removal of pulse starts killing ubuntu.
reinstalling jackd2 and qjackctl, then restarting.

after trying to figure out the issue with the sample rate for the card, finally discovered an answer:
https://www.withoutthesarcasm.com/fixing-audio-in-linux-guests-virtualbox/
…crap. maybe. jack still failed. going back to jack 1, and trying to compile qjackctl, as ubuntu keeps trying to force jack 2 if i install qjack
using 0.4.2 from sourceforge, extracted to home. discovered need of following packages and symlink through configure and make attempts:
sudo apt-get install libjack-dev qt5base-dev sudo apt-get install libqt5x11extras5-dev System Settings)
Noticed that if daemons haven’t already been called, rd apps will call for startup and initialization of daemons on their own.

“modprobe snd-aloop” added to /etc/rc.local — there’s gotta be a better/different way, but i’m still learning linux as i go

edited sudoers to allow nopasswd on rivendell “daemons” for my user and the rivendell group

One thought on “Notes to self… (fighting a Rivendell install in an Ubuntu VM, and connecting it to a Rivendell “Broadcast Appliance”)”

Leave a Reply

Your email address will not be published. Required fields are marked *