This is an old revision of the document!


Program Changes

Some ideas for new Program Change features.

See Feature Request 455.

"All Numbers" Mode

All Numbers mode will give the user full control over the banks and program changes sent for a track. The MIDI Instrument Parameter Panel within the Instrument Parameters box (MIPP) will provide edit boxes for bank select msb, lsb, and program change. Checkboxes will also be provided to turn on/off the sending of bank selects and program changes.

To get to this mode, we'll need to modify the bank editor (“Manage MIDI Banks and Programs” window). One approach would be to add a “device page”. When the user selects a device in the tree on the left, the page on the right will show device-level information, such as:

1. Program Change Mode
2. Author
3. Author email

click for larger version

Program Change Mode would be a combobox providing the following options:

1. All Numbers (the default?)
2. Bank Selects and Program Changes (the usual)
3. Variations by LSB
4. Variations by MSB

#1 is the new All Numbers mode. It could be the default when creating a new device. This would give the user full control at first. Then they can switch to mode #2 (or import a device) and reduce the amount of control as they wish.

#2 is the original banks and program changes mode. This is another candidate for the default as it will be most familiar to veteran users.

#3 is the “Show Variation list based on LSB” option that was on the various non-device pages in this editor. That checkbox and combobox can be removed once this is in place.

#4 is the “Show Variation list based on MSB” option that was on the various non-device pages in this editor. See #3.

Hiding the Checkboxes

Once the above is in place, we could add a checkbox (on the device page) that would hide/show the bank/program checkboxes on the MIPP:

Program Change Mode            [Bank Selects and Program Changes  v]
Show Bank/Program Checkboxes   [X]
Author                         [                                   ]
Author email                   [                                   ]

This would simplify the MIPP for synths that have no need for disabling Bank Selects and Program Changes.

Bank    [Variation 1            v]
Program [1. Wide Acoustic Grand v]

Program Changes Only

We could also add a “Program Changes Only” mode for older synths that can't handle Bank Selects. This would get rid of the Bank line on the MIPP:

Percussion                 [ ]
Program    [1. Voice 1      v]
Channel    [Fixed           v]

Program Organization

Farther into the future, it might be a good idea to provide some more options for organizing program changes in a more user-friendly manner. Banks aren't necessarily organized logically. We might want to offer the ability to organize program changes arbitrarily. Perhaps something like a grid control:

Name           Category  MSB  LSB  Program Change
Grand Piano 1  Piano      0   122       1
Grand Piano 2  Piano      0   112       1
E. Piano 1     Piano      0   122       6
E. Piano 2     Piano      0   123       6
E. Piano 3     Piano      0   122       5
E. Piano 4     Piano      0   123       5
Jazz Organ     Organ      0   122      17
Pipe Organ     Organ      0   123      20
Rock Organ     Organ      0   122      19
Vibraphone     Misc       0   122      12
Strings        Misc       0   122      49
Harpsichord    Misc       0   122       7
Wood Bass      Bass       0   122      33
E. Bass        Bass       0   122      34

That would then be transformed on the MIPP into a category combobox for selecting one of the categories, and a Program combobox for selecting one of the programs within that category. This allows arbitrary reorganization of programs by the device file author.

Category  [Piano          v]
Program   [Grand Piano 2  v]

For a synth as simple as the above (Yamaha P-105) one could leave the Category column empty and then only the Program line would appear with all 14 programs.

Note: The microKORG device file uses the fact that the microKORG ignores bank selects to organize its patches into categories.

 
 
dev/program_changes.1416674890.txt.gz · Last modified: 2022/05/06 16:07 (external edit)
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki