WIP VST: Conductor - Live chord chart

Hi Everyone,

I’ve spent the last month learning how to work with JUCE, and I finally have an early alpha screenshot :slight_smile:

I’m making a VST plugin which I’m calling “Conductor” to help me learn and perform songs on the guitar.

Basically, it’s like karaoke for chords (though I’ll probably add in lyrics and popup reminders before I finish).

For now I’m just using xml to enter song data (on the left) but the layout is working quite nicely (on the right). I’ll add in controls for visually editing the chord chart soon.

I’ve also implemented a controllable parameter thingy so that your daw can tell conductor where it is in the playback. I’m currently working on the code that highlights the beat you are currently up to and the ones you’ve already played.

Do you think this is something that other people might find useful and does anyone have any suggestions / feature requests?

3 Likes

Did some UI concepting at lunch:

Getting there slowly:

This is proper layout in Studio One now (the first screenshot was just a mockup).

Small update, moved a few things around, packed in the longest song I know to pile on a bit of load:

Coded a menu bar system today, can add a row of three state buttons with a couple of lines of code now:

Aight, I’ve pulled this project out of deep storage so I can get more organised for doing music next year.

The first version (in the posts above) had waaay too many bugs to share with other people, mostly because the class structure I used was really bad. In between then and now I’ve learned quite a bit about how to structure code more sensibly so I rebuilt the plugin from the ground up and now the whole thing is running much more nicely.

Here’s a little youtube showing a basic demo of how it works (no audio):

1 Like

So… now that’s out the way, I got a (noob) question about how to use the Colour Selector.

I bring one up in its default layout no problem:

But I’d like to ditch the sliders to shrink its footprint. I’ve read through the relevant page here:
https://docs.juce.com/master/classColourSelector.html

But I don’t know how to adjust those layout options for the colour selector when it’s just a member variable.

[edit] Ah, found it in a thread where someone was helping me with something else earlier in the week:

ColourSelector colourBeatBg{ ColourSelector::showColourAtTop + ColourSelector::editableColour + ColourSelector::showColourspace, 3, 3 };

Btw lemme know if you wanna have a play with it.

I’m curious to see how it goes in other daws (I only have Studio One).

Glad you found a solution. Just some improvement:
Since the ColourSelector::showColourAtTop etc are bit flags, you should use the bool OR operator | instead:

ColourSelector colourBeatBg { ColourSelector::showColourAtTop | ColourSelector::editableColour | ColourSelector::showColourspace, 3, 3 };

Using the + will work 90% of the time, but if you were to set a flag twice, the + would unset and set the neighbouring bit instead. That can easily happen, when some flags are combinations, e.g. RectanglePlacement:

RectanglePlacement::centred + RectanglePlacement::xMid // doesn't center
RectanglePlacement::centred | RectanglePlacement::xMid // does center

Ah nice, ta.

And, fwiw, it was you who told me about setting the defaults for member variables :slight_smile:

1 Like