]> git.pld-linux.org Git - packages/muse.git/blob - fluidsynth2.patch
4081a02a82dca1a8741b0662efeb145fd06a9966
[packages/muse.git] / fluidsynth2.patch
1 From 6e352b874ddffc6185e499cda12c1731d14a3708 Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
3 Date: Wed, 17 Oct 2018 23:17:31 +0200
4 Subject: [PATCH] fluidsynth: Follow API change introduced in fluidsynth 2.0.0
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
10 ---
11  muse3/synti/fluidsynth/fluidsynti.cpp | 44 ++++++++++++++++++++++++++-
12  1 file changed, 43 insertions(+), 1 deletion(-)
13
14 diff --git a/muse3/synti/fluidsynth/fluidsynti.cpp b/muse3/synti/fluidsynth/fluidsynti.cpp
15 index 11f51e57..75322d7e 100644
16 --- a/muse3/synti/fluidsynth/fluidsynti.cpp
17 +++ b/muse3/synti/fluidsynth/fluidsynti.cpp
18 @@ -155,16 +155,22 @@ FluidSynth::~FluidSynth()
19            std::cerr << DEBUG_ARGS << "Error unloading soundfont!" << fluid_synth_error(fluidsynth) << std::endl;
20        }
21          
22 +#if FLUIDSYNTH_VERSION_MAJOR < 2
23        int err = delete_fluid_synth (fluidsynth);
24 +#else
25 +      delete_fluid_synth (fluidsynth);
26 +#endif
27        if(gui)
28          delete gui;
29  
30        if (initBuffer)
31              delete [] initBuffer;
32 +#if FLUIDSYNTH_VERSION_MAJOR < 2
33        if (err == -1) {
34              std::cerr << DEBUG_ARGS << "error while destroying synth: " << fluid_synth_error(fluidsynth) << std::endl;
35              return;
36 -            }            
37 +            }
38 +#endif
39        }
40  
41  bool FluidSynth::init(const char* name)
42 @@ -1368,7 +1374,11 @@ const char* FluidSynth::getPatchName(int i, int, bool /*drum*/) const
43        else {
44              fluid_preset_t *preset = fluid_synth_get_channel_preset(fluidsynth, i);
45              if (!preset) return "<unknown>";
46 +#if FLUIDSYNTH_VERSION_MAJOR < 2
47              return preset->get_name(preset);
48 +#else
49 +            return fluid_preset_get_name(preset);
50 +#endif
51              }
52        }
53  //---------------------------------------------------------
54 @@ -1414,12 +1424,20 @@ const MidiPatch* FluidSynth::getFirstPatch (int channel) const
55        if (!channels[channel].drumchannel) {
56              for (unsigned bank = 0; bank < 128; ++bank) {
57                    for (unsigned patch = 0; patch < 128; ++patch) {
58 +#if FLUIDSYNTH_VERSION_MAJOR < 2
59                          preset = sfont->get_preset (sfont, bank, patch);
60 +#else
61 +                        preset = fluid_sfont_get_preset (sfont, bank, patch);
62 +#endif
63                          if (preset) {
64                                midiPatch.hbank = bank;
65                                midiPatch.lbank = 0xff;  // Off
66                                midiPatch.prog = patch;
67 +#if FLUIDSYNTH_VERSION_MAJOR < 2
68                                midiPatch.name = preset->get_name (preset);
69 +#else
70 +                              midiPatch.name = fluid_preset_get_name (preset);
71 +#endif
72                                return &midiPatch;
73                                }
74                          }
75 @@ -1429,12 +1447,20 @@ const MidiPatch* FluidSynth::getFirstPatch (int channel) const
76        else { //This is a drumchannel
77              int bank = 128;
78              for (unsigned patch = 0; patch < 128; ++patch) {
79 +#if FLUIDSYNTH_VERSION_MAJOR < 2
80                    preset = sfont->get_preset (sfont, bank, patch);
81 +#else
82 +                  preset = fluid_sfont_get_preset (sfont, bank, patch);
83 +#endif
84                    if (preset) {
85                          midiPatch.hbank = 0xff;  // Off
86                          midiPatch.lbank = 0xff;  // Off
87                          midiPatch.prog = patch;
88 +#if FLUIDSYNTH_VERSION_MAJOR < 2
89                          midiPatch.name = preset->get_name(preset);
90 +#else
91 +                        midiPatch.name = fluid_preset_get_name (preset);
92 +#endif
93                          return &midiPatch;
94                          }
95                    }
96 @@ -1466,13 +1492,21 @@ const MidiPatch* FluidSynth::getNextPatch (int channel, const MidiPatch* patch)
97  
98              for (unsigned bank = patch->hbank; bank < 128; ++bank) {
99                    for ( ; prog < 128; ++prog) {
100 +#if FLUIDSYNTH_VERSION_MAJOR < 2
101                          preset = sfont->get_preset (sfont, bank, prog);
102 +#else
103 +                        preset = fluid_sfont_get_preset (sfont, bank, prog);
104 +#endif
105                          if (preset) {
106                                //printf("Preset info: bank: %d prog: %d name: %s\n", bank, prog, preset->get_name(preset));
107                                midiPatch.hbank = bank;
108                                midiPatch.lbank = 0xff;  // Off
109                                midiPatch.prog = prog;
110 +#if FLUIDSYNTH_VERSION_MAJOR < 2
111                                midiPatch.name = preset->get_name (preset);
112 +#else
113 +                              midiPatch.name = fluid_preset_get_name (preset);
114 +#endif
115                                return &midiPatch;
116                                }
117                          }
118 @@ -1483,13 +1517,21 @@ const MidiPatch* FluidSynth::getNextPatch (int channel, const MidiPatch* patch)
119              unsigned bank = 128;
120              unsigned prog = patch->prog;
121              for (prog = patch->prog + 1; prog < 128; ++prog) {
122 +#if FLUIDSYNTH_VERSION_MAJOR < 2
123                    preset = sfont->get_preset (sfont, bank, prog);
124 +#else
125 +                  preset = fluid_sfont_get_preset (sfont, bank, prog);
126 +#endif
127                    if (preset) {
128                          //printf("Preset info: bank: %d prog: %d name: %s\n",bank, prog, preset->get_name(preset));
129                          midiPatch.hbank = 0xff;  // Off
130                          midiPatch.lbank = 0xff;  // Off
131                          midiPatch.prog = prog;
132 +#if FLUIDSYNTH_VERSION_MAJOR < 2
133                          midiPatch.name = preset->get_name (preset);
134 +#else
135 +                        midiPatch.name = fluid_preset_get_name (preset);
136 +#endif
137                          return &midiPatch;
138                          }
139                    }
This page took 0.058341 seconds and 2 git commands to generate.