diff options
| -rw-r--r-- | lv2/input_lv2.cc | 22 | ||||
| -rw-r--r-- | src/drumkit.cc | 9 | 
2 files changed, 22 insertions, 9 deletions
| diff --git a/lv2/input_lv2.cc b/lv2/input_lv2.cc index 23e2c78..f2efc5e 100644 --- a/lv2/input_lv2.cc +++ b/lv2/input_lv2.cc @@ -37,16 +37,9 @@ InputLV2::~InputLV2()  {  } -bool InputLV2::init(Instruments &instruments) +bool InputLV2::init(Instruments &i)  { -  MidiMapParser p(getenv("DRUMGIZMO_MIDIMAP")); -  if(p.parse()) {/*return false;*/} -  mmap.midimap = p.midimap; - -  for(size_t i = 0; i < instruments.size(); i++) { -    mmap.instrmap[instruments[i].name()] = i; -  } - +  instruments = &i;    return true;  } @@ -114,6 +107,17 @@ void InputLV2::post()  {  } +void InputLV2::loadMidiMap(std::string f) +{ +  MidiMapParser p(f); +  if(p.parse()) {/*return false;*/} +  mmap.midimap = p.midimap; + +  for(size_t i = 0; i < instruments->size(); i++) { +    mmap.instrmap[(*instruments)[i]->name()] = i; +  } +} +  #ifdef TEST_INPUT_LV2  //Additional dependency files  //deps: diff --git a/src/drumkit.cc b/src/drumkit.cc index d5a066f..00ab2e2 100644 --- a/src/drumkit.cc +++ b/src/drumkit.cc @@ -26,6 +26,15 @@   */  #include "drumkit.h" +DrumKit::~DrumKit() +{ +  Instruments::iterator i = instruments.begin(); +  while(i != instruments.end()) { +    delete *i; +    i++; +  } +} +  std::string DrumKit::name()  {    return _name; | 
