[RDD] Rivendell SAS 32KD modifications

Mike Price mprice at srnradio.com
Fri Dec 19 17:00:15 EST 2014


For the last couple of weeks Michael Barnes has asked question under the topic of "Inadequate feature in RD 2."  I want to express my thanks to everyone's  response to the topic.

We have finally been able to overcome several roadblocks to using Rivendell  with our 3 frame SAS 32KD switcher.   I am posting this in hopes it may help anyone else who wish to make modifications to the stock Rivendell sources.

First take note that I am a relative noobe to Linux so I have had long learning curve as I overcome these roadblocks.

I had downloaded and installed the Rivendell Appliance onto a good computer with appropriate hardware, downloaded and decompressed the rivendell-2.10.2.tar.gz tarball.  I edited the /lib/rd.h file line 160 from #define MAX_ENDPOINTS 1024 to #define MAX_ENDPOINTS 2048.  I tried to run ./configure which failed.  It turns out that the configure script expects a file named libjack.so in a nonexistent /usr/lib64/.libs directory.   I found the file in the  /usr/lib directory.  My solution was to mkdir /usr/lib64/.libs and copy all the libjack.* files from the /usr /lib/ directory.

I then tried to "make" Rivendell.  No joy.  Turns out that the Appliance does not have the packages necessary to compile  the Rivendale sources.  I found in the wiki http://rivendell.tryphon.org/wiki/CentOS_6_Notes#Core_Libraries the note for Core Libraries.  I took the lazy route and pasted the "yum install libogg-devel vorbis-tools ..." into the command line.  That did not work because of embedded hidden newline characters in the webpage.  So I had to paste the whole mess into gedit and remove the hidden /n (newline) characters and then paste that into the command line.  All the packages then installed correctly.

The "make" command worked and "make install" worked. I opened up RDAdmin, Manage Hosts, Edit rdserv, Switchers GPIO and tried to create a switcher with more than 1024 inputs.  It did not work.  I found that I had to open up CentOS Administration Services and restart rivendell.  Then I was able to create a switcher with up to 2048 inputs or outputs.

I modified the  %Base%/ripcd/sasusi.cpp file at line 275 (Note the line numbers I give are no longer exact because I added some comments within sasusi.cpp.)  The following test was added so that input or output numbers of 1000 or greater would send a 4 digit extended USI command.
                if((cmd->arg(1).toInt()<1000)&&(cmd->arg(2).toInt()<1000)) {
                  snprintf(str,256,"%c%03d%03d\x0D\x0A",20,
                                cmd->arg(1).toInt(),cmd->arg(2).toInt());
                }
                else {
                  snprintf(str,256,"\x05T%04d%04d\x0D\x0A",
                                cmd->arg(1).toInt(),cmd->arg(2).toInt());
                }.

I was unable to determine why there was a reference to the Logitek VGUEST_RESOURCES table within the context of the sasusi.cpp driver. This was preventing the relay command GO from working.  So sasusi.cpp was further modified by commenting out lines 57-69, 313, 314, 322-341 and changing line 317 to:
cmd->arg(2).toInt());
from the original:
sas_relay_numbers[cmd->arg(2).toUInt()-1]);
Lines 35, 457, 461 were also commented out because they became unused variables.

I then modified %Base%/rdadmin/list_endpoints.cpp line 271 from:
l->setText(0,QString().sprintf("%03d",i+1));
to:
l->setText(0,QString().sprintf("%04d",i+1));.
This allowed the four digit Inputs and Outputs to be listed in proper order when using the Configure Inputs or Configure Outputs buttons in the Edit Switcher window.

Again, I want to thank Fred and everyone else who helped us on this forum.


Michael W. Price
Manager, Technical Services
Salem Radio Network
6400 Belt Line Rd., STE 210
Irving, TX  75063
972-831-1920
mprice at srnradio.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://caspian.paravelsystems.com/pipermail/rivendell-dev/attachments/20141219/8d2e803f/attachment.html>


More information about the Rivendell-dev mailing list