I’m looking a way to edit on single line, customizable font / size, max. 10 chars, and limited character set (in my case : digits, uppercase letters, space, hyphen and period).
Unfortunately, TextField / LedDisplayTextField are too restrictive to do the job I want, too bad. Also I’ve read it’s impossible to change font / fontsize / font color… Perhaps I’m wrong?
Also I remember a bad experience (FroeZe module) by using keys processing over a TransparentWidget (OSD text input) because Del / Backspace keys remove the module, and the keyboard isn’t localized.
You are correct that Rack’s text fields are woefully lacking the ability to change fonts and colors, being very tied to Rack’s own Blendish-based themes (a Blender derived module), with no discernible way to provide an alternate theme.
We can hope that in Rack 3 VCV will provide improved text entry.
I have a number of modules in different plugins with edit fields on their surface that require custom font/size/color.
You can look at my text input alternatives. They’re not trivial to reuse because they are tied to my custom theming system, but might not be too hard to extract for your purposes. For filtering input you’d need to override onSelectKey.
Is it a good idea, or not, that’s the question. Sounds like smartphone lol…
Perhaps both solutions (it looks great if the user have the choice to use the keyboard or/and the “touchscreen” to edit the - 10 characters - preset/voice name!)
In fact, for DX7 synthesizer (hardware), the allowed character set is:
Uppercase letters A to Z.
Digits 0 to 9.
Space.
Hyphen.
Period.
Limit is 10 characters. Not used characters (empties) are padded by spaces (ASCII 32 / 0x20).
Also it’s a requirement for DX7-compliant SysEx files, either VCEM single voice (single preset), and VMEM 32-voice bank/cartridge.
I’m starting on “touchscreen edit” (like a tablet), but I’ve keep a large space between the fake DX LCD and the touchscreen keyboard, to add a possible textfield, and hint displays.
You had stated that it isn’t a DX7 clone. If it was me, I’d consider having an option for DX7 spec compatibility. In any case, subclassing and providing an override for onSelectKey is a good way to implement that filtering.
The module is able to export to DX7 SysEx. Yep of course at the moment, it’s not Dexed! as I’ve said couple of days ago. However, I’ve indicated “but close” → Assuming you’ve read the blog
By your reply, I’ve discovered your pachde plugins! I’ll must deep inside to understand them.
Thanks - merci Paul (in French, my language) for our exanges here!
EDIT: DX7 compatibility as option is… an excellent idea! However, the module layout is designed for DX7 parameters exclusively (I mean all pots, buttons etc right-side of the main screen). Voice (preset) name restrictions aren’t crucial (in my opinion - because naming a preset is a rare operation). Of course, alonside DX7 SysEx, I’m using a proprietary format (I’m using onSave/onAdd methods for more 4096 bytes), including additional paramaters (not implemented in the real DX7, or not saved in SysEx such operator on/off states, as example).