forked from pvx/litsimaja
Add program selecting for status update
This commit is contained in:
@@ -13,6 +13,7 @@ class Litsimaja(object):
|
||||
self._strip.begin()
|
||||
self._regions: Regions = Regions(self.count_pixels(), [46, 96, 191, 241])
|
||||
self._tempo: Tempo = Tempo(60)
|
||||
self._selected_program = None
|
||||
|
||||
def count_pixels(self) -> int:
|
||||
return self._strip.numPixels()
|
||||
@@ -47,9 +48,10 @@ class Litsimaja(object):
|
||||
def build_status_array(self):
|
||||
data = {'success': True}
|
||||
features = {
|
||||
'program': self._selected_program,
|
||||
'tempo': {
|
||||
'bpm': self.get_tempo().get_bpm()
|
||||
}
|
||||
},
|
||||
}
|
||||
regions = []
|
||||
for region_id in self._regions.list_region_ids():
|
||||
@@ -60,3 +62,6 @@ class Litsimaja(object):
|
||||
|
||||
def get_tempo(self):
|
||||
return self._tempo
|
||||
|
||||
def set_selected_program(self, program_name: str):
|
||||
self._selected_program = program_name
|
||||
|
||||
@@ -15,6 +15,7 @@ def run(namespace: str, class_name: str, lm: Litsimaja, logger, args: [] = None)
|
||||
program = loaded_class(lm)
|
||||
logger.info('Loaded "' + module.name() + '" from ' + namespace + '.' + class_name + ' with args: ' + repr(args))
|
||||
lm.add_loop(program.get_loop())
|
||||
lm.set_selected_program(namespace + '.' + class_name)
|
||||
program.run(args)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user