pac-dev / protoplug

Create audio plugins on-the-fly with LuaJIT.
Other
278 stars 36 forks source link

FR: make a GUI-less version #6

Open SpotlightKid opened 9 years ago

SpotlightKid commented 9 years ago

I find the embedded editor in protoplug too limited and hard to use, so I use an external editor anyway.

Also, when you have a working script, the editor isn't need anymore, so it would be nice to have a version of protoplug without the GUI. The plugin's parameters could still be edited through the generic parameter interface of the host. One would just need a way to specify the script to load. Maybe through program changes and a protoplug configuration where programs can be mapped to script files?

pac-dev commented 9 years ago

Here's a nice way of making an "external file mode" based on your idea, no configuration necessary:

But keep in mind that in the current protoplug, the main script is never an external file: instead, it is saved into the host's project. I consider this to be important because it means that a given project will always sound the same and not become oddly different if a script file has been modified or updated (although includes or headers can change).

Still I like the idea of a lightweight version with no embedded code editor, based on the external file mode. I probably wouldn't make it completely GUI-less for several reasons (notably the whole custom codable GUI features, see the spectral filter and pitch distort examples), but it would be nice to use as all coding would be done in your own full-featured editor (and without involving some weird temporary file system).

Keeping both versions in the same code base would be the hard way, as it would require a lot of reorganization. The easy way would be to fork and start deleting large swathes of code. But I must say, right now my priority is rather making some cool effect and generator scripts.

SpotlightKid commented 9 years ago

Thanks for your comments! Just keep the idea in the back of your head :)

coderofsalvation commented 9 years ago

Hi,

I was just following this on the sideline, but decided to join in as well. How about simplifying the external editor-feature to:

The reason why i propose this is that i had exactly the same situation with reaJS (reaper's scripting plugin). On linux (wine) the editor behaved rather strange, so I write scripts using an external editor and just pressing the 'reload'-button.

And how about a 'jailed' protoplug runtime :

HINT crossplatform .ini- reader/writer class:

The ini-file variables could decide whether to show the default gui, the host gui, or a .png file. Optionally load a list of patches etc.

I would be interested in a 'jailed' version to:

Basically a crossplatform synthedit without modular environment..just a hint my friend ;)

pac-dev commented 9 years ago

I like the idea of making distributable, self-contained plugins from one protoplug script. There is already an optional configuration file, ProtoplugFiles/prefs.xml. Right now it's only used for keyboard shortcut customization, but it could very well be used for more stuff. it's in XML, since JUCE already provides a great cross-platform XML reader.

Also agree about the reload button (maybe a menu item with keyboard shortcut) which would already be a good feature for anyone wanting to work with an external editor. And why not an "auto-reload" option in the menu to enable watching the last loaded file and automatically reload and recompile it when it changes.

PS: I just fixed the formatting in your comment which was borderline-unreadable because of the automatic mail-to-Github-comment conversion.

coderofsalvation commented 9 years ago

borderline-unreadable lol. Im going to re-use that genious phrase :)

A-Cloud-Ninja commented 1 year ago

Necroing this in case the code is out there and just not pushed or something, but I'm using protoplug in my system now as a "global" mic detection, and would also very much like a gui-less version.