diff options
| author | Tim E. Real <termtech@rogers.com> | 2012-10-09 20:04:43 +0000 | 
|---|---|---|
| committer | Tim E. Real <termtech@rogers.com> | 2012-10-09 20:04:43 +0000 | 
| commit | 0368494d2ba85b24da193512972ccfeada99cf52 (patch) | |
| tree | fff25f5a6aecdd722c98a938fa9b03f1fec9febc /muse2/synti | |
| parent | c5e6b8cfa9d8615a32ce2aad28f4d091482be91d (diff) | |
!!! Song type is now removed !!! : See ChangeLog
Diffstat (limited to 'muse2/synti')
| -rw-r--r-- | muse2/synti/deicsonze/deicsonze.cpp | 2 | ||||
| -rw-r--r-- | muse2/synti/deicsonze/deicsonze.h | 2 | ||||
| -rw-r--r-- | muse2/synti/fluid/fluid.cpp | 2 | ||||
| -rw-r--r-- | muse2/synti/fluid/fluid.h | 2 | ||||
| -rw-r--r-- | muse2/synti/fluidsynth/fluidsynti.cpp | 20 | ||||
| -rw-r--r-- | muse2/synti/fluidsynth/fluidsynti.h | 2 | ||||
| -rw-r--r-- | muse2/synti/libsynti/mess.h | 2 | ||||
| -rw-r--r-- | muse2/synti/simpledrums2/simpledrums.cpp | 2 | ||||
| -rw-r--r-- | muse2/synti/simpledrums2/simpledrums.h | 2 | 
9 files changed, 22 insertions, 14 deletions
diff --git a/muse2/synti/deicsonze/deicsonze.cpp b/muse2/synti/deicsonze/deicsonze.cpp index 7d3f8995..7ca0deed 100644 --- a/muse2/synti/deicsonze/deicsonze.cpp +++ b/muse2/synti/deicsonze/deicsonze.cpp @@ -3708,7 +3708,7 @@ bool DeicsOnze::setController(int ch, int ctrl, int val, bool fromGui) {  //   getPatchName  //--------------------------------------------------------- -const char* DeicsOnze::getPatchName(int ch, int val, int) const { +const char* DeicsOnze::getPatchName(int ch, int val, bool) const {    if(_global.channel[ch].isEnable) {      Preset* p_preset;      int hbank = (val & 0xff0000) >> 16; diff --git a/muse2/synti/deicsonze/deicsonze.h b/muse2/synti/deicsonze/deicsonze.h index 124c8d46..06e29fa7 100644 --- a/muse2/synti/deicsonze/deicsonze.h +++ b/muse2/synti/deicsonze/deicsonze.h @@ -585,7 +585,7 @@ class DeicsOnze : public Mess {    bool sysex(int length, const unsigned char* data, bool fromGui);     virtual bool sysex(int l, const unsigned char* d); -  virtual const char* getPatchName(int ch, int number, int) const; +  virtual const char* getPatchName(int ch, int number, bool) const;     virtual const MidiPatch* getPatchInfo(int, const MidiPatch *) const;    virtual int getControllerInfo(int arg1, const char** arg2,  diff --git a/muse2/synti/fluid/fluid.cpp b/muse2/synti/fluid/fluid.cpp index 8a2fd13b..fa34d67e 100644 --- a/muse2/synti/fluid/fluid.cpp +++ b/muse2/synti/fluid/fluid.cpp @@ -405,7 +405,7 @@ bool ISynth::processEvent(const MusECore::MidiPlayEvent& ev)  //   getPatchName  //--------------------------------------------------------- -const char* ISynth::getPatchName(int /*ch*/, int val, int, bool /*drum*/) const +const char* ISynth::getPatchName(int /*ch*/, int val, bool /*drum*/) const        {        int prog =   val & 0xff;        if(val == MusECore::CTRL_VAL_UNKNOWN || prog == 0xff) diff --git a/muse2/synti/fluid/fluid.h b/muse2/synti/fluid/fluid.h index 658be687..60449568 100644 --- a/muse2/synti/fluid/fluid.h +++ b/muse2/synti/fluid/fluid.h @@ -76,7 +76,7 @@ class ISynth : public Mess {        virtual bool sysex(int len, const unsigned char* p);        virtual bool processEvent(const MusECore::MidiPlayEvent&); -      virtual const char* getPatchName (int, int, int, bool) const; +      virtual const char* getPatchName (int, int, bool) const;        virtual const MidiPatch* getPatchInfo(int, const MidiPatch *) const;        virtual void getInitData(int*, const unsigned char**); diff --git a/muse2/synti/fluidsynth/fluidsynti.cpp b/muse2/synti/fluidsynth/fluidsynti.cpp index 0fca4122..46f20156 100644 --- a/muse2/synti/fluidsynth/fluidsynti.cpp +++ b/muse2/synti/fluidsynth/fluidsynti.cpp @@ -1005,6 +1005,13 @@ void FluidSynth::setController(int channel, int id, int val, bool fromGui)                    byte patch = (val & 0xff);                    //printf("val: %d banknum: %x patch: %d\n", val, banknum, patch); +                  if(val == MusECore::CTRL_VAL_UNKNOWN || patch == 0xff) +                        return; +                  if(channels[channel].drumchannel) +                    banknum = 128; +                  else if(banknum == 0xff) +                    banknum = 0; // Is wise? Else try to keep a previous value when 'off' (0xff) like the HW values? +                                      err = fluid_synth_program_select(fluidsynth, channel, font_intid , banknum, patch);                    if (err)                          printf("FluidSynth::setController() - Error changing program on soundfont %s, channel: %d\n", fluid_synth_error(fluidsynth), channel); @@ -1205,18 +1212,15 @@ void FluidSynth::rewriteChannelSettings()  //---------------------------------------------------------  //   getPatchName  //--------------------------------------------------------- -const char* FluidSynth::getPatchName(int i, int, int, bool /*drum*/) const +const char* FluidSynth::getPatchName(int i, int, bool /*drum*/) const        {        if (channels[i].font_intid == FS_UNSPECIFIED_FONT ||            channels[i].font_intid == FS_UNSPECIFIED_ID) -            //return "no preset";              return "<unknown>";        else if (channels[i].preset == FS_UNSPECIFIED_PRESET) -            //return "no preset";              return "<unknown>";        else {              fluid_preset_t *preset = fluid_synth_get_channel_preset(fluidsynth, i); -            //if (!preset) return "no preset";              if (!preset) return "<unknown>";              return preset->get_name(preset);              } @@ -1267,6 +1271,7 @@ const MidiPatch* FluidSynth::getFirstPatch (int channel) const                          preset = sfont->get_preset (sfont, bank, patch);                          if (preset) {                                midiPatch.hbank = bank; +                              midiPatch.lbank = 0xff;  // Off                                midiPatch.prog = patch;                                midiPatch.name = preset->get_name (preset);                                return &midiPatch; @@ -1280,7 +1285,8 @@ const MidiPatch* FluidSynth::getFirstPatch (int channel) const              for (unsigned patch = 0; patch < 128; ++patch) {                    preset = sfont->get_preset (sfont, bank, patch);                    if (preset) { -                        midiPatch.hbank = bank; +                        midiPatch.hbank = 0xff;  // Off +                        midiPatch.lbank = 0xff;  // Off                          midiPatch.prog = patch;                          midiPatch.name = preset->get_name(preset);                          return &midiPatch; @@ -1318,6 +1324,7 @@ const MidiPatch* FluidSynth::getNextPatch (int channel, const MidiPatch* patch)                          if (preset) {                                //printf("Preset info: bank: %d prog: %d name: %s\n", bank, prog, preset->get_name(preset));                                midiPatch.hbank = bank; +                              midiPatch.lbank = 0xff;  // Off                                midiPatch.prog = prog;                                midiPatch.name = preset->get_name (preset);                                return &midiPatch; @@ -1333,7 +1340,8 @@ const MidiPatch* FluidSynth::getNextPatch (int channel, const MidiPatch* patch)                    preset = sfont->get_preset (sfont, bank, prog);                    if (preset) {                          //printf("Preset info: bank: %d prog: %d name: %s\n",bank, prog, preset->get_name(preset)); -                        midiPatch.hbank = bank; +                        midiPatch.hbank = 0xff;  // Off +                        midiPatch.lbank = 0xff;  // Off                          midiPatch.prog = prog;                          midiPatch.name = preset->get_name (preset);                          return &midiPatch; diff --git a/muse2/synti/fluidsynth/fluidsynti.h b/muse2/synti/fluidsynth/fluidsynti.h index 0628a385..7e448536 100644 --- a/muse2/synti/fluidsynth/fluidsynti.h +++ b/muse2/synti/fluidsynth/fluidsynti.h @@ -138,7 +138,7 @@ public:        virtual bool setController(int, int, int);        void setController(int, int , int, bool);        virtual void getInitData(int*, const unsigned char**); -      virtual const char* getPatchName(int, int, int, bool) const; +      virtual const char* getPatchName(int, int, bool) const;        virtual const MidiPatch* getPatchInfo(int i, const MidiPatch* patch) const;        virtual int getControllerInfo(int, const char**, int*, int*, int*, int*) const;        virtual bool processEvent(const MusECore::MidiPlayEvent&); diff --git a/muse2/synti/libsynti/mess.h b/muse2/synti/libsynti/mess.h index f9853330..79d3d7e7 100644 --- a/muse2/synti/libsynti/mess.h +++ b/muse2/synti/libsynti/mess.h @@ -88,7 +88,7 @@ class Mess {        virtual void getInitData(int* n, const unsigned char**) /*const*/ { *n = 0; } // No const: Synths may need to allocate member pointers. p4.0.27 Tim        virtual int getControllerInfo(int, const char**, int*, int*, int*, int*) const {return 0;} -      virtual const char* getPatchName(int, int, int, bool) const { return "?"; } +      virtual const char* getPatchName(int, int, bool) const { return "?"; }        virtual const MidiPatch* getPatchInfo(int, const MidiPatch*) const { return 0; }        // synthesizer -> host communication diff --git a/muse2/synti/simpledrums2/simpledrums.cpp b/muse2/synti/simpledrums2/simpledrums.cpp index 4265c33c..8b3ea69c 100644 --- a/muse2/synti/simpledrums2/simpledrums.cpp +++ b/muse2/synti/simpledrums2/simpledrums.cpp @@ -647,7 +647,7 @@ bool SimpleSynth::sysex(int len, const unsigned char* d)      \return const char* with patchname   */  //--------------------------------------------------------- -const char* SimpleSynth::getPatchName(int /*index*/, int, int) const +const char* SimpleSynth::getPatchName(int /*index*/, int, bool) const        {        SS_TRACE_IN        SS_TRACE_OUT diff --git a/muse2/synti/simpledrums2/simpledrums.h b/muse2/synti/simpledrums2/simpledrums.h index f76a3237..8de202ea 100644 --- a/muse2/synti/simpledrums2/simpledrums.h +++ b/muse2/synti/simpledrums2/simpledrums.h @@ -137,7 +137,7 @@ class SimpleSynth : public Mess        virtual bool processEvent(const MusECore::MidiPlayEvent& arg1);        virtual bool setController(int arg1, int arg2, int arg3);        virtual bool sysex(int arg1, const unsigned char* arg2); -      virtual const char* getPatchName(int arg1, int arg2, int arg3) const; +      virtual const char* getPatchName(int arg1, int arg2, bool arg3) const;         virtual const MidiPatch* getPatchInfo(int arg1, const MidiPatch* arg2) const;        virtual int getControllerInfo(int arg1, const char** arg2, int* arg3, int* arg4, int* arg5, int* arg6) const;        virtual void processMessages();  | 
