adding midi map, shader param setting, fixing midi bug

This commit is contained in:
langolierz
2019-02-23 12:49:09 +00:00
parent 641f632c25
commit 8f4010696c
6 changed files with 49 additions and 11 deletions

View File

@@ -319,7 +319,7 @@ class Actions(object):
def change_hdmi_settings(self, setting_value):
if self.data.settings['video']['OUTPUT']['value'] == 'hdmi':
if self.data.settings['video']['HDMI_MODE']['value'] == 'preferred':
subprocess.call(['tvservice', '-p'], shell=True)
subprocess.call(['tvservice --preferred'], shell=True)
elif self.data.settings['video']['HDMI_MODE']['value'] == 'CEA 4 HDMI':
subprocess.call(['tvservice -e=\"CEA 4 HDMI\"'], shell=True)
self._refresh_frame_buffer()
@@ -466,10 +466,10 @@ class Actions(object):
self.shaders.focused_param = 0
def increase_this_param(self):
self.shaders.increase_this_param()
self.shaders.increase_this_param(self.data.settings['other']['SHADER_PARAM']['value'])
def decrease_this_param(self):
self.shaders.decrease_this_param()
self.shaders.decrease_this_param(self.data.settings['other']['SHADER_PARAM']['value'])
def increase_param_focus(self):
self.shaders.focused_param = (self.shaders.focused_param + 1)%self.shaders.selected_shader['param_number']
@@ -477,6 +477,19 @@ class Actions(object):
def decrease_param_focus(self):
self.shaders.focused_param = (self.shaders.focused_param - 1)%self.shaders.selected_shader['param_number']
def increase_shader_param(self):
options = self.data.settings['other']['SHADER_PARAM']['options']
current_index = [index for index, item in enumerate(options) if item == self.data.settings['other']['SHADER_PARAM']['value'] ][0]
self.data.settings['other']['SHADER_PARAM']['value'] = options[(current_index + 1) % len(options) ]
self.message_handler.set_message('INFO', 'The Param amountis now ' + str(self.data.settings['other']['SHADER_PARAM']['value']))
def decrease_shader_param(self):
options = self.data.settings['other']['SHADER_PARAM']['options']
current_index = [index for index, item in enumerate(options) if item == self.data.settings['other']['SHADER_PARAM']['value'] ][0]
self.data.settings['other']['SHADER_PARAM']['value'] = options[(current_index - 1) % len(options) ]
self.message_handler.set_message('INFO', 'The Param amountis now ' + str(self.data.settings['other']['SHADER_PARAM']['value']))
def set_fixed_length(self, value):
self.data.control_mode = 'LENGTH_SET'
self.message_handler.set_message('INFO', 'tap: ■ ; < > : back')

View File

@@ -5,7 +5,7 @@
"NAV_SETTINGS": ["move_settings_selection_up"],
"NAV_SHADERS": ["move_shaders_selection_up"],
"LENGTH_SET": ["return_to_default_control_mode"],
"SHADER_PARAM": ["decrease_this_param"]
"SHADER_PARAM": ["decrease_this_param", "decrease_shader_param"]
},
"b": {
"NAV_BROWSER": ["move_browser_selection_down"],
@@ -13,7 +13,7 @@
"NAV_SETTINGS": ["move_settings_selection_down"],
"NAV_SHADERS": ["move_shaders_selection_down"],
"LENGTH_SET": ["return_to_default_control_mode"],
"SHADER_PARAM": ["increase_this_param"]
"SHADER_PARAM": ["increase_this_param", "increase_shader_param"]
},
"c": {
"NAV_BROWSER": ["enter_on_browser_selection"],

View File

@@ -14,6 +14,18 @@
"control_change 4": {
"DEFAULT": ["set_the_camera_colour_v_continuous"]
},
"control_change 5": {
"DEFAULT": ["set_the_shader_param_0_continuous"]
},
"control_change 6": {
"DEFAULT": ["set_the_shader_param_1_continuous"]
},
"control_change 7": {
"DEFAULT": ["set_the_shader_param_2_continuous"]
},
"control_change 8": {
"DEFAULT": ["set_the_shader_param_3_continuous"]
},
"control_change 74": {
"DEFAULT": ["set_the_shader_param_0_continuous"]
},

View File

@@ -160,6 +160,20 @@
],
"value": "omxplayer"
},
"SHADER_PARAM": {
"action": null,
"options": [
0.01,
0.02,
0.05,
0.10,
0.15,
0.2,
0.3,
0.4
],
"value": 0.10
},
"ANALOG_INPUT": {
"action": null,
"options": [

View File

@@ -54,7 +54,7 @@ class MidiInput(object):
message_dict = message.dict()
midi_channel = midi_setting = self.data.settings['midi']['CHANNEL']['value'] - 1
if not message_dict['channel'] == midi_channel:
if not message_dict.get('channel', default=None) == midi_channel:
pass
## turning off noisey clock messages for now - may want to use them at some point
elif message_dict['type'] == 'clock':

View File

@@ -3,7 +3,6 @@ import os
class Shaders(object):
MENU_HEIGHT = 10
PARAM_STEP = 0.2
EMPTY_SHADER = dict(name='none',is_shader=True,shad_type='-',param_number=0,path='-',shad_index=0)
def __init__(self, root, osc_client, message_handler, data):
self.root = root
@@ -97,16 +96,16 @@ class Shaders(object):
self.shaders_menu_list = self.generate_shaders_list()
return is_file, is_selected_shader, self.selected_shader
def increase_this_param(self):
def increase_this_param(self, amount_change):
param = self.focused_param
current_amount = self.selected_param_values[param]
amount = self.get_new_param_amount(current_amount,self.PARAM_STEP)
amount = self.get_new_param_amount(current_amount,amount_change)
self.set_param_to_amount(param, amount)
def decrease_this_param(self):
def decrease_this_param(self, amount_change):
param = self.focused_param
current_amount = self.selected_param_values[param]
amount = self.get_new_param_amount(current_amount,-self.PARAM_STEP)
amount = self.get_new_param_amount(current_amount,amount_change)
self.set_param_to_amount(param, amount)
@staticmethod