|
21 | 21 | import math |
22 | 22 |
|
23 | 23 | # Imports the low-level threading module |
24 | | -import _thread |
| 24 | +# threading module isn't supported by FL's interpreter but _thread does |
| 25 | +# However, using _thread makes FL crash eventually at launch on Windows and it isn't compatible with the macOS Python interpreter |
| 26 | +# Using _dummy_thread instead |
| 27 | +import sys |
| 28 | + |
| 29 | +if sys.platform == "win32": |
| 30 | + print("Windows OS detected. Imported _thread module.") |
| 31 | + import _thread |
| 32 | + |
| 33 | +if sys.platform == "darwin": |
| 34 | + print("macOS detected. Imported _dummy_thread module.") |
| 35 | + import lib._dummy_thread as _thread |
25 | 36 |
|
26 | 37 | ###################################################################################################################### |
27 | 38 | # User-editable constants for script customization |
@@ -145,6 +156,37 @@ def updateMixerTracks(dataType: str, selectedTrack: int): |
145 | 156 | nihia.mixerSetGraph(x - trackFirst, "PAN", mixer.getTrackPan(x)) |
146 | 157 |
|
147 | 158 |
|
| 159 | + # Checks the track group once more to clean up the last two tracks |
| 160 | + if trackGroup == 15: |
| 161 | + |
| 162 | + if dataType == "NAME": |
| 163 | + nihia.mixerSendInfo("NAME", 7, info="") |
| 164 | + |
| 165 | + # Track 7 --> Current |
| 166 | + if dataType == "VOLUME": |
| 167 | + nihia.mixerSendInfo("VOLUME", 6, info=" ") |
| 168 | + nihia.mixerSendInfo("VOLUME", 7, info=" ") |
| 169 | + |
| 170 | + if dataType == "PAN": |
| 171 | + nihia.mixerSendInfo("PAN", 6, info=" ") |
| 172 | + nihia.mixerSendInfo("PAN", 7, info=" ") |
| 173 | + |
| 174 | + if dataType == "IS_MUTE": |
| 175 | + nihia.mixerSendInfo("IS_MUTE", 6, value=0) |
| 176 | + nihia.mixerSendInfo("IS_MUTE", 7, value=0) |
| 177 | + |
| 178 | + if dataType == "IS_SOLO": |
| 179 | + nihia.mixerSendInfo("IS_SOLO", 6, value=0) |
| 180 | + nihia.mixerSendInfo("IS_SOLO", 7, value=0) |
| 181 | + |
| 182 | + if dataType == "VOLUME_GRAPH": |
| 183 | + nihia.mixerSetGraph(6, "VOLUME", 0) |
| 184 | + nihia.mixerSetGraph(7, "VOLUME", 0) |
| 185 | + |
| 186 | + if dataType == "PAN_GRAPH": |
| 187 | + nihia.mixerSetGraph(6, "PAN", 0) |
| 188 | + nihia.mixerSetGraph(7, "PAN", 0) |
| 189 | + |
148 | 190 |
|
149 | 191 | def updateMixer(): |
150 | 192 | """ Updates every property of the mixer of the deivce but the peak values. """ |
@@ -181,10 +223,10 @@ def adjustMixer(knob: int, dataType: str, action: str, selectedTrack: int): |
181 | 223 |
|
182 | 224 | if dataType == "VOLUME": |
183 | 225 | if action == "INCREASE": |
184 | | - mixer.setTrackVolume(trackFirst + knob, mixer.getTrackVolume(trackFirst + knob) + 0.01) |
| 226 | + mixer.setTrackVolume(trackFirst + knob, mixer.getTrackVolume(trackFirst + knob) + 0.02) |
185 | 227 |
|
186 | 228 | if action == "DECREASE": |
187 | | - mixer.setTrackVolume(trackFirst + knob, mixer.getTrackVolume(trackFirst + knob) - 0.01) |
| 229 | + mixer.setTrackVolume(trackFirst + knob, mixer.getTrackVolume(trackFirst + knob) - 0.02) |
188 | 230 |
|
189 | 231 | if dataType == "PAN": |
190 | 232 | if action == "INCREASE": |
@@ -567,11 +609,19 @@ def OnMidiIn(event): |
567 | 609 |
|
568 | 610 | if event.data1 == nihia.knobs.get("KNOB_7A") and event.data2 == nihia.knobs.get("INCREASE"): |
569 | 611 | event.handled = True |
570 | | - adjustMixer(6, "VOLUME", "INCREASE", mixer.trackNumber()) |
| 612 | + # Handles track group 15 exception |
| 613 | + if math.trunc(1/8 * mixer.trackNumber()) == 15: |
| 614 | + return |
| 615 | + else: |
| 616 | + adjustMixer(6, "VOLUME", "INCREASE", mixer.trackNumber()) |
571 | 617 |
|
572 | 618 | if event.data1 == nihia.knobs.get("KNOB_8A") and event.data2 == nihia.knobs.get("INCREASE"): |
573 | 619 | event.handled = True |
574 | | - adjustMixer(7, "VOLUME", "INCREASE", mixer.trackNumber()) |
| 620 | + # Handles track group 15 exception |
| 621 | + if math.trunc(1/8 * mixer.trackNumber()) == 15: |
| 622 | + return |
| 623 | + else: |
| 624 | + adjustMixer(7, "VOLUME", "INCREASE", mixer.trackNumber()) |
575 | 625 |
|
576 | 626 | # Normal knobs - decrease values |
577 | 627 | if event.data1 == nihia.knobs.get("KNOB_1A") and event.data2 == nihia.knobs.get("DECREASE"): |
@@ -600,11 +650,19 @@ def OnMidiIn(event): |
600 | 650 |
|
601 | 651 | if event.data1 == nihia.knobs.get("KNOB_7A") and event.data2 == nihia.knobs.get("DECREASE"): |
602 | 652 | event.handled = True |
603 | | - adjustMixer(6, "VOLUME", "DECREASE", mixer.trackNumber()) |
| 653 | + # Handles track group 15 exception |
| 654 | + if math.trunc(1/8 * mixer.trackNumber()) == 15: |
| 655 | + return |
| 656 | + else: |
| 657 | + adjustMixer(6, "VOLUME", "DECREASE", mixer.trackNumber()) |
604 | 658 |
|
605 | 659 | if event.data1 == nihia.knobs.get("KNOB_8A") and event.data2 == nihia.knobs.get("DECREASE"): |
606 | 660 | event.handled = True |
607 | | - adjustMixer(7, "VOLUME", "DECREASE", mixer.trackNumber()) |
| 661 | + # Handles track group 15 exception |
| 662 | + if math.trunc(1/8 * mixer.trackNumber()) == 15: |
| 663 | + return |
| 664 | + else: |
| 665 | + adjustMixer(7, "VOLUME", "DECREASE", mixer.trackNumber()) |
608 | 666 |
|
609 | 667 |
|
610 | 668 |
|
@@ -635,11 +693,19 @@ def OnMidiIn(event): |
635 | 693 |
|
636 | 694 | if event.data1 == nihia.knobs.get("KNOB_7B") and event.data2 == nihia.knobs.get("INCREASE"): |
637 | 695 | event.handled = True |
638 | | - adjustMixer(6, "PAN", "INCREASE", mixer.trackNumber()) |
| 696 | + # Handles track group 15 exception |
| 697 | + if math.trunc(1/8 * mixer.trackNumber()) == 15: |
| 698 | + return |
| 699 | + else: |
| 700 | + adjustMixer(6, "PAN", "INCREASE", mixer.trackNumber()) |
639 | 701 |
|
640 | 702 | if event.data1 == nihia.knobs.get("KNOB_8B") and event.data2 == nihia.knobs.get("INCREASE"): |
641 | 703 | event.handled = True |
642 | | - adjustMixer(7, "PAN", "INCREASE", mixer.trackNumber()) |
| 704 | + # Handles track group 15 exception |
| 705 | + if math.trunc(1/8 * mixer.trackNumber()) == 15: |
| 706 | + return |
| 707 | + else: |
| 708 | + adjustMixer(7, "PAN", "INCREASE", mixer.trackNumber()) |
643 | 709 |
|
644 | 710 | # Shifted knobs - decrease values |
645 | 711 | if event.data1 == nihia.knobs.get("KNOB_1B") and event.data2 == nihia.knobs.get("DECREASE"): |
@@ -668,11 +734,19 @@ def OnMidiIn(event): |
668 | 734 |
|
669 | 735 | if event.data1 == nihia.knobs.get("KNOB_7B") and event.data2 == nihia.knobs.get("DECREASE"): |
670 | 736 | event.handled = True |
671 | | - adjustMixer(6, "PAN", "DECREASE", mixer.trackNumber()) |
| 737 | + # Handles track group 15 exception |
| 738 | + if math.trunc(1/8 * mixer.trackNumber()) == 15: |
| 739 | + return |
| 740 | + else: |
| 741 | + adjustMixer(6, "PAN", "DECREASE", mixer.trackNumber()) |
672 | 742 |
|
673 | 743 | if event.data1 == nihia.knobs.get("KNOB_8B") and event.data2 == nihia.knobs.get("DECREASE"): |
674 | 744 | event.handled = True |
675 | | - adjustMixer(7, "PAN", "DECREASE", mixer.trackNumber()) |
| 745 | + # Handles track group 15 exception |
| 746 | + if math.trunc(1/8 * mixer.trackNumber()) == 15: |
| 747 | + return |
| 748 | + else: |
| 749 | + adjustMixer(7, "PAN", "DECREASE", mixer.trackNumber()) |
676 | 750 |
|
677 | 751 | ###################################################################################################################### |
678 | 752 | # Script logic |
|
0 commit comments