Skip to content

optixx Posts

Revisited an old MacOS Application

8 Years ago when the App Store for MacOS Apps was quite new i develop a little utility app for managing clipboard contents. The app was definitely inspired by Linux apps that i used all the time and was i really missing such a tool on MacOS.

For me it was the first time writing an OSX App using Objective-c. Took me a couple of weeks to get everything working how i wanted it. I went all in and setup an Twitter account and Blog for it to do some Marketing. Some i had the crazy to ask money for the app 🙂 And it never took off, i have maybe sold 50 Apps. After a year the Apple developer account subscription ran out. Which i never renewed and so the app got removed form the AppStore. But i also kept using the tool and i gave to co-workers in my company.

For me it was interesting to revisit this project after 8 years and make it work on Mojave and Xcode 10.3. First of all i have to say it took me like 5 minutes to get back into Xcode. I mean they must have added quite a lot of features to it over the the years but still it feels and works the same.

To make it compile, I had to fix a couple of build settings regarding OS versions and arch. I did re-build of one external framework that i was unable to link with current Mojave built app.

It took me a couple of hours to make this app release ready again. I spent the most time to enroll into the developer program, where i was struggling with the DUNS number for my company, that includes non roman characters which are not allowed for the company name in the Apple developer program signup form. So I had to go thru the customer support to sort that out.

Comments closed

Positive Grid Bias FX Review

I have been using Bias FX for over 3 years now. I always likes the visual approach of the prodcut and i think they deliver a good sounding plugins for hobbist guitar players like me.

I started using Bias FX Standard Version after seeing postive Youtube reviews. Over the time i upgraded to the Professioal Version because often i got stuck trying to use a preset from the Tone Cloud that wouldn’t load without having e.g. the Professional Version. I also bought two more Expansion packs because i still kept running into problems when trying out downloaded presets. I don’t remember the exact number, but I estimate that I already spent like 200 Euros for upgrades and extension packs. During that process i also tried Bias AMP 1 and later i upgraded to Bias AMP 2. And now iam struggling to do the upgrade to Bias FX 2 since i feel a little bit brunt by Postive Grid Software quality and upselling strategies over the last 2-3 years.

Lets talk a bot about software quality now. I collected a couple things i experienced using Postive Grid products over the years.

  • UI Inconsistencies: I have used 4 major Bias Products and all do commong stuff like login popups, audio settings differently. Always changing UI elements, slightly improving stuff but not back porting fixes and improvements to older version of the product.
  • Broken UI: I have used a couple of version of Bias FX that were broken. It was not possible to use the text paste function during the login popup, which is a major annoyance if you use long random passwords with password manager. The worst version i had once, would just crash if would use the paste function on the password input field.
  • Postive Grid updates all their products regulary, mostly updating the core sound eingine. But after each update (which does not use an autoupdater), you need to re-login to your account to access the license settings and use the Tone Cloud. I think this could be dont better and let the user not re-login everytime after each software update. So everytime you start your DAW you end up typing in passwords for you plugins before you can start to work.
  • Aparently the Tone Cloud UI is added via webviews and the overall experience feels a bit hacked together when related to the App native crossplatform UI toolkit. I guess it should be possbile to develop the whole UI of the app and the online components in one native webcontainer and let the rest to done by the native audio core that probably written in C++.
  • While using the Tone Cloud you can preview all presets, dispite the constraint if you actually entitled to use them regarding app version and extensions packs. So after previewing and installing presets you will get feedback if you return to the main app once you want to active the preset where you end up getting and upgrade nag screen.
  • The whole Midi integration feels hacked together, there 2-3 UI approaches how to assign Midi Commands to different function of your stack, which can be quite cumbersomne if try to setup a more complex setup and try to sort out conflicts.

Overall considering Postive Grids upselling tactics, that the prodcut is fragmented in a way that usage feels like using a crippleware and their permament marketing push, offering deals on their website, gives me the impression they either don’t have great trust in their product or they haven’t found the right market fit. In way they should try to deliver a good product that customers are happy to pay a one time payement, and if this is sustainable for them they should consider migrating to a SaaS model. But this feature limitations and upselling tactics are annoying for a power user.

