Skip to content

Commit

Permalink
fix bug - can access all presets
Browse files Browse the repository at this point in the history
  • Loading branch information
soundwrightpro committed Jan 3, 2024
1 parent a71c1e4 commit 53d9e90
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 9 deletions.
16 changes: 9 additions & 7 deletions Native Instruments/script/NILA_UI/NILA_navigation.py
Expand Up @@ -112,7 +112,7 @@ def browse(action):
if not NILA_core.seriesCheck():
plugin_skip = 1
else:
plugin_skip = 7
plugin_skip = 1 # normally 7

if event.data2 in (
nihia.buttons.button_list.get("RIGHT"),
Expand All @@ -127,7 +127,6 @@ def browse(action):
jog(1)
elif ui.getFocused(c.winName["Plugin"]):


if ui.getFocused(c.winName["Effect Plugin"]):
mix_track_index, mixer_slot = mixer.getActiveEffectIndex()
track_plugin_id = mixer.getTrackPluginId(mix_track_index, mixer_slot)
Expand All @@ -137,17 +136,21 @@ def browse(action):
c.last_plugin_name = track_plugin_id

if plugins.isValid(mix_track_index, mixer_slot):
event_id = midi.REC_Plug_MixLevel + track_plugin_id
param_count = plugins.getParamCount(mix_track_index, mixer_slot, global_index)
param_count_adjusted = math.ceil(param_count/c.knobs_available)

if param_count == 4240:
param_count = c.actual_param_count

#param_count_adjusted = math.ceil(param_count/c.knobs_available)

if plugins.getPluginName(mix_track_index, mixer_slot, 0, global_index) in c.unsupported_plugins:
ui.down(1)
else:
if track_plugin_id != current_track_plugin_id:
c.lead_param = 0 # Reset page number
current_track_plugin_id = track_plugin_id
else:
c.lead_param = min(c.lead_param + plugin_skip, param_count_adjusted) # Increment and clamp
c.lead_param = min(c.lead_param + plugin_skip, param_count) # Increment and clamp
NILA_OLED.OnRefresh(self, event)

elif ui.getFocused(c.winName["Generator Plugin"]):
Expand Down Expand Up @@ -187,9 +190,8 @@ def browse(action):
mix_track_index, mixer_slot = mixer.getActiveEffectIndex()
if plugins.isValid(mix_track_index, mixer_slot):
track_plugin_id = mixer.getTrackPluginId(mix_track_index, mixer_slot)
event_id = midi.REC_Plug_MixLevel + track_plugin_id
param_count = plugins.getParamCount(mix_track_index, mixer_slot, global_index)

if plugins.getPluginName(mix_track_index, mixer_slot, 0, global_index) in c.unsupported_plugins:
ui.up(1)
else:
Expand Down
1 change: 1 addition & 0 deletions Native Instruments/script/device_setup/constants.py
Expand Up @@ -41,6 +41,7 @@
knobs_available = 7
last_plugin_name = None
unused_midi_cc = 144
actual_param_count = 0

# Window names and IDs
widTitle = ["Mixer", "Channel Rack", "Playlist", "Piano Roll", "Browser", "Plugin Window", "Effect Plugin", "Generator Plugin"]
Expand Down
22 changes: 20 additions & 2 deletions Native Instruments/script/screen_writer/NILA_OLED.py
Expand Up @@ -169,16 +169,34 @@ def OnRefresh(self, event):
mix.setTrackName(knob_number, formatted_param_name)
mix.setTrackVol(knob_number, "{}%".format(int(percentage)))


actual_non_blank_param_count = 0

if param_count == 4240: # Check if the total parameters equal 4240

for param_index in range(param_count):
param_name = plugins.getParamName(param_index, mix_track_index, mixer_slot, useGlobalIndex)

if param_name != "":
actual_non_blank_param_count += 1

# Subtract 128 and 16 from the total
c.actual_param_count = actual_non_blank_param_count - c.unused_midi_cc
else:
c.actual_param_count = param_count

# If there are fewer parameters than knobs, set remaining knobs to non-existent
for knob_number in range(param_count + 1, 8 + 1):
for knob_number in range(c.actual_param_count + 1, 8 + 1):
#purge_tracks(1, 7, clear_info=True)
#purge_tracks(1, 7)
mix.setTrackExist(knob_number, 0)




elif ui.getFocused(c.winName["Generator Plugin"]):
chan_track_index = channels.selectedChannel()
plugins.getParamCount(chan_track_index, mixer_slot, useGlobalIndex)


if ui.getFocused(c.winName["Piano Roll"]) == True:
purge_tracks(1, 7)
Expand Down

0 comments on commit 53d9e90

Please sign in to comment.