Comments (7)
There is a API change in fluidsynth 2.2.3
Fluida should check which version is in use and set those callbacks accordingly. That seems to not work in your case.
So what is your fluidsynth version?
fluidsynth --version
from fluida.lv2.
FluidSynth runtime version 2.1.8
Copyright (C) 2000-2021 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.
FluidSynth executable version 2.1.8
Sample type=double
from fluida.lv2.
umpf, I'm so stupid.
I've forgotten to check the minor version. Should be fixed now, thanks for reporting the issue.
regards
hermann
from fluida.lv2.
It didn't work, the error messages were the same.
Based on the error messages, I changed the file XSynth.cpp, then it works.
/*
* 0BSD
*
* BSD Zero Clause License
*
* Copyright (c) 2020 Hermann Meyer
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted.
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*
*/
#include "XSynth.h"
#include <sstream>
namespace xsynth {
// check which fluidsynth version is in use
#if FLUIDSYNTH_VERSION_MAJOR > 1
#if FLUIDSYNTH_VERSION_MINOR > 1
#if FLUIDSYNTH_VERSION_MICRO > 2
#define USE_FLUID_API 2
#else
#define USE_FLUID_API 1
#endif
#endif
#else
#define USE_FLUID_API 1
#endif
/****************************************************************
** class XSynth
**
** create a fluidsynth instance and load sondfont
*/
XSynth::XSynth() {
sf_id = -1;
adriver = NULL;
mdriver = NULL;
synth = NULL;
settings = NULL;
for(int i = 0; i < 16; i++) {
channel_instrument[i] = i;
}
reverb_on = 0;
reverb_level = 0.7;
reverb_width = 10.0;
reverb_damp = 0.4;
reverb_roomsize = 0.6;
chorus_on = 0;
chorus_type = 0;
chorus_depth = 3.0;
chorus_speed = 0.3;
chorus_level = 3.0;
chorus_voices = 3;
channel_pressure = 0;
};
XSynth::~XSynth() {
unload_synth();
};
void XSynth::setup(unsigned int SampleRate) {
// we don't use a audio driver, so we register the file driver to avoid
// that fluidsynth register it's default audi drivers for jack and alsa
// and/or try to start the sdl2 audio driver
#if FLUIDSYNTH_VERSION_MAJOR > 1
const char* driver[] = { "file", NULL };
fluid_audio_driver_register(driver);
#endif
settings = new_fluid_settings();
fluid_settings_setnum(settings, "synth.sample-rate", SampleRate);
//fluid_settings_setint (settings, "synth.threadsafe-api", 0);
//fluid_settings_setstr(settings, "audio.driver", "jack");
//fluid_settings_setstr(settings, "audio.jack.id", "mamba");
//fluid_settings_setint(settings, "audio.jack.autoconnect", 1);
//fluid_settings_setstr(settings, "midi.driver", "jack");
//fluid_settings_setstr(settings, "midi.jack.id", "mamba");
}
void XSynth::init_synth() {
synth = new_fluid_synth(settings);
//adriver = new_fluid_audio_driver(settings, synth);
// mdriver = new_fluid_midi_driver(settings, fluid_synth_handle_midi_event, synth);
}
int XSynth::synth_note_on(int channel, int note, int velocity) {
if (!synth) return -1;
return fluid_synth_noteon(synth, channel, note, velocity);
}
int XSynth::synth_note_off(int channel, int note) {
if (!synth) return -1;
return fluid_synth_noteoff(synth, channel, note);
}
int XSynth::synth_send_cc(int channel, int num, int value) {
if (!synth) return -1;
return fluid_synth_cc(synth, channel, num, value);
}
int XSynth::synth_send_pitch_bend(int channel, int value) {
if (!synth) return -1;
return fluid_synth_pitch_bend(synth, channel, value);
}
int XSynth::synth_pgm_changed(int channel, int num) {
if (!synth) return -1;
if (num >= (int)instruments.size()) return -1;
return fluid_synth_program_change(synth, channel, num);
}
int XSynth::synth_bank_changed(int channel, int num) {
if (!synth) return -1;
return fluid_synth_bank_select(synth, channel, num);
}
int XSynth::synth_process(int count, float *outl, float *outr) {
if (!synth) return -1;
return fluid_synth_write_float(synth,count, outl, 0, 1, outr, 0, 1);
}
int XSynth::load_soundfont(const char *path) {
if (!synth) return -1;
if (sf_id != -1) fluid_synth_sfunload(synth, sf_id, 0);
sf_id = fluid_synth_sfload(synth, path, 0);
if (sf_id == -1) {
return 1;
}
if (reverb_on) set_reverb_on(reverb_on);
if (chorus_on) set_chorus_on(chorus_on);
print_soundfont();
return 0;
}
void XSynth::print_soundfont() {
instruments.clear();
fluid_sfont_t * sfont = fluid_synth_get_sfont_by_id(synth, sf_id);
int offset = fluid_synth_get_bank_offset(synth, sf_id);
if(sfont == NULL) {
fprintf(stderr, "inst: invalid font number\n");
return ;
}
#if FLUIDSYNTH_VERSION_MAJOR < 2
fluid_preset_t preset;
sfont->iteration_start(sfont);
while ((sfont->iteration_next(sfont, &preset)) != 0) {
char inst[100];
snprintf(inst, 100, "%03d %03d %s", preset.get_banknum(&preset) + offset,
preset.get_num(&preset),preset.get_name(&preset));
instruments.push_back(inst);
}
#else
fluid_preset_t *preset;
fluid_sfont_iteration_start(sfont);
while((preset = fluid_sfont_iteration_next(sfont)) != NULL) {
char inst[100];
snprintf(inst, 100, "%03d %03d %s", fluid_preset_get_banknum(preset) + offset,
fluid_preset_get_num(preset),fluid_preset_get_name(preset));
instruments.push_back(inst);
}
#endif
set_default_instruments();
}
void XSynth::set_default_instruments() {
int bank = 0;
int program = 0;
for (unsigned int i = 0; i < 16; i++) {
if (i >= instruments.size()) break;
if ((unsigned int)channel_instrument[i] > instruments.size()) continue;
if (i == 9) continue;
std::istringstream buf(instruments[channel_instrument[i]]);
buf >> bank;
buf >> program;
fluid_synth_program_select (synth, i, sf_id, bank, program);
}
}
void XSynth::set_instrument_on_channel(int channel, int i) {
if (i >= (int)instruments.size()) return;
if (channel >15) channel = 0;
int bank = 0;
int program = 0;
std::istringstream buf(instruments[i]);
buf >> bank;
buf >> program;
fluid_synth_program_select (synth, channel, sf_id, bank, program);
}
int XSynth::get_instrument_for_channel(int channel) {
if (!synth) return -1;
if (channel >15) channel = 0;
fluid_preset_t *preset = fluid_synth_get_channel_preset(synth, channel);
if (!preset) return -1;
int offset = fluid_synth_get_bank_offset(synth, sf_id);
char inst[100];
#if FLUIDSYNTH_VERSION_MAJOR < 2
snprintf(inst, 100, "%03d %03d %s", preset->get_banknum(preset) + offset,
preset->get_num(preset),preset->get_name(preset));
#else
snprintf(inst, 100, "%03d %03d %s", fluid_preset_get_banknum(preset) + offset,
fluid_preset_get_num(preset),fluid_preset_get_name(preset));
#endif
std::string name = inst;
int ret = 0;
for(std::vector<std::string>::const_iterator i = instruments.begin(); i != instruments.end(); ++i) {
if ((*i).find(name) != std::string::npos) {
return ret;
}
ret++;
}
return -1;
}
void XSynth::set_reverb_on(int on) {
if (synth) {
#if USE_FLUID_API == 1
fluid_synth_set_reverb_on(synth, on);
#else
fluid_synth_set_reverb_on(synth, on);
#endif
set_reverb_levels();
}
}
void XSynth::set_reverb_levels() {
if (synth) {
#if USE_FLUID_API == 1
fluid_synth_set_reverb (synth, reverb_roomsize, reverb_damp,
reverb_width, reverb_level);
#else
fluid_synth_set_reverb_damp(synth, reverb_damp);
fluid_synth_set_reverb_level(synth, reverb_level);
fluid_synth_set_reverb_roomsize(synth, reverb_roomsize);
fluid_synth_set_reverb_width(synth, reverb_width);
#endif
}
}
void XSynth::set_chorus_on(int on) {
if (synth) {
#if USE_FLUID_API == 1
fluid_synth_set_chorus_on(synth, on);
#else
fluid_synth_set_chorus_on(synth, on);
#endif
set_chorus_levels();
}
}
void XSynth::set_chorus_levels() {
if (synth) {
#if USE_FLUID_API == 1
fluid_synth_set_chorus (synth, chorus_voices, chorus_level,
chorus_speed, chorus_depth, chorus_type);
#else
fluid_synth_set_chorus_depth(synth, chorus_depth);
fluid_synth_set_chorus_level(synth, chorus_level);
fluid_synth_set_chorus_nr(synth, chorus_voices);
fluid_synth_set_chorus_speed(synth, chorus_speed);
fluid_synth_set_chorus_type(synth, chorus_type);
#endif
}
}
void XSynth::set_channel_pressure(int channel) {
if (synth) {
fluid_synth_channel_pressure(synth, channel, channel_pressure);
}
}
void XSynth::panic() {
if (synth) {
fluid_synth_all_sounds_off(synth, -1);
}
}
void XSynth::unload_synth() {
if (sf_id != -1) {
fluid_synth_sfunload(synth, sf_id, 0);
sf_id = -1;
}
if (mdriver) {
delete_fluid_midi_driver(mdriver);
mdriver = NULL;
}
if (adriver) {
delete_fluid_audio_driver(adriver);
adriver = NULL;
}
if (synth) {
delete_fluid_synth(synth);
synth = NULL;
}
if (settings) {
delete_fluid_settings(settings);
settings = NULL;
}
}
} // namespace xsynth
from fluida.lv2.
But that just removes the support for fluidsynth version > 2.2.2
Please give my latest commit a other try, so that we could fix it really.
from fluida.lv2.
Now it works, thank you
brian@Esprimo-P400:/tmp$ git clone https://github.com/brummer10/Fluida.lv2.git
Klone nach 'Fluida.lv2' ...
remote: Enumerating objects: 196, done.
remote: Counting objects: 100% (196/196), done.
remote: Compressing objects: 100% (133/133), done.
remote: Total 196 (delta 127), reused 126 (delta 62), pack-reused 0
Empfange Objekte: 100% (196/196), 95.97 KiB | 712.00 KiB/s, fertig.
Löse Unterschiede auf: 100% (127/127), fertig.
brian@Esprimo-P400:/tmp$ cd Fluida.lv2
brian@Esprimo-P400:/tmp/Fluida.lv2$ git submodule init
Submodul 'libxputty' (https://github.com/brummer10/libxputty.git) für Pfad 'libxputty' in die Konfiguration eingetragen.
brian@Esprimo-P400:/tmp/Fluida.lv2$ git submodule update
Klone nach '/tmp/Fluida.lv2/libxputty' ...
Submodul-Pfad: 'libxputty': '5c69824ff8cdd6a81511fae34dfe684d263da267' ausgecheckt
brian@Esprimo-P400:/tmp/Fluida.lv2$ make
Submodule up to date
make[1]: Verzeichnis „/tmp/Fluida.lv2/libxputty“ wird betreten
make[2]: Verzeichnis „/tmp/Fluida.lv2/libxputty/Build“ wird betreten
cd ../xputty/resources/ && xxd -i directory_open.png > ../../Build/directory_open.c
cc -c directory_open.c -o directory_open.o
cd ../xputty/resources/ && xxd -i save.png > ../../Build/save.c
cc -c save.c -o save.o
cd ../xputty/resources/ && xxd -i choice.png > ../../Build/choice.c
cc -c choice.c -o choice.o
cd ../xputty/resources/ && xxd -i directory_select.png > ../../Build/directory_select.c
cc -c directory_select.c -o directory_select.o
cd ../xputty/resources/ && xxd -i approved.png > ../../Build/approved.c
cc -c approved.c -o approved.o
cd ../xputty/resources/ && xxd -i midikeyboard.png > ../../Build/midikeyboard.c
cc -c midikeyboard.c -o midikeyboard.o
cd ../xputty/resources/ && xxd -i colors.png > ../../Build/colors.c
cc -c colors.c -o colors.o
cd ../xputty/resources/ && xxd -i error.png > ../../Build/error.c
cc -c error.c -o error.o
cd ../xputty/resources/ && xxd -i gear.png > ../../Build/gear.c
cc -c gear.c -o gear.o
cd ../xputty/resources/ && xxd -i grid.png > ../../Build/grid.c
cc -c grid.c -o grid.o
cd ../xputty/resources/ && xxd -i settings.png > ../../Build/settings.c
cc -c settings.c -o settings.o
cd ../xputty/resources/ && xxd -i message.png > ../../Build/message.c
cc -c message.c -o message.o
cd ../xputty/resources/ && xxd -i image_directory.png > ../../Build/image_directory.c
cc -c image_directory.c -o image_directory.o
cd ../xputty/resources/ && xxd -i question.png > ../../Build/question.c
cc -c question.c -o question.o
cd ../xputty/resources/ && xxd -i cancel.png > ../../Build/cancel.c
cc -c cancel.c -o cancel.o
cd ../xputty/resources/ && xxd -i info.png > ../../Build/info.c
cc -c info.c -o info.o
cd ../xputty/resources/ && xxd -i exit.png > ../../Build/exit.c
cc -c exit.c -o exit.o
cd ../xputty/resources/ && xxd -i xputty_logo.png > ../../Build/xputty_logo.c
cc -c xputty_logo.c -o xputty_logo.o
cd ../xputty/resources/ && xxd -i file.png > ../../Build/file.c
cc -c file.c -o file.o
cd ../xputty/resources/ && xxd -i directory.png > ../../Build/directory.c
cc -c directory.c -o directory.o
cd ../xputty/resources/ && xxd -i warning.png > ../../Build/warning.c
cc -c warning.c -o warning.o
rm -f ../xputty/resources/xresources.h
for f in directory_open_png save_png choice_png directory_select_png approved_png midikeyboard_png colors_png error_png gear_png grid_png settings_png message_png image_directory_png question_png cancel_png info_png exit_png xputty_logo_png file_png directory_png warning_png; do \
echo 'EXTLD('${f}')' >> ../xputty/resources/xresources.h ; \
done
cc -MMD -Wall -c ../xputty/xfilepicker.c -o xfilepicker.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/xwidget_private.c -o xwidget_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/xadjustment.c -o xadjustment.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/xasprintf.c -o xasprintf.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/xputty.c -o xputty.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/xcolor.c -o xcolor.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/xpngloader.c -o xpngloader.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/xchildlist.c -o xchildlist.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/xadjustment_private.c -o xadjustment_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/xchildlist_private.c -o xchildlist_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/xwidget.c -o xwidget.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xplayhead.c -o xplayhead.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xwaveview_private.c -o xwaveview_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xlistbox_private.c -o xlistbox_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xlabel.c -o xlabel.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xlistview.c -o xlistview.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xknob_private.c -o xknob_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xbutton_private.c -o xbutton_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xplayhead_private.c -o xplayhead_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xtooltip_private.c -o xtooltip_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xcombobox.c -o xcombobox.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xtooltip.c -o xtooltip.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xmultilistview.c -o xmultilistview.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xframe_private.c -o xframe_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xtabbox.c -o xtabbox.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xlistview_private.c -o xlistview_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xvaluedisplay.c -o xvaluedisplay.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xframe.c -o xframe.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xslider.c -o xslider.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xmenu.c -o xmenu.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xmeter_private.c -o xmeter_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xcombobox_private.c -o xcombobox_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xtuner.c -o xtuner.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xmultilistview_private.c -o xmultilistview_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xtabbox_private.c -o xtabbox_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xwaveview.c -o xwaveview.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xvaluedisplay_private.c -o xvaluedisplay_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xlistbox.c -o xlistbox.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xslider_private.c -o xslider_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xknob.c -o xknob.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xmenu_private.c -o xmenu_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xlabel_private.c -o xlabel_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xmeter.c -o xmeter.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xbutton.c -o xbutton.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/widgets/xtuner_private.c -o xtuner_private.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/dialogs/xfile-dialog.c -o xfile-dialog.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/dialogs/xdirectory-dialog.c -o xdirectory-dialog.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/dialogs/xsavefile-dialoge.c -o xsavefile-dialoge.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/dialogs/xmidi_keyboard.c -o xmidi_keyboard.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -c ../xputty/dialogs/xmessage-dialog.c -o xmessage-dialog.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -DHAVE_MMAP -c ../xputty/xdgmime/xdgmime.c -o xdgmime.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -DHAVE_MMAP -c ../xputty/xdgmime/xdgmimecache.c -o xdgmimecache.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -DHAVE_MMAP -c ../xputty/xdgmime/xdgmimeparent.c -o xdgmimeparent.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -DHAVE_MMAP -c ../xputty/xdgmime/xdgmimeint.c -o xdgmimeint.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -DHAVE_MMAP -c ../xputty/xdgmime/xdgmimeicon.c -o xdgmimeicon.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -DHAVE_MMAP -c ../xputty/xdgmime/xdgmimeglob.c -o xdgmimeglob.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -DHAVE_MMAP -c ../xputty/xdgmime/xdgmimealias.c -o xdgmimealias.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
cc -MMD -Wall -DHAVE_MMAP -c ../xputty/xdgmime/xdgmimemagic.c -o xdgmimemagic.o -I. -I../xputty/header/ -I../xputty/header/widgets/ -I../xputty/resources/ -I../xputty/header/dialogs/ -I../xputty/xdgmime/ -fPIC `pkg-config --cflags --libs cairo x11` -lm
ar rcs libxputty.a xfilepicker.o xwidget_private.o xadjustment.o xasprintf.o xputty.o xcolor.o xpngloader.o xchildlist.o xadjustment_private.o xchildlist_private.o xwidget.o xplayhead.o xwaveview_private.o xlistbox_private.o xlabel.o xlistview.o xknob_private.o xbutton_private.o xplayhead_private.o xtooltip_private.o xcombobox.o xtooltip.o xmultilistview.o xframe_private.o xtabbox.o xlistview_private.o xvaluedisplay.o xframe.o xslider.o xmenu.o xmeter_private.o xcombobox_private.o xtuner.o xmultilistview_private.o xtabbox_private.o xwaveview.o xvaluedisplay_private.o xlistbox.o xslider_private.o xknob.o xmenu_private.o xlabel_private.o xmeter.o xbutton.o xtuner_private.o xfile-dialog.o xdirectory-dialog.o xsavefile-dialoge.o xmidi_keyboard.o xmessage-dialog.o directory_open.o save.o choice.o directory_select.o approved.o midikeyboard.o colors.o error.o gear.o grid.o settings.o message.o image_directory.o question.o cancel.o info.o exit.o xputty_logo.o file.o directory.o warning.o xdgmime.o xdgmimecache.o xdgmimeparent.o xdgmimeint.o xdgmimeicon.o xdgmimeglob.o xdgmimealias.o xdgmimemagic.o
mkdir -p ../libxputty/include/
cp ../xputty/header/*.h ../libxputty/include/
cp ../xputty/header/widgets/*.h ../libxputty/include/
cp ../xputty/header/dialogs/*.h ../libxputty/include/
cp ../xputty/resources/xresources.h ../libxputty/include/
cp ../xputty/xdgmime/*.h ../libxputty/include/
cp -r ../xputty/lv2_plugin ../libxputty/
cp libxputty.a ../libxputty/
make[2]: Verzeichnis „/tmp/Fluida.lv2/libxputty/Build“ wird verlassen
make[1]: Verzeichnis „/tmp/Fluida.lv2/libxputty“ wird verlassen
make[1]: Verzeichnis „/tmp/Fluida.lv2/Fluida“ wird betreten
g++ -std=c++11 -D_FORTIFY_SOURCE=2 -I. -I./dsp -I./plugin -fPIC -DPIC -O2 -Wall -funroll-loops -fstack-protector -ffast-math -fomit-frame-pointer -fstrength-reduce `pkg-config --cflags --libs fluidsynth` -fdata-sections -Wl,--gc-sections -Wl,-z,relro,-z,now -Wl,--exclude-libs,ALL -msse3 -mfpmath=sse -mfxsr fluida.cpp XSynth.cpp -I. -lm -pthread -lpthread -shared -lm -Wl,-z,noexecstack -Wl,--no-undefined -fvisibility=hidden `pkg-config --cflags --libs fluidsynth` -o Fluida.so
cc -D_FORTIFY_SOURCE=2 -I. -I./dsp -I./plugin -fPIC -DPIC -O2 -Wall -funroll-loops -fstack-protector -ffast-math -fomit-frame-pointer -fstrength-reduce `pkg-config --cflags --libs fluidsynth` -fdata-sections -Wl,--gc-sections -Wl,-z,relro,-z,now -Wl,--exclude-libs,ALL -msse3 -mfpmath=sse -mfxsr -Wl,-z,nodelete fluida_ui.c -I../libxputty/libxputty/include/ -Wl,-z,noexecstack -Wl,--no-undefined -fvisibility=hidden -L. ../libxputty/libxputty/libxputty.a -shared `pkg-config --cflags --libs cairo x11` -lm -o Fluida_ui.so
strip -s -x -X -R .comment -R .note.ABI-tag Fluida.so
strip -s -x -X -R .comment -R .note.ABI-tag Fluida_ui.so
build finish, now run make install
make[1]: Verzeichnis „/tmp/Fluida.lv2/Fluida“ wird verlassen
brian@Esprimo-P400:/tmp/Fluida.lv2$ make install
Submodule up to date
make[1]: Verzeichnis „/tmp/Fluida.lv2/libxputty“ wird betreten
make[1]: Für das Ziel „install“ ist nichts zu tun.
make[1]: Verzeichnis „/tmp/Fluida.lv2/libxputty“ wird verlassen
make[1]: Verzeichnis „/tmp/Fluida.lv2/Fluida“ wird betreten
cp -r ./Fluida.lv2/* ~/.lv2/Fluida.lv2
. . , done
make[1]: Verzeichnis „/tmp/Fluida.lv2/Fluida“ wird verlassen
from fluida.lv2.
Nice, thanks for testing again.
So we could mark that as fixed and close this issue.
from fluida.lv2.
Related Issues (20)
- Segmentation fault (core dumped) HOT 23
- Provide compiles .so files in releases HOT 8
- Drag'n drop .sf2 file doesn't works in Reaper HOT 4
- Build error on Pop!_OS 22.04 HOT 4
- [regression in 0.8] error: no such file or directory: '../libxputty/libxputty/libxputty.a' HOT 13
- `makeResident` makes no GUI in JUCE hosts HOT 3
- Selecting files in browser does not open anything in reaper for linux HOT 33
- Fluida loses GUI state on hide/show window; segfaults on second add HOT 17
- Cannot change instrument when external MIDI keyboard w/ clock is connected HOT 14
- Incorrect highlighting in instrument combobox when advancing instrument via click HOT 4
- Instrument choice is not kept when plugin is reloaded in DAW (ardour, reaper) HOT 2
- File selector suggestions HOT 16
- Instruments from MSB 001 onwards are not playable. HOT 7
- Fluida won't load instruments HOT 6
- lv2lint check errors for release v0.9 HOT 2
- UI does not scale correctly HOT 3
- Invalid channel list causing crash with some .sf2s. HOT 2
- Multi-instrument SF2s reset to instrument in index 0 in the UI when closing and reopening the plugin window in Reaper HOT 16
- Which Fluidsynth version is used in recent released builds? HOT 2
- Git head crashes Ardour 8.6 host HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fluida.lv2.