So in the future i stick to smaller plugins that don’t implement this permanent upgrade pressure.

Comments closed

Fun with Midi Pedals

I rediscovered my hobby playing the guitar in the last years. It was interesting to see the big changes that happened in the last 20 years in guitar amplification technology. In the 90ies i used to play my guitar with a couple of stompboxes into a huge 100 watt tube head with a 4×12 cabinet. Very loud and heavy stuff. Today there are many new options, especially when you are into computer stuff. So amp modeling on the computer is a thing. This might not be rock solid setups for on stage performance. And sure i like to play my Marshall DSL straight with a Tubescreamer in front and delay pedal in the FX loop. Great sound. But the stuff you can do with amp modeling on the computer is really fantastic.

Bias FX
Bias FX

Bias FX

At some point i settled on Bias FX from Positive Grid, because its just does everything i need. I use it as standalone and in Logic Pro as a plugin and also on my iPad. I use Bias Amp 2 with gives even more option playing with the parameters in in your amp. You can basically change each aspect of your amp, like preamp tubes, power tubess, the transformer, voicing stack and finally your IR for cab simulation.

Bias AMP
Preamp
Transformer

I sometimes get a bit frustrated with the code quality of Positive Grid products. The frontend parts tends to be a bit buggy, like crashes when you paste a password in Tone Cloud login screen, stupid stuff like this. The UI consistency between their products is not great either. But on the positive side, you can try out so many different tones in Bias FX, using different pedals, setup stereo stacks or play with IRs. So you can basically try out tones that usually not possible to achieve, because it not feasble to aquire so many different pedals and amps, to get that certain tone. You want to sound like Metalica on Ride the Lighting, just login to Tone Cloud where you can download all kinds of community driven tones, there you will find a preset.

What i dislike with, that i often feel interrupted from playing because i have to grab the mouse and tweak some settings or toggle a pedal. Not really a relaxed playing position while cramped in front of a computer. For me that stands a bit in the way of playing. I figured it would be nice to have a foot controller for my amp modeling setup. I knew Bias FX supports Midi, so i got into Midi controllers.

Behringer FCB1010

Behringer FCB1010

After some research i went with the Behringer FCB1010 and the UNO firmware, it seemed so have all the features i needed and looked highly customisable.

Midi Monitor

I tought i will spent just a couple of minutes to connect to my Audio Interface and setup some “midi commands” in Bias FX. Man was i wrong…It was not that easy. I had to get my hands dirty and understand Midi basics. I used the Midi Montor to see whats was going on the wire.

Since my footcontroller came with the UNO firmware, which support the concept of stompbox in patches i was looking into that feature to get it working with Bias FX. So the idea is to have 5 different patches on the lower switch row. Pressing switch 1 will trigger a patch change e.g. “Dist Rythm”. The foot controller sends a Progamm Change(PC) to Bias FX. Once the patch is active, you can control individual stompboxes within the patch, using the top row of switches. Pressing one of the top row switches will trigger a stompbox toggle by sending a Control Change Messages (CC) to Bias FX. Here is a example patch and stompbox config.

Patch Name PC
1 Dist Rythm 1
2 Dist Lead 2
3 Clean Picking 3
4 Clean Chorus 4
5 Clean Lead 5
Stombox Name CC
1 Boost/Dist 51
2 Mod 52
3 Delay 53
4 Reverb 54
5 Misc 55

So my plan was to configure 5-10 patches with 5 stompboxes each. I also wanted to add support for the expression paddles on thefoot controller. That i can map one CC for Wah-Wah and a volume pedal. And another CC for the pedal value.
Put the foot controller in programming mode, then you would be doing some crazy “River Dance” style pattern tapping on the switches to get all the patches setup. That was not my cup of tea, too lazy for that. Started to look for a desktops program that would assist me building the config for the foot controller.

UNO Control Center

There is the offical FCB/UNO Control Center that work on OSX, but it was a bit glitchy and unmaintained, there is no 64bit build, which Mojave is starting to complain about. So i was not feeling confident spending 20 Euro on that.

