Restarting work on the Swift-based effects box.... Tonight I cracked Swift UI view/subview resizing, and so now a nice UI is presented to hold effects and an effects graph. Plus, the main part is an audio plugin and it will function on both iPad and Mac's Logic Pro.

New direction: Swift-based plugin and (maybe) a standalone app. I researched how audio plugins on macOS/iPadOS work and the best direction is to use Apple's Swift language (and Swift UI) to create a software-only plugin system. This will include the current C++-based MIDI communications used to upload new DSP components/settings to the hardware.

At lunch, experimenting with audio plugins, using Apple's cookie cutter method. It works pretty well, really. I at least have the custom audio plugin showing up in either Logic Pro or Ableton. Step in the right direction!

Just beginning the Swift Audio Unit Project part of this..... I think it will take around a month to have a collection of Audio Unit plugins, including several effects and maybe two amp models.

The bit of benchmarking was helpful. In order to build a PC/Mac UI, I don't think I need to mimic Apple's Logic Pro, exactly. The Line6 Helix Native is fairly basic in its UI design. Today, though, I went ahead and started working on the basics to load audio plugins, each of which would contain the exact same effect that is loaded in the hardware..... In this way, I can either deliver the audio plugins to strictly Mac or iPad, or to the hardware.

Trying out Line6's Helix Native to understand who advanced these plugin effects (and amp modeling) has become over the years and decades. One thing I'll note from the beginning: It seems that they do not have an iPad-native version - yet.

Started working on the MIDI component for iPad this afternoon. Right now, I am prototyping the simple MIDI data transmission in Swift. I may even look into using Swift / Swift UI for Mac / iPad, rather than Qt, but we'll see.

Good effort today with a great amount accomplished in getting MIDI interfacing up and running! I had to get clever about receiving and decoding the MIDI messages, but ti works well now. I think the next step is to try and have an iPad version of the app running and testing the MIDI / audio with the iPad as the controller!

Guitar synth work today/this evening, instead of polishing. It is just too tempting! I managed to at least have the synth effect instantiated along with both delay and the alien wah effect! Cool stuff! Needs more work, but it is getting there.

Fixed the delay parameter change issue! I just need to reference the variables within the struct. The delay sounds great, and now I think I will work on getting these two effects (delay/wah) polished and the system working in a usable way.

So, the delay and wah work together very well! The only issue is that, for some reason, setting the feedback or feedthrough parameters crashes the DSP program. I have a couple of ideas as to why and it will be fixed soon.

Lots of good work today, getting the delay processing C class into place. The module manager can add the effect now. The other part of the work involved some adjustment to ensure that a user could have two delay effects going if they liked.... That equates to more memory in the SDRAM part of the hardware and providing an extra index (maybe one more). I will have to test with two delays running, but I think it will work.

Work tonight on the delay module - going well. I need to work on the instantiation and maybe the struct form of the C class. The effect works very well, though!

Work on stereo reverb! I'm borrowing a page from Analog Devices and I am implementing their stereo reverb DSP algorithm.....

Work on MIDI tonight - I found a Qt-based MIDI driver that seems to work ok. I was able to send MIDI messages to the SC589 and receive back on the serial port. A little more work in this direction and I can switch the module chaining and parameters mods over to MIDI.

A great discovery this evening - MIDI connectivity on the iPad, tablets, etc. will greatly enhance this device! I can now have 2-3 uart connections to enable debug, MIDI/module setup, and firmware updates. Very cool.

More work here - I think I have taken the serial interfacing about as far as it can go - as in it is good for some things, maybe not for others. I'll keep looking into it, but I might look into what all MIDI can accomplish.....

More work at lunch today: Finishing up the stereo flanger DSP code and starting on the tube distortion DSP code. Going well.

Work continues.....looking into the flanger effects module, with code provided by Analog Devices. They made the C class static in nature, so I am having to make it into an instantiate object. The class also uses two supporting classes: an oscillator class and a delay class.

Good progress today! The Alien Wah module/widget within a Mac app can be used to change the parameters in the virtualized environment. Next up is setting up the volume module and working on adding/deleting modules and having the updates take place. Maybe getting another module created and receiving updates is another goal.

Show more
Librem Social

Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.

Stay safe. Please abide by our code of conduct.

(Source code)

image/svg+xml Librem Chat image/svg+xml