Imported Debian patch 0.22.4-1
Roland Stigge authored 11 years ago
Ross Gammon committed 8 years ago
0 | guitarix (0.22.4-1) unstable; urgency=low | |
1 | ||
2 | * New upstream release | |
3 | ||
4 | -- Roland Stigge <stigge@antcom.de> Tue, 12 Jun 2012 21:14:01 +0200 | |
5 | ||
0 | 6 | guitarix (0.22.3-1) unstable; urgency=low |
1 | 7 | |
2 | 8 | * New upstream release |
3 | 3 | Author: Roland Stigge <stigge@antcom.de> |
4 | 4 | Bug-Debian: http://bugs.debian.org/649634 |
5 | 5 | |
6 | Index: guitarix-0.20.2/src/zita-convolver/zita-convolver.h | |
6 | Index: guitarix-0.22.4/src/zita-convolver/zita-convolver.h | |
7 | 7 | =================================================================== |
8 | --- guitarix-0.20.2.orig/src/zita-convolver/zita-convolver.h 2011-10-22 14:24:00.000000000 +0200 | |
9 | +++ guitarix-0.20.2/src/zita-convolver/zita-convolver.h 2011-11-23 10:17:14.000000000 +0100 | |
8 | --- guitarix-0.22.4.orig/src/zita-convolver/zita-convolver.h 2012-06-12 00:26:58.000000000 +0200 | |
9 | +++ guitarix-0.22.4/src/zita-convolver/zita-convolver.h 2012-06-12 21:17:34.000000000 +0200 | |
10 | 10 | @@ -39,7 +39,6 @@ |
11 | 11 | #undef ZCSEMA_IS_IMPLEMENTED |
12 | 12 | #endif |
13 | 13 | |
14 | -#ifdef __linux__ | |
14 | -#if defined __linux__ || defined __FreeBSD__ | |
15 | 15 | #include <semaphore.h> |
16 | 16 | |
17 | 17 | class ZCsema |
35 | 35 | |
36 | 36 | /* Midi */ |
37 | 37 | MidiStandardControllers midi_std_ctr; // map ctrl num -> standard name |
38 | MidiControllerList controller_map; // map ctrl num -> controlled parameters | |
39 | 38 | |
40 | 39 | |
41 | 40 | /**************************************************************** |
517 | 517 | queue_all_msgs(true) { |
518 | 518 | } |
519 | 519 | |
520 | static class LoggerGuard { | |
521 | private: | |
522 | Logger *logger_instance; | |
523 | public: | |
524 | LoggerGuard() : logger_instance(0) {} | |
525 | ~LoggerGuard() { destroy(); } | |
526 | void create() { logger_instance = new Logger; } | |
527 | void destroy() { if (logger_instance) { delete logger_instance; logger_instance = 0; }} | |
528 | Logger *get() { return logger_instance; } | |
529 | } logger_guard; | |
530 | ||
520 | 531 | Logger& Logger::get_logger() { |
521 | static Logger instance; | |
522 | return instance; | |
532 | Logger *l = logger_guard.get(); | |
533 | if (!l) { | |
534 | logger_guard.create(); | |
535 | l = logger_guard.get(); | |
536 | } | |
537 | return *l; | |
538 | } | |
539 | ||
540 | void Logger::destroy() { | |
541 | logger_guard.destroy(); | |
523 | 542 | } |
524 | 543 | |
525 | 544 | Logger::~Logger() { |
319 | 319 | namespace gx_engine { |
320 | 320 | //FIXME should not be global but needed for UI atm. |
321 | 321 | ParamMap parameter_map; |
322 | MidiControllerList controller_map; | |
322 | 323 | } |
323 | 324 | |
324 | 325 | int main(int argc, char *argv[]) { |
603 | 603 | //Gtk::CellRendererToggle *tg; |
604 | 604 | //bld->find_widget(name, tg); |
605 | 605 | cell->signal_toggled().connect( |
606 | sigc::bind<PortSection&>( | |
607 | sigc::mem_fun(*this, &PortMapWindow::on_cell_toggle),portsection[i])); | |
606 | sigc::bind( | |
607 | sigc::mem_fun(*this, &PortMapWindow::on_cell_toggle), | |
608 | sigc::ref(portsection[i]))); | |
608 | 609 | snprintf(name, sizeof(name), "expander%d", i+1); |
609 | 610 | //bld->find_widget(name, portsection[i].expander); |
610 | 611 | if (portsection[i].expander) { |
611 | 612 | portsection[i].expander->property_expanded().signal_changed().connect( |
612 | sigc::bind<Gtk::Expander&>( | |
613 | sigc::bind( | |
613 | 614 | sigc::mem_fun(*this, &PortMapWindow::on_expander), |
614 | *portsection[i].expander)); | |
615 | sigc::ref(*portsection[i].expander))); | |
615 | 616 | snprintf(name, sizeof(name), "port%d", i+1); |
616 | 617 | bld->find_widget(name, portsection[i].label); |
617 | 618 | } |
26 | 26 | ** class PresetWindow |
27 | 27 | */ |
28 | 28 | |
29 | PresetStore::PresetStore(): Gtk::ListStore(PresetModelColumns()) | |
30 | {} | |
29 | PresetStore::PresetStore(): Gtk::ListStore(), col() { | |
30 | set_column_types(col); | |
31 | } | |
31 | 32 | |
32 | 33 | bool PresetStore::row_draggable_vfunc(const TreeModel::Path& path) const { |
33 | 34 | Gtk::TreeModel::const_iterator i = const_cast<PresetStore*>(this)->get_iter(path); // Bug in Gtkmm: no get_iter() const |
600 | 600 | TextListColumns() { add(name); } |
601 | 601 | } col; |
602 | 602 | private: |
603 | TextListStore(): Gtk::ListStore(TextListColumns()) {} | |
603 | TextListStore(): Gtk::ListStore(), col() { | |
604 | set_column_types(col); | |
605 | } | |
604 | 606 | public: |
605 | 607 | static Glib::RefPtr<TextListStore> create() { return Glib::RefPtr<TextListStore>(new TextListStore); } |
606 | 608 | }; |
64 | 64 | sources = sources_engine + sources_gui |
65 | 65 | incl = ['.','./engine','../..','..','../headers','../../libgxwmm','../../libgxw'] # need ".." for config.h |
66 | 66 | libpath = [] |
67 | lib = ['dl'] | |
67 | lib = [] | |
68 | if bld.env['IS_LINUX']: | |
69 | lib.append('dl') | |
68 | 70 | uselib = ['JACK', 'SNDFILE', 'GTHREAD', 'GMODULE_EXPORT', |
69 | 71 | 'GTK2', 'GTKMM', 'GIOMM', 'FFTW3'] |
70 | 72 | uselib_local = [] |
381 | 381 | Logger(); |
382 | 382 | ~Logger(); |
383 | 383 | void write_queued(); |
384 | friend class LoggerGuard; | |
384 | 385 | public: |
385 | 386 | void unplug_queue(); |
386 | 387 | msg_signal& signal_message(); |
387 | 388 | void print(const char* func, const string& msg, GxMsgType msgtype); |
388 | 389 | static Logger& get_logger(); |
390 | static void destroy(); | |
389 | 391 | }; |
390 | 392 | |
391 | 393 | void gx_print_logmsg(const char*, const string&, GxMsgType); |
401 | 401 | } |
402 | 402 | } |
403 | 403 | |
404 | static int logger_inited = 0; | |
405 | ||
406 | static void init_logger() { | |
407 | if (logger_inited++) { | |
408 | return; | |
409 | } | |
410 | gx_system::Logger& log(gx_system::Logger::get_logger()); | |
411 | if (log.signal_message().empty()) { | |
412 | log.signal_message().connect(sigc::ptr_fun(log_terminal)); | |
413 | log.unplug_queue(); | |
414 | } | |
415 | } | |
416 | ||
417 | static void destroy_logger() { | |
418 | if (--logger_inited > 0) { | |
419 | return; | |
420 | } | |
421 | gx_system::Logger::destroy(); | |
422 | } | |
423 | ||
424 | ||
404 | 425 | /**************************************************************** |
405 | 426 | ** class LadspaGuitarix |
406 | 427 | */ |
423 | 444 | PresetLoader(); |
424 | 445 | ~PresetLoader(); |
425 | 446 | public: |
447 | static void start_presetloader() { if (!instance) create(); } | |
426 | 448 | static void create(); |
427 | 449 | static void destroy(); |
428 | 450 | static void add_instance(LadspaGuitarix* i); |
454 | 476 | LadspaGuitarix(EngineControl& engine, ConvolverAdapter* convolver, |
455 | 477 | ControlParameter& cp, const char *envvar); |
456 | 478 | ~LadspaGuitarix(); |
479 | static void start_presetloader() { PresetLoader::start_presetloader(); } | |
457 | 480 | }; |
458 | 481 | |
459 | 482 | static string get_statefile() { |
620 | 643 | } |
621 | 644 | |
622 | 645 | void LadspaGuitarix::PresetLoader::run_mainloop() { |
646 | init_logger(); | |
623 | 647 | instance = new PresetLoader(); |
624 | 648 | instance->new_preset.connect(sigc::mem_fun(*instance, &PresetLoader::load_presets)); |
625 | 649 | sem_post(&instance->created_sem); |
626 | 650 | instance->mainloop->run(); |
627 | 651 | delete instance; |
628 | 652 | instance = 0; |
653 | destroy_logger(); | |
629 | 654 | } |
630 | 655 | |
631 | 656 | void LadspaGuitarix::PresetLoader::load_presets() { |
1111 | 1136 | |
1112 | 1137 | LADSPA_Handle LadspaGuitarixMono::instantiateGuitarix( |
1113 | 1138 | const LADSPA_Descriptor * Descriptor, unsigned long SampleRate) { |
1139 | start_presetloader(); | |
1114 | 1140 | return new LadspaGuitarixMono(SampleRate); |
1115 | 1141 | } |
1116 | 1142 | |
1631 | 1657 | |
1632 | 1658 | LADSPA_Handle LadspaGuitarixStereo::instantiateGuitarix( |
1633 | 1659 | const LADSPA_Descriptor * Descriptor, unsigned long SampleRate) { |
1660 | start_presetloader(); | |
1634 | 1661 | return new LadspaGuitarixStereo(SampleRate); |
1635 | 1662 | } |
1636 | 1663 | |
1857 | 1884 | inited = 1; |
1858 | 1885 | bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR); |
1859 | 1886 | bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); |
1860 | gx_system::Logger& log(gx_system::Logger::get_logger()); | |
1861 | if (log.signal_message().empty()) { | |
1862 | log.signal_message().connect(sigc::ptr_fun(log_terminal)); | |
1863 | log.unplug_queue(); | |
1864 | } | |
1865 | 1887 | } |
1866 | 1888 | switch (Index) { |
1867 | 1889 | case 0: |
25 | 25 | |
26 | 26 | src = ['ladspa_guitarix.cpp'] + bsources |
27 | 27 | incl = ['../headers', '..','../gx_head/engine','../../libgxwmm','../../libgxw'] |
28 | lib = ['dl'] | |
28 | lib = [] | |
29 | if bld.env['IS_LINUX']: | |
30 | lib.append('dl') | |
29 | 31 | uselib = ['JACK', 'SNDFILE', 'GTHREAD', 'GMODULE_EXPORT', |
30 | 32 | 'GLIBMM', 'GIOMM', 'FFTW3'] |
31 | 33 | if bld.env['ZITA_CONVOLVER']: |
47 | 47 | }; |
48 | 48 | |
49 | 49 | Gate::Gate(): |
50 | PluginDef(), | |
50 | 51 | state(CLOSED), |
51 | 52 | holding(0), |
52 | 53 | gate(0), |
80 | 81 | float range_coef = self.range > -90 ? pow(10, self.range * 0.05) : 0; |
81 | 82 | float attack_coef = 1000 / (self.attack * self.sample_rate); |
82 | 83 | float decay_coef = 1000 / (self.decay * self.sample_rate); |
83 | float thres = std::pow(10.0, self.threshold / 20); | |
84 | float thres = std::pow(10, self.threshold / 20); | |
84 | 85 | for (int i = 0; i < count; ++i) { |
85 | 86 | float input_abs = std::abs(input[i]); |
86 | 87 | switch (self.state){ |