FCB1010 Midi Editor

Spreadsheet View

I ended up using the FCB1010 Midi Editor via Wine.There were some quirks, like that i was not able to persist certain CCs for specific switch, which i could work around. After spending a couple of hours and many config round trips sending SysEx i got the setup working with Bias FX.

But one thing wasn’t working. When selecting a patch, each stompbox would have an inital state. Like patch 1 has the distortion pedal and the delay pedal active, thus the status led of that switched would be on. Which also means that the foot controller send a PC 1 to switch the actual patch in Bias FX and CC 51 and CC 53 to enable the distortion pedal and the delay pedal. But thats not how Bias FX works, if you select that patch in Bias FX the stompboxes are active in the patch. So the footcontroller would actually do the opposite, it would disable the distortion and delay. I tried to mitigate the problem my changing the initial stompbox states in Bias FX, but that was not was i wanted, because i often select the patch via mouse input. It also didn’t work consistently due timing issues. So i needed a feature to enable a new patch that has certain stompboxes active but not triggering the stompboxes CC messages on inital select of that patch. The UNO firmware would not support such.

Time to build my own Midi Controller

I started looking around and found an Midi examples using an Ardunio. I was never a huge fan of Ardunio, didn’t like the IDE and that it tries to hide all technical details from you. But there a lot of easy accessable components and librarys, which will make the project a lot easier for me. I found this Arduino Makefile project, so i could go without the IDE.

Poc

I stared with getting a debug console running and then implemented some midi commands using the midi library. Conntected some the switches and status LEDs to the POC. Added a debounce switch lib to get the switches working properly. Now it was time to write the real program. I came up with a couple of C structs to hold all the patch meta data and states. Finally added a small OLED Display via I2C for status display which patch is active and with stompboxes are selected.

main.ino

Soon i ran into hardware limits. I could only use half of OLED display because if was already out of SRAM on the AVR, and i could already see that i would run out of IO pins, too.

Ardunio Mega

So i switched to Ardunio Mega and 2,2″ QVGA TFT LCD Display. After refactoring the hardware part of the software , i got the the new display working. Time to cleanup the code and throw most of the stuff into a C++ class. I was trying to convert all the config stucts to C++ classes, but then the dynamic character of C++ got into the way and was eating to much memory, so i stayed with the static c structs for the config.

Poc

Downside was the TFT SPI display was a lot slower, too slow infact. Sure it has a lot more pixels to push, but still it was slow as a dog. Initial display code was a bit too simple.

  • Clear the screen
  • Render patch name and state
  • Render all the stompbox names and states

Patch 1

Patch 2

First i tried a different display lib which seems to be faster than the Adafruit_ILI9341 lib. But even with the faster lib, my approach to rendering was not fast enough. So i moved away from full blanking and switched the display code to partials updates.

What now…

The POC phase of the project is done and now its time to build the complete pedal. I need to put everything in a nice case, add all the 10 Momentary Switches and 10 status LEDs. I don’t really need to make PCB, everything can be wired directly to the Ardunio board, there are just a couple of pull ups, that can directly go on the switches. I need to decided how i want to do external power, probably the easiest way to do it, it to give access to the USB port of the Ardunio thru the case and use external a USB power brick. The hardest part right now is to find a nice case for it.

To be continued…

Comments closed

Amiga Cracktro Programming

I held a talk about Amiga Cracktro Programming at the DevHouseFriday 2016-05-13. This is the Cracktro i programmed for this talk. I went for some classic effects

  • Logo with wobble effect
  • Horizontal rasterbars
  • 2 pixel sincescroller
  • Mirror and water effect
  • Starfield
  • Futurecomposer chiptune

You can find the slides of the talk here.

Comments closed

AspeQt for OS X El Capitan

I updated and compiled AspeQt with QT 5.5.1 and made a build for OS X El Capitan. This has been requested for a while, but i never came around to install latest QT and get it working again. So here we go….

Download for OS X

AspeQt on OS X El Capitan
AspeQt on OS X El Capitan
1 Comment