I'm working on a new DSP profile with the starting point being dacdsp-v12-1.dspproj from the github master branch. The changes I am incorporating are:
- Route data from the DSP output to the PI so that it can be read from the alsa capture device. I used the documentation here to get me going:
The only change I made was to have the source for ASRC6 be the DSP rather than the SPDIF receiver. In fact, I applied all changes from the previously referenced article from within SigmaStudio because my aim is to have a profile that has this functionality when I boot the PI. This works well and as expected.
- Fix the issue with the reversed output channels. This is a real problem for me because my application uses both the digital output and the analog output and while I can swap the cables on the RCA, I can't do anything about the digital outputs. So I switched them in SigmaStudio.
After doing this I tested to make sure that everything was working as expected i.e. DSP output available on the PI capture device, digital and analog outputs reversed from 'factor' by pushing the new program to the DAC+ DSP. Everything works as expected. I then created a new profile with metadata,including a checksum, using the documentation here:
The profile that I created installs cleanly with dsptoolkit install-profile and after reboot I can see that it remains installs and that it is in the list of available profiles and I can re-install it.
All seems well but.... when using this profile the channels are in the correct order i.e. they appear to still be reversed according to dacdsp-v12.xml. The other thing that happens is that sometimes after reboot there is no sound on the outputs but when I execute a script to read from the capture device the sound suddenly appears.
I may have missed a step but I'm not exactly sure where to look for the issue. My guess is that I can look at what's in the profile .xml file and identify the 'ParamName' for the outputs to see if they are set as expected but I'm not exactly sure what to look for here. Any guidance would be much appreciated.
It's all pretty impressive how the DSP profile is wired into the UI and this is my next area of investigation.