#
# Display size: 88x22
-#Logger.init(main.viewmanager, 38, 0, 37, 10, 'audiocontroller.log')
-Logger.init(main.viewmanager, 0, 17, 65, 5)
+#Logger.init(main.viewmanager, 0, 17, 88, 5, 'audiocontroller.log')
+Logger.init(main.viewmanager, 0, 17, 88, 5)
-jb = None
-ctl = None
jb = Joyboard.register(
viewmanager = main.viewmanager,
dispatcher = main.dispatcher,
label = 'Key Bindings',
x = 0,
y = 0,
- dx = 52,
+ dx = 25,
dy = 10,
- size = 7
+ size = 11,
+ ignore_keys = ( '0','1','2','3','4','5','6','7','8','9','0','a','b','c','d','e' )
)
###########################################################################
looper_main_map.add ( Binding( Event('jb0',5), 'Mute', Action['looper_mute'] ) )
looper_main_map.add ( Binding( Event('jb0',6), 'Trig', Action['looper_trigger'] ) )
looper_main_map.add ( Binding( Event('jb0',7), 'Once', Action['looper_oneshot'] ) )
-looper_main_map.add ( Binding( Event('jb0',8), 'Ins', Action['looper_insert'] ) )
-looper_main_map.add ( Binding( Event('jb0',9), 'Repl', Action['looper_replace'] ) )
+#looper_main_map.add ( Binding( Event('jb0',8), 'Ins', Action['looper_insert'] ) )
+#looper_main_map.add ( Binding( Event('jb0',9), 'Repl', Action['looper_replace'] ) )
+looper_main_map.add( Binding( Event('jb0',8), 'Ctl Up', Action['controller_increment'] ) )
+looper_main_map.add( Binding( Event('jb0',9), 'Ctl Dn', Action['controller_decrement'] ) )
looper_main_map.add ( Binding( Event('jb0',12), 'Undo A', Action['looper_undo_all'] ) )
looper_main_map.add ( Binding( Event('jb0',13), 'Redo A', Action['looper_redo_all'] ) )
looper_main_map.add ( Binding( Event('jb0',14), 'Subst', Action['looper_substitute'] ) )
+
looper_param_map = Bindings.KeyMap( 'Parameters' )
Action.register( Actions.ChangeBindingsRelative('looper_set_param_map', 1, [looper_param_map] ) )
looper_main_map.add ( Binding( Event('jb0',11), '[Param]', Action['looper_set_param_map'] ) )
looper_param_map.add( Binding( Event('jb0',5), '(Feedb)', Action['looper_parm_feedback'] ) )
looper_param_map.add( Binding( Event('jb0',6), '(Dry)', Action['looper_parm_dry'] ) )
looper_param_map.add( Binding( Event('jb0',7), '(Wet)', Action['looper_parm_wet'] ) )
-looper_param_map.add( Binding( Event('jb0',8), '(Gain)', Action['looper_parm_igain'] ) )
-looper_param_map.add( Binding( Event('jb0',9), '(Rec T)', Action['looper_parm_rec_thresh'] ) )
+#looper_param_map.add( Binding( Event('jb0',8), '(Gain)', Action['looper_parm_igain'] ) )
+#looper_param_map.add( Binding( Event('jb0',9), '(Rec T)', Action['looper_parm_rec_thresh'] ) )
looper_param_map.add( Binding( Event('jb0',12), '', Actions.Nop() ) )
-looper_param_map.add( Binding( Event('jb0',13), 'Rev', Action['looper_reverse'] ) )
+#looper_param_map.add( Binding( Event('jb0',13), 'Rev', Action['looper_reverse'] ) )
looper_param_map.add( Binding( Event('jb0',14), '(Rate)', Action['looper_parm_rate'] ) )
+looper_param_map.add( Binding( Event('jb0',12), '(Gain)', Action['looper_parm_igain'] ) )
+looper_param_map.add( Binding( Event('jb0',13), '(Rec T)', Action['looper_parm_rec_thresh'] ) )
+
looper_param_map.add( Binding( Event('jb0',11), '[Main]', Action['unset_this_map'] ) )
# Initialize looper: enable 'round' and set quantize to 'cycle'
oscserver = main.oscserver,
context = 'mix',
- label = 'Mixer',
- x = 65,
- y = 17,
- dx = 23,
- dy = 5,
+ label = 'Master',
+ x = 25,
+ y = 0,
+ dx = 25,
+ dy = 4,
channels = ( 'Guitar', 'Voice' ),
remote = ('127.0.0.1', 9901),
oscserver = main.oscserver,
context = 'gain',
- label = 'Gain',
- x = 52,
- y = 7,
- dx = 23,
+ label = 'Lead Gain',
+ x = 25,
+ y = 4,
+ dx = 25,
dy = 3,
channels = ( 'Guitar', ),
remote = ('127.0.0.1', 9902),
)
+monitor = Mixer.register(
+ viewmanager = main.viewmanager,
+ oscserver = main.oscserver,
+
+ context = 'mix',
+ label = 'Monitor',
+ x = 50,
+ y = 0,
+ dx = 25,
+ dy = 4,
+
+ channels = ( 'Guitar', 'Voice' ),
+ remote = ('127.0.0.1', 9903),
+)
+
tm = TimeMachine.register(
viewmanager = main.viewmanager,
context = 'tm',
name = 'TimeMachine',
- x = 52,
- y = 4,
- dx = 23,
+ x = 25,
+ y = 7,
+ dx = 25,
dy = 3,
- ports = ('minimixer:out_left', 'minimixer:out_right'),
+ ports = ('master:out_left', 'master:out_left'),
dir = 'tm',
buffer = 1)
context = 'mt',
label = 'Metronome',
- x = 52,
- y = 0,
- dx = 23,
- dy = 4,
+ x = 50,
+ y = 7,
+ dx = 25,
+ dy = 3,
)
-Action.register( Mixer.AssignController ( 'mixer_guitar_level', mixer, ctl, 'Guitar', 1 ) )
-Action.register( Mixer.ToggleMuteChannel ( 'mixer_mute_guitar', mixer, 1 ) )
-Action.register( Mixer.AssignController ( 'mixer_voice_level', mixer, ctl, 'Voice', 2 ) )
-Action.register( Mixer.ToggleMuteChannel ( 'mixer_mute_voice', mixer, 2 ) )
-Action.register( Mixer.AssignController ( 'mixer_master_level', mixer, ctl, 'Master', 0 ) )
-Action.register( Mixer.ToggleMuteAll ( 'mixer_mute_all', mixer ) )
-Action.register( Mixer.CycleVolume ( 'mixer_cycle_gain', gain, 1, ( 0.0, 2.0, 4.0 ) ) )
+# Action.register( Mixer.AssignController ( 'mixer_master_level', mixer, ctl, 'Master', 0 ) )
+Action.register( Mixer.AssignController ( 'master_guitar_level', mixer, ctl, 'Mast Guit', 1 ) )
+Action.register( Mixer.AssignController ( 'master_voice_level', mixer, ctl, 'Mast Voc', 2 ) )
+Action.register( Mixer.ToggleMuteChannel ( 'mixer_mute_guitar', mixer, 1 ) )
+Action.register( Mixer.ToggleMuteChannel ( 'mixer_mute_voice', mixer, 2 ) )
+Action.register( Mixer.ToggleMuteAll ( 'mixer_mute_all', mixer ) )
+
+Action.register( Mixer.CycleVolume ( 'mixer_cycle_gain', gain, 1, ( 0.0, 2.5, 5.0 ) ) )
+
+Action.register( Mixer.AssignController ( 'monitor_guitar_level', monitor, ctl, 'Mon Guit.', 1 ) )
+Action.register( Mixer.AssignController ( 'monitor_voice_level', monitor, ctl, 'Mon Voc', 2, -6, 12, [ 0, 6 ] ) )
+
+master_level_alt_map = Bindings.KeyMap()
+Action.register( Actions.ChangeBindingsRelative( 'set_master_level_alt_map', 1, [master_level_alt_map] ) )
+Action.register( Actions.Macro( 'master_set_guitar_level',
+ [ 'master_guitar_level', 'set_master_level_alt_map' ] ) )
+Action.register( Actions.Macro( 'master_set_voice_level',
+ [ 'master_voice_level', 'unset_this_map' ] ) )
+
+monitor_level_alt_map = Bindings.KeyMap()
+Action.register( Actions.ChangeBindingsRelative( 'set_monitor_level_alt_map', 1, [monitor_level_alt_map] ) )
+Action.register( Actions.Macro( 'monitor_set_voice_level',
+ [ 'monitor_voice_level', 'set_monitor_level_alt_map' ] ) )
+Action.register( Actions.Macro( 'monitor_set_guitar_level',
+ [ 'monitor_guitar_level', 'unset_this_map' ] ) )
+
Action.register( TimeMachine.ToggleRecord( 'tm_rec_toggle', tm ) )
mixer_map.add( Binding( Event('jb0',5), 'Un All', Action['looper_undo_all'] ) )
mixer_map.add( Binding( Event('jb0',6), 'Lead', Action['mixer_cycle_gain'] ) )
-mixer_map.add( Binding( Event('jb0',7), 'Mute G', Action['mixer_mute_guitar'] ) )
-mixer_map.add( Binding( Event('jb0',8), 'Mute V', Action['mixer_mute_voice'] ) )
-mixer_map.add( Binding( Event('jb0',9), 'Mute', Action['mixer_mute_all'] ) )
+#mixer_map.add( Binding( Event('jb0',7), 'Mute G', Action['mixer_mute_guitar'] ) )
+#mixer_map.add( Binding( Event('jb0',8), 'Mute V', Action['mixer_mute_voice'] ) )
+#mixer_map.add( Binding( Event('jb0',9), 'Mute', Action['mixer_mute_all'] ) )
+mixer_map.add( Binding( Event('jb0',7), 'Mute', Action['mixer_mute_all'] ) )
+mixer_map.add( Binding( Event('jb0',8), 'Ctl Up', Action['controller_increment'] ) )
+mixer_map.add( Binding( Event('jb0',9), 'Ctl Dn', Action['controller_decrement'] ) )
-mixer_map.add( Binding( Event('jb0',13), '(Vol G)', Action['mixer_guitar_level'] ) )
-mixer_map.add( Binding( Event('jb0',14), '(Vol V)', Action['mixer_voice_level'] ) )
+mixer_map.add( Binding( Event('jb0',13), '(Mas G)', Action['master_set_guitar_level'] ) )
+master_level_alt_map.add( Binding( Event('jb0',13), '(Mas V)', Action['master_set_voice_level'] ) )
+
+mixer_map.add( Binding( Event('jb0',14), '(Mon V)', Action['monitor_set_voice_level'] ) )
+monitor_level_alt_map.add( Binding( Event('jb0',14), '(Mon G)', Action['monitor_set_guitar_level'] ) )
mixer_map.add( Binding( Event('jb0',12), 'TM Rec', Action['tm_rec_toggle'] ) )
mixer_map.add( Binding( Event('jb0', 11), '[Metr]', Action['set_metronome_map'] ) )
mixer.mute(2)
-mixer.assignController( ctl, 'Guitar', 1 )
+mixer.assignController( ctl, 'Mas Guit', 1 )
+monitor.set(2, 6)
###########################################################################
# Jukebox
Action.register( Actions.Macro( 'player_stop_loop',
[ 'looper_undo_all', 'player_pause' ] ) )
-for i in range(7):
+for i in range(5):
Action.register( AlsaPlayer.Jump ( 'player_jump_%d' % i, player, i+1 ) )
Action.register( Actions.Macro( 'player_set_track_%d' % i,
[ 'player_jump_%d' % i, 'player_set_stop_map' ] ) )
player_map.add( Binding( Event('jb0',i+3), 'Tr %d' % (i+1), Action['player_set_track_%d' % i] ) )
+player_map.add( Binding( Event('jb0',8), 'Ctl Up', Action['controller_increment'] ) )
+player_map.add( Binding( Event('jb0',9), 'Ctl Dn', Action['controller_decrement'] ) )
+
player_map.add( Binding( Event('jb0', 0), 'L Rec', Action['player_start_loop_rec'] ) )
player_map.add( Binding( Event('jb0', 1), 'L Stp', Action['player_stop_loop'] ) )
player_map.add( Binding( Event('jb0', 11), 'Back', Action['player_skip_rev'] ) )
wav = os.path.splitext(f)[0] + '.wav'
if f.endswith('.w64'):
if not os.path.exists('tm/' + wav):
- os.waitpid(subprocess.Popen(["sndfile-convert","-pcm32",f,wav],cwd='tm').pid,0)
+ os.waitpid(subprocess.Popen(["sndfile-convert","-pcm16",f,wav],cwd='tm').pid,0)
wavs.append(wav)
elif f.endswith('.wav'):
wavs.append(f)
wavs.sort()
wavs.reverse()
- for wav in wavs[:7]:
+ for wav in wavs[:5]:
player.add('tm/' + wav)
player.stop()