Giter Club home page Giter Club logo

Comments (7)

brummer10 avatar brummer10 commented on June 2, 2024

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.

Axel-Erfurt avatar Axel-Erfurt commented on June 2, 2024
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.

brummer10 avatar brummer10 commented on June 2, 2024

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.

Axel-Erfurt avatar Axel-Erfurt commented on June 2, 2024

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.

brummer10 avatar brummer10 commented on June 2, 2024

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.

Axel-Erfurt avatar Axel-Erfurt commented on June 2, 2024

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.

brummer10 avatar brummer10 commented on June 2, 2024

Nice, thanks for testing again.
So we could mark that as fixed and close this issue.

from fluida.lv2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.