Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New 'Launch Exclusively' option for numRepeats #3213

Open
wants to merge 7 commits into
base: community
Choose a base branch
from

Conversation

todd-gochenour
Copy link
Contributor

@todd-gochenour todd-gochenour commented Jan 5, 2025

A new option, 'Launch Exclusively' (numRepeats=-2), isolates a clip section from all other launch activity. This option is found to the left of 'Launch non-exclusively' (numRepeats=-1). Any section launch activity will arm the non-exclusive section to start flashing and then turn off.

Section Launch ignores any clip that is in a section with numRepetitions == -2, which is the indicator that a clip is launched 'exclusively'. This new mode extends the meaning of the existing 'non-exclusively' mode by standing outside section launch activity. The behavior is retained for clips marked 'launch non-exclusively' to flash and turn off when a new section is armed to launch.

A link to the test song XML can be found in a link below.

SETUP: All clips are 1 measure long. Section (1) in the key of C with 2 repeats. Section (2) is in G with 4 repeats. The drum kit in Section (3) is marked 'Launch Exclusively'. The drum kit in Section (4) is marked 'Launch Non-exclusively'. Two instruments are in sections (1) and (2). A third instrument in both sections is a FILL clip with a walk-up to C in section (1) and a walk-down to G in section (2). The difference between exclusive and non-exclusive can be seen quickly in this song by first arming sections (3) and (4) and then arming section (1). As section (1) arms, section (4) is colored red and section (3) remains green.

START: Two ways to start. Either section (3) is the only clip ON when PLAY is started, or alternatively section (1) is armed as a section before play starts. Note that if any tracks in section (1) are armed individually or loaded from disk already armed, then this section will loop infinitely and not queue up per numRepeats.

LAUNCH: After play starts, launch section (1). Drums in (3) continue. FILL Instrument in section (1) does a walk-up. Section (1) begins. Drum track (3) still ON. Instrument fill played once and now is OFF. Section (2) is flashing red and Section (1) is flashing green. OLED is reporting 2 Bars Remaining. Instrument Fill on Section (2) plays during the last bar of the repeat before (2) launches.

STOP: After section (2) launches, the 'exclusive' section (3) is NOT flashing green. The section (2) instruments are flashing green. If left to complete 2 repetitions, then all clips will stop.

REPEAT: However, if section (1) is armed to launch again, the non-exclusive section (3) button becomes solid green and continues to play. The section (1) flashes green. This effectively repeats step number 4) above.

TEST NON-EXCLUSIVELY: Launch section (4) after (1) has launched. Section (1) is flashing green while playing for its two-bar repeat. Section (4) flashes red for one bar and green for the second. It turns off when section (2) launches.

TEST SONG FILE SAVE: When song saveed to disk, a section's numRepeats values allows numbers in the range -2 to 9999.

The same behavior was observed to occur in Session Grid View.

section with numRepetions == -1, which is the
indicator that a clip is Launch Non-Exclusively.
Copy link
Contributor

github-actions bot commented Jan 5, 2025

Test Results

106 tests  ±0   106 ✅ ±0   0s ⏱️ -1s
 16 suites ±0     0 💤 ±0 
 16 files   ±0     0 ❌ ±0 

Results for commit e555a51. ± Comparison against base commit e936bb8.

♻️ This comment has been updated with latest results.

@todd-gochenour
Copy link
Contributor Author

Here is the song used in testing.

Testing song example.zip

@todd-gochenour
Copy link
Contributor Author

Open Issues:

  1. Would this feature be better named 'Launch Independence'?
  2. Should the final flashing queue before song stops be flashing red instead of green?
  3. I'd like to see a different flashing style, a slower gradient fade, while more than one bar remains in the queue before launch. Then when the last 4 beats occur the current flashing makes it obvious that a launch is about to happen.

@m-m-adams
Copy link
Collaborator

Yeah maybe change it to "plan non exclusively"? I think that makes it clearer that it doesn't only refer to launches. Additionally I think this should be a new mode rather than a change of the existing mode since this removes the ability to have a clip which starts on its own and ends on section switch

For your open issues 2 and 3 both sound good to me!

@todd-gochenour todd-gochenour changed the title Launch Non-Exclusively Section New 'Launch Exclusively' option for numRepeats Jan 7, 2025
@todd-gochenour
Copy link
Contributor Author

todd-gochenour commented Jan 7, 2025

Open Issue (1): Left existing label for 'Launch Non-exclusively' alone. Added new mode 'Launch Exclusively'.
Open Issue (2): Not implemented. I was wrong about the colors. Flashing green means 'currenly playing but about to stop' and flashing red means 'not playing but about to start'.
Open Issue (3): Not implemented.

@todd-gochenour todd-gochenour changed the title New 'Launch Exclusively' option for numRepeats [DrAFT] New 'Launch Exclusively' option for numRepeats Jan 7, 2025
numRepeats.  Launch Non-exclusively remains as it was.
@todd-gochenour todd-gochenour changed the title [DrAFT] New 'Launch Exclusively' option for numRepeats New 'Launch Exclusively' option for numRepeats Jan 7, 2025
@todd-gochenour
Copy link
Contributor Author

Updated test song configuration with added 'Launch Exclusively' mode.
Testing song example xml.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants