This is an exciting update for me, as I have been putting in a lot of work into this app since version 2.3 came out. There are a TON of new features and bug fixes in this version. I feel like version 3.0 is finally getting really close to be the full app I envisioned, but the beta testers will have to confirm that for me.
Ease of Use for New Users
One of the main issues with this app is that it has complicated topics that most people don’t know about. If you’ve never heard of an aggregate output device, then you’ll be quite confused when it comes time to use the system audio with AVTouchBar.
Not anymore (I hope).
Setup Guide on First Open
To counter this, I have implemented a startup guide when the user first launches the app. This includes information on starting the visuals, using the system audio, creating aggregates, and customizing the visuals. The biggest issue new users face is that they didn’t understand what the settings were used for and they would end up breaking the app by trying to make aggregates with the microphone.
This is my fault for allowing those settings to crash the app, rather than implement safeguards that would correct the users settings. But hey, it’s my first app ever so lesson learned. These are now implemented, including a fancy popup message that tells the user what they did wrong and instructs them the correct methods.
And here’s the startup guide. It’s not the prettiest, but it gets the job done.
To also make it easier for new users, I implemented a basic mode where all the user has to do is select the input and click visualize. All the settings will be automated in the background, eliminating any issues the user would have messing around with the audio settings.
In advanced mode, the user has the opportunity to take responsibility to adjust the audio settings and customize the visuals.
Changing the FFT value will change the speed of the visuals and the efficiency of the app on the cpu. Here is the breakdown on the effects of each FFT value:
- FFT = 4096: This will create slower visuals, but they will be more accurate. It is also the most efficient on the cpu.
- FFT = 2048: This will create a good balance between visual speed, accuracy, and efficiency on the cpu.
- FFT = 1024: This will create faster visuals, at a cost of them being less accurate and less efficient on the cpu.
These make up the buffer size, which determines how often the audio engine will take a sample of the audio being played. The bigger the FFT value, the bigger the sample size.
The typical range a human can hear is between 20Hz and 20,000Hz, which is what the range of AVTouchBar is set to.
This could be beneficial to audio professionals wanting to look at the frequencies being used, or if the majority of songs you listen to are in a specific range you can adjust the visuals for that spectrum.
You can also adjust the bar width, which can adjust the visuals in an interesting way. When you adjust the width, the amount of bars will automatically change to fill up the remainder of the touch bar space.
Creating an Aggregate
Why allow the user to customize creating an aggregate you ask? Well, you can actually get the system audio without creating an aggregate device. by using Loopback or Audio Hijack.
You can see the full details on how to do this in the documentation page: “How to use the System Audio Without an Aggregate“
That leads us right into the full documentation. The entire app is now documented and should contain everything you need to fully understand how the app works, all it’s features, and how to fix any issues that arise. Check it out here!
Full screen mode
You can now use the entire width of the touch bar if you so choose. I’m super proud and happy that we got this working because it’s pretty awesome. You can activate this by pressing “Toggle Control Strip” in the menu bar or by using the keyboard shortcut CONTROL + SHIFT + Z.
I tend to use a larger bar width when using full width mode, as it helps compress some of the smaller waves that occur. It’s tough to focus on the entire touch bar if there are small waves everywhere. Whichever settings you choose, this is pretty awesome.
New Bug Fixes
Aggregate Device Issues
One of the main issues in beta 2.3 was that people were trying to create an aggregate device with the microphone. This would crash the app because you can’t use the microphone as an output. When the app crashes, it doesn’t have a chance to delete the aggregate device we made during that session.
This is a problem because you cannot “override” or “replace” an aggregate using the same device name and unique identifier. For example, if you have a file named “testing.doc” already on your computer, and you try to save a file as “testing.doc” it will ask you if you want to replace the file. Well with aggregates, the aggregate won’t do that, it will just fail to create it.
I fixed this by having the app check on startup whether an aggregate with the name AVTouchBar exists, and if it does, delete it’s ass. With the new safeguards and this feature included, this should eliminate the heavy majority of all issues people were having using the app.
Really excited to hear the beta testers feedback on this new version, as I put a ton of work and time into it. If you want to join the remainder of the beta program and get early access to the app, you can join here:
And you can join my mailing list to get updates on the app’s development and release date!
Jake is a professional baseball player that was drafted by the Toronto Blue Jays in 2016. He played in the minor leagues for the Blue Jays for 5 years until he was drafted by the Miami Marlins in the rule 5 draft in 2020. In his spare time, he enjoys creating technology videos on YouTube and pursuing creative technologies including an audio visualizer for the touch bar on MacBook Pros.