Go Back   Cockos Incorporated Forums > Projects > Deprecated REAPER issue tracker > Feature Request

FR: Faster Bank & Program Change Entry & Editing Issue Tools
issueid=5559 04-06-2015 04:56 AM
Human being with feelings
FR: Faster Bank & Program Change Entry & Editing
Faster Bank & Program Change Entry & Editing

FR: Faster Bank & Program Change Entry & Editing
Discuss here: http://forum.cockos.com/showthread.php?t=158415

Backwards-compatibility note:
This FR allows the user to configure REAPER to disable all features of this FR and continue to use
the existing 'Bank/Program Select Window' for all Bank & Program Entry work.

FR Summary:
The focus of this FR is to minimize the number of mouse clicks & gestures needed to write and edit
MIDI Bank and Program Entries.
This is done by using new Bank & Program Lists which are displayed
when clicking the mouse cursor in the Bank/Program Select Lane. This FR recommends the ability to
customize how these Lists are displayed, which helps maximize available screen "real estate."

Benefits of Customizable "Bank Lists" & "Program Lists":
- Much faster Bank & Program changes (as little as 2 clicks for Program changes!)
- Great feature for VSTis using multiple patches & articulations per-instrument

Below is a comparison between the current system and this FR in the number of gestures required
to change Banks and/or Programs.

Number of gestures required by the current system to write new Bank and Program Entries
(6 gestures):

1.) Double left-click in "Bank/Program Change" Lane.
2.) Left-click on Bank drop-down List to display Banks.
3.) Left-click on a Bank in the Bank List.
4.) Left-click on Program drop-down List to display Programs.
5.) Left-click on a Program in the Program List.
6.) Press Enter key or click [OK] button to commit changes.

Number of gestures required by this FR's system to write new Bank and Program Entries
(3 gestures):

1.) Left-click in "Bank/Program Change Lane."
- This displays the Bank & Program Lists within the loaded .ReaBank, if any.



2.) Left-click on a Bank in the Bank List.
- This locks in the Bank for selection.
- The Bank & Program Lists remain open to allow for Program selection.


3.) Left-click on a Program in the Program List.
- This locks in the Program for selection.
- The Bank & Program Lists close. A Bank/Program Entry is written to the Lane.


/////////////////////////////////////////////////////////////////

Number of gestures required by this FR's system to write only a Program Change
(using the most recently selected Bank, if any, as well as a special preference)
(2 to 3 gestures):

1.) Left-click in "Bank/Program Change Lane."
- This displays the Bank & Program Lists within the loaded .ReaBank, if any.

2.) Left-click on a Program in the Program List.
- Note: If you select only a Program (and do not select a Bank) the most recently used Bank Entry,
if any, is automatically selected and the Bank/Program Lists close.
- Note: Step 2.) requires the below preference to be enabled:

[X] Automatically close Bank/Program Lists after a Program is selected (off by default)

- If the above preference is enabled, left-clicking on a Program in the Program List writes a
Bank/Program Entry at the current Editing Guide Line position. The last Bank used, if any,
is also written to this Bank/Program Entry. If there is no previously entered Bank, the first
Bank in the Bank List will be used (Bank 000.)

- If the above preference is disabled, and the user first selects a Program, they will also have to
select a Bank to close both Lists, which would be Step 3.). After a Bank and Program are selected,
in any order, they are written to a Bank/Program Entry at the current Editing Guide Line position.

Reasoning behind the preference:
"[X] Automatically close Bank/Program Lists after a Program is selected":


Short answer: I only change Programs, which renders Bank changes unnecessary.

Long answer: Speaking from personal use, I treat Banks like musical instruments. I treat Programs
within a given Bank like playing techniques for that musical instrument. I use 1 TCP per Bank/Instrument,
then change the Program/playing technique by entering a Program Change Entry
(where the Bank Entry portion remains the same, but the Program Entry portion varies.)

//////////////////////////////////////////////////////////////////

Options > Preferences > Editing Behavior > MIDI Editor:

