thenfour / digifujam

32 stars 1 forks source link

Room purposes support (radio, jamming, etc) #275

Closed thenfour closed 2 years ago

thenfour commented 2 years ago

I normally hate "global purpose" or "status" or "type" sort of flags. However this is meant to reflect the user's intention, which is indeed per-room global.

The idea is that when a room is intended for JAMMING, the GUI reflects this purpose by displaying instruments, keyboard view, pitch bend, etc.

And when a room is intended for RADIO, the GUI reflects this by showing radio controls.

Currently this is achieved in a very bad way by checking if the room has a radio or not. So the point of making this a flag is:

  1. to stop using this bad logic and structure it better
  2. to allow a room's purpose to be dynamically set by mods when a room wants to change from jam to radio.
  3. to clarify room roles. for example when is the keyboard display shown, precisely?
  4. allow this purpose to be saved & restored in server state backups.