ohmtech-rdi / eurorack-blocks

Software to Hardware Prototyping for Eurorack using C++, Max/Gen~ or Faust
Other
318 stars 22 forks source link

Simulator class shouldn't be defined in a part schematic field #613

Closed ohmtech-rdi closed 1 year ago

ohmtech-rdi commented 1 year ago

The simulator class shouldn't be defined in a part schematic field.

We have currently weird concepts like rogan.1ps defining the Simulator as being erb::AlphaPot <erb::Rogan1Ps>. This is broken because what we ultimately describe for the simulator is a concrete widget class VCV can use. Typically here, the Rogan 1PS could be assembled with a Bourns PEC11R for example (and Tip-top audio does this for its module "One").

A better place for this would be in erbui manufacturer files, as it keeps track of valid assemblies:

manufacturer Electrosmith {
   control Encoder {
      style rogan, 1s
      parts encoder, rogan.1s
      simulator "erb::BournsPec11R <erb::Rogan1S>"
   }
}

Should we need to decrease cardinality in the manufacturer file, we would introduce functions, which would be defined anyway in this file.