Mouse Behavior:
[ ] Display Bank List when left-clicking mouse cursor in Bank/Program Select Lane
[ ] Display Program List when left-clicking mouse cursor in Bank/Program Select Lane
- Note: Disabling both above preferences disables nearly all functionality of this FR. (Off by default?)
- Note: Enabling the above two options can take up a lot of screen space.
- Note: Displayed Lists are determined by loaded .ReaBank/.ins file, if any.
----------------------------------------------------------------
[ ] Display Bank List when left-clicking mouse cursor on an existing Bank/Program Entry
[ ] Display Program List when left-clicking mouse cursor on an existing Bank/Program Entry
- Note: Enabling the above two options can take up a lot of screen space.
- Note: Displayed Lists are determined by loaded .ReaBank/.ins file, if any.
- Note: Irrespective of the 2 above preferences, double left-clicking on an existing
Bank/Program Entry
loads the familiar Bank/Program Select Window (current behavior.)


////////////////////////////////////////////////////////////////

Column Display Customizations:
- Maximum number of displayed columns: [4 (default)] (valid ranges: 1 - 8?)
- Note: If set to 1 maximum displayed column, display a vertical scrollbar with mousewheel support like
current behavior within "Bank/Program Select" window.
- Note: If the maximum number of displayed columns can't display all Banks or Programs contained within a
.ReaBank, display a horizontal scrollbar underneath the columns (for 2 or more columns.)


- Maximum number of Bank/Program entries per column:
[32 (default)] (valid ranges: 1 - 128)
- Example: 128 Banks or Programs would fill 4 columns with 32 entries per column (4 x 32 = 128).

- Column width (in pixels): [241 (default)] (241 is also current)
- Benefit: Smaller column width allows more screenspace for additional columns
- Benefit: Larger column width allows more screenspace for long Bank and Program names.


[ ] Display Bank Number in Bank List
[ ] Display Program Number in Program List
- Benefit: Quality control. Samplers such as Kontakt list the Program Number next to the Program Name.

/////////////////////////////////////////////////////////////////

"Recently Used Banks List" & "Recently Used Programs List":
What they are: The "Recently Used Banks List" and "Recently Used Programs List" are a quick way to select the
most used Banks and Programs in your project, without needing to wade through an entire Bank List or
Program List to select the one you want.

Where they are: The "Recently Used Banks List" and "Recently Used Programs List", if enabled, are displayed at
the beginning of a Bank List and Program List, respectively (mockup pictures below.)
A horizontal line seperates them from the main Bank List & main Program List.

"Recently Used Banks & Programs Lists" Options:
- Maximum Banks in 'Recent Banks List': [0] (0 for no 'Recently Used' List)
(default to 0)
- Maximum Programs in 'Recent Programs List': [0] (0 for no 'Recently Used' List) (default to 0)

Note: The next 2 'Recently Used Banks & Programs Lists' preferences can only be enabled
one at a time:

Either...

[X] Recently Used Banks & Programs Lists sorted by numerical order in .ReaBank/.ins (on by default)

Example:
- Maximum Programs in Recent Programs List: [5]
- Recently used Program Numbers: 2, 5, 17, 24, 74
- Numerical order of Programs: 2, 5, 17, 24, 74


or...

[ ] Recently Used Banks & Programs Lists sorted by frequency of use
(off by default)
Note: When organizing by frequency of use, this List updates automatically based on frequency of use (naturally.)
Note: This organizing by frequency of use should be stored within the .rpp for each Bank Entry
(Store frequency of use for each Bank. Also store frequency of use for each Program within each Bank.)

Example:
- Maximum Programs in Recent Programs List: [5]
- Recently used Program Numbers: 2, 5, 17, 24, 74
- Frequency of use: 1st: 24 (stac), 2nd: 2 (sus), 3rd: 17 (trem), 4th: 5 (bend_up), 5th: 74 (chord_E-min)


////////////////////////////////////////////////////////////////

- Bank & Program Lists theme/display options:
In: Preferences > Appearance > Theme Editor > Theme color/font controls:
Bank List font: [use current font] (Loads "Font/Font Style/Size" Windows)
Program List font: [use current font] (Loads "Font/Font Style/Size" Windows)

- Bank/Program Entry theme/display options:
Bank/Program Change Entry font:
[should use a larger font size] (Loads "Font/Font Style/Size" Windows)

Current Bank/Program font size (hard to read):


Mockup Bank/Program font size (much easier to read):


////////////////////////////////////////////////////////////////

Editing Guide Line:


