PedalPi - PluginsManager - Util

DictTuple

class pluginsmanager.util.dict_tuple.DictTuple(elements, key_function)[source]

Dict tuple is a union with dicts and tuples. It’s possible obtains an element by index or by a key

The key is not been a int or long instance

Based in http://jfine-python-classes.readthedocs.io/en/latest/subclass-tuple.html

Parameters:
  • elements (iterable) – Elements for the tuple
  • key_function (lambda) – Function mapper: it obtains an element and returns your key.

ModPedalboardConverter

class pluginsmanager.util.mod_pedalboard_converter.ModPedalboardConverter(mod_ui_path, builder, ignore_errors=False)[source]

ModPedalboardConverter is a utility to convert MOD [1] pedalboards structure in plugins manager pedalboard.

For use, is necessary that the computer system contains the mod_ui with your codes compiled [2] and the pedalboard:

>>> path = Path('/home/user/git/mod/mod_ui/')
>>> builder = Lv2EffectBuilder()
>>> converter = ModPedalboardConverter(path, builder)
>>> pedalboard_path = Path('/home/user/.pedalboards/pedalboard_name.pedalboard')
>>> system_effect = SystemEffect('system', ['capture_1', 'capture_2'], ['playback_1', 'playback_2'])
>>> pedalboard = converter.convert(pedalboard_path, system_effect)

ModPedalboardConverter can try discover the system_pedalboard by the pedalboard:

>>> path = Path('/home/user/git/mod/mod_ui/')
>>> builder = Lv2EffectBuilder()
>>> converter = ModPedalboardConverter(path, builder)
>>> pedalboard_path = Path('/home/user/.pedalboards/pedalboard_name.pedalboard')
>>> pedalboard = converter.convert(pedalboard_path)

If you needs only obtain the system effect:

>>> path = Path('/home/user/git/mod/mod_ui/')
>>> builder = Lv2EffectBuilder()
>>> converter = ModPedalboardConverter(path, builder)
>>> pedalboard_path = Path('/home/user/.pedalboards/pedalboard_name.pedalboard')
>>> pedalboard_info = converter.get_pedalboard_info(pedalboard_path)
>>> system_effect = converter.discover_system_effect(pedalboard_info)
[1]MOD, an awesome music enterprise, create the mod-ui, a visual interface that enable create pedalboards in a simple way.
[2]See the docs: https://github.com/moddevices/mod-ui#install
Parameters:
  • mod_ui_path (Path) – path that mod_ui has in the computer.
  • builder (Lv2EffectBuilder) – Builder for generate the lv2 effects
  • ignore_errors (bool) – Ignore pedalboard problems like connections with undefined ports
convert(pedalboard_path, system_effect=None)[source]
Parameters:
  • pedalboard_path (Path) – Path that the pedalboard has been persisted. Generally is in format path/to/pedalboard/name.pedalboard
  • system_effect (SystemEffect) – Effect that contains the audio interface outputs and inputs or None for auto discover
Return Pedalboard:
 

Pedalboard loaded

discover_system_effect(pedalboard_info)[source]

Generate the system effect based in pedalboard_info

Parameters:pedalboard_info (dict) – For obtain this, see get_pedalboard_info()
Return SystemEffect:
 SystemEffect generated based in pedalboard_info
get_pedalboard_info(path)[source]
Parameters:path (Path) – Path that the pedalboard has been persisted. Generally is in format path/to/pedalboard/name.pedalboard
Return dict:pedalboard persisted configurations

PairsList

class pluginsmanager.util.pairs_list.PairsList(similarity_key_function)[source]

Receives two lists and generates a result list of pairs of equal elements

Uses calculate method for generate list

Parameters:similarity_key_function – Function that receives a element and returns your identifier to do a mapping with elements from another list

PairsListResult

class pluginsmanager.util.pairs_list.PairsListResult[source]

persistence_decoder

class pluginsmanager.util.persistence_decoder.PersistenceDecoderError[source]
class pluginsmanager.util.persistence_decoder.PersistenceDecoder(system_effect)[source]
class pluginsmanager.util.persistence_decoder.Reader(system_effect)[source]
class pluginsmanager.util.persistence_decoder.BankReader(system_effect)[source]
class pluginsmanager.util.persistence_decoder.PedalboardReader(system_effect)[source]
class pluginsmanager.util.persistence_decoder.EffectReader(system_effect)[source]
class pluginsmanager.util.persistence_decoder.ConnectionReader(pedalboard, system_effect)[source]
generate_builder(json, audio_port)[source]

:return AudioPortBuilder