kallaballa / MidiPatch

MidiPatch is a scriptable and modular real-time software synthesizer using the PatchScript API
GNU Affero General Public License v3.0
12 stars 2 forks source link

Rethink the language/dialect design #122

Open kallaballa opened 4 years ago

kallaballa commented 4 years ago

There are certain parts of PatchScript that still need to be analyzed an rethought before it gains wider use:

  1. Streaming to filters. At the moment we are using the input method of elements that can be streamed to. Find a more elegant solution
  2. Importing synthesizers into synthesizers: What should a synthesizer module loading system be capable of and should we use lua's module loading system? How to sandbox the module loading?
  3. Sanboxing of the lua context. At the moment only print as well as PatchScript elements and functions are allowed. Do we want to allow more by default? Do we want to have a mechanism for allowing more (with a warning when loading a synthesizer model, like access control of apps)?
  4. Arithemetic operations on different kinds of elements. Currenty it is not obvious form the code what kind of operation an arithmetic expression on PatchScript elements actually means. e.g. does it shape the signal, does it weight a control parameter? Is there an elegant way to explicitly tell one from the other?