What it is: This is the MIDI Editor's version of the existing "Media Item Editing Guide Line."
It's a new GUI element for all Bank, Program and all other MIDI data Lanes, as well as for editing MIDI Notes.
(The Editing Guide Line is not necessary for accessing the Bank List & Program List requested in this FR.)

Benefit: The Editing Guide Line denotes the position of where a Bank/Program Change Entry will be
written to or moved, as well as all other types of MIDI data. This makes it easy to place MIDI data
in the correct position, which is especially important with timing relationships between
Notes & Bank/Program Entries.

How it works: A vertical Editing Guide Line is displayed at the mouse cursor position in all open Lanes
as well as in the Note Background Area when any of the following occur:
- Hovering the mouse cursor over a MIDI Lane
- Hovering the mouse cursor over the Note Background Area
- Drawing a new MIDI event (Note/CC/Bank/Program, etc.)***
- Editing an existing MIDI event (Note/CC/Bank/Program, etc.)***
*** Note: Drawing a new MIDI Note renders an Editing Guide Line at the note_on position
as well as the note_off position. (Just like Media Items.)
*** Note: Editing an existing MIDI Note's edge or position renders an Editing Guide Line at the
note_on position as well as the note_off position. (Just like Media Items.)

////////////////////////////////////////////////////////////////

- Editing Guide Line theme/display options:
In: Preferences > Appearance > Theme Editor > Theme color/font controls:
[X] Display Editing Guide Line
- MIDI Editor Guide Line color
- Guide Line fill mode (Normal, Add, Dodge, Multiply, Overlay, HSV Adjust)

Double Left-clicking at the Editing Guide Line Position:
- Double left-clicking at the Editing Guide Line position in the
Bank/Program Select Lane displays the familiar Bank/Program Select Window (current Lane behavior.)


Important backwards-compatibility note:
From the familiar Bank/Program Select Window, the user can still edit Bank, Program, Channel and
MSB/LSB data as well as load a .ReaBank/.ins file.

As stated earlier, this FR allows the user to configure REAPER to disable all features of this FR
and continue to use the Bank/Program Select Window for all Bank & Program Entry work.


////////////////////////////////////////////////////////////////

Mouse Cursor Relationships with Bank/Program Lists:
- Lists remain open even if the user moves the mouse cursor away from the Lists.
- If the Bank/Program Lists are open, they only close if:
- User presses the Esc. Key
- User left-clicks, right-clicks, or middle mousewheel clicks outside of the Lists.
- User left-clicks on only a Program. (configurable to remain open after selecting only a Program)
- User left-clicks on a Bank and a Program (selections are committed to both)

////////////////////////////////////////////////////////////////

Mousewheel Behavior with Floating Bank/Program Lists:
[ ] Mousewheel scrolls through floating Bank/Program Lists when mouse cursor hovers above either
(off by default)
(Only scrolls through List directly underneath mouse cursor, not both.)

Commiting changes after mousewheel scrolling:
To commit changes after mousewheel scrolling to the desired Bank and/or Program, the user must either:
1.) left-click on the Bank and/or Program, or
2.) press the [Enter] key. After this, both Lists close and a Bank/Program Change Entry is written to the Lane.

Additional mousewheel notes:
- Bank selection and Program selection via mousewheel should be determined by
Mouse Cursor position over their respective Lists. (Hovering & scrolling over Bank List
scrolls through Banks. Hovering & scrolling over Program List scrolls through Programs.)
- Single mousewheel scroll up gesture decreases Bank or Program selection by 1 Entry.
- Single mousewheel scroll down gesture increases Bank or Program selection by 1 Entry.
- Cycle through Bank List & Program List with mousewheel
(Scroll up gesture from first Entry in List cycles to last Entry in List.
Scroll down gesture from last Entry in List cycles to first Entry in List.)
Benefits: Select Entries faster and reduce hand fatigue.

Discuss here: http://forum.cockos.com/showthread.php?t=158415

Thanks!
- Mike
Issue Details
Issue Type Feature Request
Project Deprecated REAPER issue tracker
Category MIDI recording and playback
Status Suggested
Priority 4
Suggested Version 4.78
Implemented Version (none)
Users who would use this feature 6
Users who would not use this feature 0
Assigned Users (none)
Tags (none)

Reply

Issue Tools
Subscribe to this issue

All times are GMT -7. The time now is 03:48 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2017, vBulletin Solutions Inc.