astriiddev / Ami-Sampler-VST

VSTi 8-bit Sampler inspired by the sound of the famous Commodore Amiga for Windows/MacOS/Linux using VST3/AU/LV2
GNU General Public License v3.0
171 stars 2 forks source link

Portamento up and down #2

Open ngeiswei opened 8 months ago

ngeiswei commented 8 months ago

Suggestion

Adding a portamento up/down control to mimic Protracker's 1xx/2xx effects.

Tentative Description (Subject to Change)

Motive

~With such effect, one could potentially write a script to convert MOD to MIDI+Ami-Sampler.~

EDIT: a better reason is to apply oldschool effects in newschool DAWs.

Placement

Where could such controller be placed on the GUI?

MIDI CC

Alternatively, since it is more a dynamic controller than a preset parameter, it could simply be a MIDI CC (or two, one for up, one for down).

Merely adding MIDI CC would have the advantage of not breaking backward compatibility.

Help

I'm happy to help implementing it. I just want your opinion before I start looking into it.

ngeiswei commented 8 months ago

They are other Protracker effects such as

Adding them to the GUI might start to be too much, but they could easily be mapped to MIDI CC as well.

astriiddev commented 8 months ago

That's definitely not a bad idea. I think the biggest challenge would be mapping all the MOD parameters to JUCE's AudioProcessorValueTreeState without having it even more cluttered (frankly it's already too cluttered for my liking 😅).

I did include note glide in monophonic mode which could be used to recreate portamento, but specifically a portamento control as well as tremolo and arpeggio would be cool to implement.

I've been considering adding an options menu that would show extended parameters in place of the waveform graphic and users could toggle between the menu and the waveform graphic (I'm thinking something similar to Plogue's Chipsynth SFC). Maybe the portamento, tremolo, and arpeggio controls can go in there?

I think mapping them to the AudioProcessorValueTreeState would be a better implementation than MIDI CC since that's what DAWs use for automation and then users can map their MIDI CC to the automation parameter; though this would require an extra settings menu in the standalone app to add CC mapping outside of the DAW.