13
0

Merge branch 'ardour'

This commit is contained in:
Robin Gareus 2024-07-24 02:33:37 +02:00
commit 2966b8781c
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
33 changed files with 213 additions and 73 deletions

3
.gitignore vendored
View File

@ -140,6 +140,9 @@ tags
/icons/win32/msvc_resources.rc /icons/win32/msvc_resources.rc
/tools/osx_packaging/Ardour/*.app /tools/osx_packaging/Ardour/*.app
/tools/osx_packaging/Ardour/*.dmg
/tools/osx_packaging/file_list.txt
/tools/doxy2json/doxy2json /tools/doxy2json/doxy2json
/tools/icons/icon /tools/icons/icon

View File

@ -242,6 +242,7 @@ ARDOUR_UI::set_session (Session *s)
start_clocking (); start_clocking ();
map_transport_state (); map_transport_state ();
set_punch_sensitivity ();
second_connection = Timers::second_connect (sigc::mem_fun(*this, &ARDOUR_UI::every_second)); second_connection = Timers::second_connect (sigc::mem_fun(*this, &ARDOUR_UI::every_second));
point_one_second_connection = Timers::rapid_connect (sigc::mem_fun(*this, &ARDOUR_UI::every_point_one_seconds)); point_one_second_connection = Timers::rapid_connect (sigc::mem_fun(*this, &ARDOUR_UI::every_point_one_seconds));

View File

@ -28,6 +28,7 @@
#include <vector> #include <vector>
#include <boost/unordered_map.hpp> #include <boost/unordered_map.hpp>
#include "evoral/Note.h"
#include "pbd/signals.h" #include "pbd/signals.h"
#include "gtkmm2ext/colors.h" #include "gtkmm2ext/colors.h"

View File

@ -20,6 +20,7 @@
#include "public_editor.h" #include "public_editor.h"
#include "editing.h" #include "editing.h"
#include "audio_clock.h" #include "audio_clock.h"
#include <gtkmm/comboboxtext.h>
class InsertRemoveTimeDialog : public ArdourDialog class InsertRemoveTimeDialog : public ArdourDialog
{ {

View File

@ -29,10 +29,14 @@
#include "note_base.h" #include "note_base.h"
#include "public_editor.h" #include "public_editor.h"
#include "editing_syms.h"
#include "keyboard.h" #include "keyboard.h"
#include "midi_region_view.h" #include "midi_region_view.h"
/* clang-format off */
// Include last, when GRIDTYPE has been defined by editing.h via midi_region_view.h
#include "editing_syms.h"
/* clang-format on */
using namespace std; using namespace std;
using namespace Gtkmm2ext; using namespace Gtkmm2ext;
using ARDOUR::MidiModel; using ARDOUR::MidiModel;

View File

@ -20,13 +20,11 @@
#ifndef __ardour_gtk_playlist_selection_h__ #ifndef __ardour_gtk_playlist_selection_h__
#define __ardour_gtk_playlist_selection_h__ #define __ardour_gtk_playlist_selection_h__
#include "ardour/playlist.h"
#include <list> #include <list>
#include <memory> #include <memory>
namespace ARDOUR {
class Playlist;
}
struct PlaylistSelection : std::list<std::shared_ptr<ARDOUR::Playlist> > { struct PlaylistSelection : std::list<std::shared_ptr<ARDOUR::Playlist> > {
public: public:
const_iterator const_iterator

View File

@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: gtk-ardour 0.347.2\n" "Project-Id-Version: gtk-ardour 0.347.2\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-07-02 10:34+0200\n" "POT-Creation-Date: 2024-07-02 10:34+0200\n"
"PO-Revision-Date: 2024-07-03 09:38+0200\n" "PO-Revision-Date: 2024-07-17 11:28+0200\n"
"Last-Translator: Edgar Aichinger <edgar.aichinger@aon.at>\n" "Last-Translator: Edgar Aichinger <edgar.aichinger@aon.at>\n"
"Language-Team: German <kde-i18n-de@kde.org>\n" "Language-Team: German <kde-i18n-de@kde.org>\n"
"Language: de\n" "Language: de\n"
@ -19,7 +19,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 24.05.1\n" "X-Generator: Lokalize 24.05.2\n"
"X-Poedit-Basepath: ../..\n" "X-Poedit-Basepath: ../..\n"
"X-Poedit-SearchPath-0: gtk2_ardour\n" "X-Poedit-SearchPath-0: gtk2_ardour\n"
@ -12622,9 +12622,9 @@ msgid ""
"\n" "\n"
"<i>(You can put new sessions anywhere, this is just a default)</i></span>" "<i>(You can put new sessions anywhere, this is just a default)</i></span>"
msgstr "" msgstr ""
"<span size=\"larger\">Jedes Projekt, an dem Sie mit %1 arbeiten, hat seinen " "<span size=\"larger\">Jedes Projekt, an dem Sie mit %1 arbeiten, hat seinen eigenen "
"eigenen Ordner.\n" "Ordner.\n"
"Das kann eine Menge Speicherplatz verbrauchen, wnn Sie Audio aufnehmen.\n" "Falls Sie Audio aufnehmen, kann das sehr viel Festplatten-Speicherplatz benötigen.\n"
"\n" "\n"
"Wo wollen Sie neue %1-Projekte speichern?\n" "Wo wollen Sie neue %1-Projekte speichern?\n"
"\n" "\n"
@ -17257,7 +17257,6 @@ msgid ""
"Note: This only affects newly added plugins and is applied to plugin on " "Note: This only affects newly added plugins and is applied to plugin on "
"session-reload. Already automated parameters are retained." "session-reload. Already automated parameters are retained."
msgstr "" msgstr ""
""
"Manche Plugins präsentieren eine unverhältnismäßig große Zahl von " "Manche Plugins präsentieren eine unverhältnismäßig große Zahl von "
"Kontrolleingängen. Diese Option begrenzt die als automatisierbar " "Kontrolleingängen. Diese Option begrenzt die als automatisierbar "
"angezeigten Parameter, ohne die Gesamtanzahl der Kontrollelemente zu " "angezeigten Parameter, ohne die Gesamtanzahl der Kontrollelemente zu "
@ -21938,4 +21937,3 @@ msgstr ""
#: export_video_dialog.cc:815 #: export_video_dialog.cc:815
msgid "Input Video File" msgid "Input Video File"
msgstr "Quell-Videodatei" msgstr "Quell-Videodatei"

View File

@ -31,12 +31,12 @@
#include <gtkmm/widget.h> #include <gtkmm/widget.h>
#include <gtkmm/checkbutton.h> #include <gtkmm/checkbutton.h>
#include "ardour/bundle.h"
#include "ardour/data_type.h" #include "ardour/data_type.h"
#include "ardour/types.h" #include "ardour/types.h"
namespace ARDOUR { namespace ARDOUR {
class Session; class Session;
class Bundle;
class Processor; class Processor;
class IO; class IO;
} }

View File

@ -31,10 +31,6 @@
class PortMatrix; class PortMatrix;
class PortMatrixBody; class PortMatrixBody;
namespace ARDOUR {
class Bundle;
}
/** The grid part of the port matrix */ /** The grid part of the port matrix */
class PortMatrixGrid : public PortMatrixComponent class PortMatrixGrid : public PortMatrixComponent
{ {

View File

@ -20,12 +20,9 @@
#ifndef __SYSEX_H__ #ifndef __SYSEX_H__
#define __SYSEX_H__ #define __SYSEX_H__
#include "canvas/flag.h"
#include "midi_region_view.h" #include "midi_region_view.h"
namespace ArdourCanvas {
class Flag;
}
class SysEx class SysEx
{ {
public: public:

View File

@ -71,11 +71,17 @@ public:
class iterator_base class iterator_base
{ {
public: public:
iterator_base<BufferType, EventType>(BufferType& b, samplecnt_t o) iterator_base (BufferType& b, samplecnt_t o)
: buffer(&b), offset(o) {} : buffer (&b)
, offset (o)
{
}
iterator_base<BufferType, EventType>(const iterator_base<BufferType,EventType>& o) iterator_base (const iterator_base<BufferType, EventType>& o)
: buffer (o.buffer), offset(o.offset) {} : buffer (o.buffer)
, offset (o.offset)
{
}
inline iterator_base<BufferType,EventType> operator= (const iterator_base<BufferType,EventType>& o) { inline iterator_base<BufferType,EventType> operator= (const iterator_base<BufferType,EventType>& o) {
if (&o != this) { if (&o != this) {

View File

@ -1,5 +1,8 @@
#ifndef MINIMP3_H #ifndef MINIMP3_H
#define MINIMP3_H #define MINIMP3_H
/* clang-format off */
/* /*
https://github.com/lieff/minimp3 https://github.com/lieff/minimp3
To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide.

View File

@ -18,6 +18,7 @@
*/ */
#include "ardour/libardour_visibility.h" #include "ardour/libardour_visibility.h"
#include "pbd/properties.h"
/** These are GQuarks for a subset of UI operations. We use these /** These are GQuarks for a subset of UI operations. We use these
* so that the undo system can be queried to find out what operations * so that the undo system can be queried to find out what operations

View File

@ -89,8 +89,12 @@ public:
private: private:
friend class PortSet; friend class PortSet;
iterator_base<PS,P>(PS& list, DataType type, size_t index) iterator_base (PS& list, DataType type, size_t index)
: _set(list), _type(type), _index(index) {} : _set (list)
, _type (type)
, _index (index)
{
}
PS& _set; PS& _set;
DataType _type; ///< Ignored if NIL (to iterator over entire set) DataType _type; ///< Ignored if NIL (to iterator over entire set)

View File

@ -21,6 +21,7 @@
#ifndef __libardour_route_group_member_h__ #ifndef __libardour_route_group_member_h__
#define __libardour_route_group_member_h__ #define __libardour_route_group_member_h__
#include "ardour/libardour_visibility.h"
#include "pbd/controllable.h" #include "pbd/controllable.h"
#include "pbd/signals.h" #include "pbd/signals.h"

View File

@ -24,6 +24,7 @@
#include <map> #include <map>
#include <string> #include <string>
#include "ardour/types.h"
#include "pbd/configuration.h" #include "pbd/configuration.h"
namespace ARDOUR { namespace ARDOUR {
@ -44,6 +45,7 @@ public:
/* define accessor methods */ /* define accessor methods */
/* clang-format off */
#undef CONFIG_VARIABLE #undef CONFIG_VARIABLE
#undef CONFIG_VARIABLE_SPECIAL #undef CONFIG_VARIABLE_SPECIAL
#define CONFIG_VARIABLE(Type,var,name,value) \ #define CONFIG_VARIABLE(Type,var,name,value) \
@ -55,11 +57,13 @@ public:
#include "ardour/session_configuration_vars.h" #include "ardour/session_configuration_vars.h"
#undef CONFIG_VARIABLE #undef CONFIG_VARIABLE
#undef CONFIG_VARIABLE_SPECIAL #undef CONFIG_VARIABLE_SPECIAL
/* clang-format on */
private: private:
/* declare variables */ /* declare variables */
/* clang-format off */
#undef CONFIG_VARIABLE #undef CONFIG_VARIABLE
#undef CONFIG_VARIABLE_SPECIAL #undef CONFIG_VARIABLE_SPECIAL
#define CONFIG_VARIABLE(Type,var,name,value) PBD::ConfigVariable<Type> var; #define CONFIG_VARIABLE(Type,var,name,value) PBD::ConfigVariable<Type> var;
@ -67,6 +71,7 @@ public:
#include "ardour/session_configuration_vars.h" #include "ardour/session_configuration_vars.h"
#undef CONFIG_VARIABLE #undef CONFIG_VARIABLE
#undef CONFIG_VARIABLE_SPECIAL #undef CONFIG_VARIABLE_SPECIAL
/* clang-format on */
int foo; int foo;

View File

@ -321,8 +321,6 @@ Region::Region (const SourceList& srcs)
{ {
register_properties (); register_properties ();
_type = srcs.front()->type();
use_sources (srcs); use_sources (srcs);
assert(_sources.size() > 0); assert(_sources.size() > 0);

View File

@ -6285,7 +6285,7 @@ Route::monitoring_state () const
* TODO: FIXME * TODO: FIXME
*/ */
if (_session.config.get_punch_in() || _session.config.get_punch_out()) { if ((_session.config.get_punch_in() || _session.config.get_punch_out()) && 0 != _session.locations()->auto_punch_location ()) {
session_rec = _session.actively_recording (); session_rec = _session.actively_recording ();
} else { } else {
session_rec = _session.get_record_enabled(); session_rec = _session.get_record_enabled();

View File

@ -2324,7 +2324,7 @@ Session::maybe_enable_record (bool rt_context)
if (_transport_fsm->transport_speed() != 0) { if (_transport_fsm->transport_speed() != 0) {
maybe_allow_only_punch (); maybe_allow_only_punch ();
if (!config.get_punch_in()) { if (!config.get_punch_in() || 0 == locations()->auto_punch_location ()) {
enable_record (); enable_record ();
} }
/* When rolling, start recording immediately. /* When rolling, start recording immediately.
@ -7094,7 +7094,7 @@ Session::source_search_path (DataType type) const
break; break;
} }
return std::move(sp); return sp;
} }
void void

View File

@ -41,6 +41,8 @@
using namespace ARDOUR; using namespace ARDOUR;
using namespace PBD; using namespace PBD;
/* clang-format off */
SessionConfiguration::SessionConfiguration () SessionConfiguration::SessionConfiguration ()
: :
/* construct variables */ /* construct variables */
@ -151,6 +153,7 @@ SessionConfiguration::map_parameters (boost::function<void (std::string)>& funct
#undef CONFIG_VARIABLE_SPECIAL #undef CONFIG_VARIABLE_SPECIAL
} }
/* clang-format on */
bool bool
SessionConfiguration::load_state () SessionConfiguration::load_state ()

View File

@ -521,7 +521,7 @@ Session::start_transport (bool after_loop)
switch (record_status()) { switch (record_status()) {
case Enabled: case Enabled:
if (!config.get_punch_in()) { if (!config.get_punch_in() || 0 == locations()->auto_punch_location ()) {
/* This is only for UIs (keep blinking rec-en before /* This is only for UIs (keep blinking rec-en before
* punch-in, don't show rec-region etc). The UI still * punch-in, don't show rec-region etc). The UI still
* depends on SessionEvent::PunchIn and ensuing signals. * depends on SessionEvent::PunchIn and ensuing signals.

View File

@ -4184,6 +4184,7 @@ TriggerBox::run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_samp
all_triggers[_active_scene]->bang (); all_triggers[_active_scene]->bang ();
} else { } else {
stop_all_quantized (); //empty slot, this should work as a Stop for the running clips stop_all_quantized (); //empty slot, this should work as a Stop for the running clips
//TODO: can we set a flag so the UI reports that we are stopping? //TODO: can we set a flag so the UI reports that we are stopping?
} }
} }

View File

@ -191,10 +191,9 @@ VSTPlugin::set_parameter (uint32_t which, float newval, sampleoffset_t when)
if (0 != rv) { if (0 != rv) {
_eff_bypassed = (value == 1); _eff_bypassed = (value == 1);
} else { } else {
cerr << "effSetBypass failed rv=" << rv << endl; // XXX DEBUG /* TODO: hard-bypass effect, emit signal, and ensure that the
#ifdef ALLOW_VST_BYPASS_TO_FAIL // yet unused, see also vst_plugin.cc * plugin is reactivated on the next call to this function..
// emit signal.. hard un/bypass from here?! */
#endif
} }
return; return;
} }

View File

@ -22,6 +22,7 @@
#include <sigc++/trackable.h> #include <sigc++/trackable.h>
#include <gtkmm.h>
#include "gtkmm2ext/visibility.h" #include "gtkmm2ext/visibility.h"
namespace Gtkmm2ext { namespace Gtkmm2ext {

View File

@ -361,8 +361,8 @@ template <class T>
class UserdataValue : public Userdata class UserdataValue : public Userdata
{ {
private: private:
UserdataValue <T> (UserdataValue <T> const&); UserdataValue (UserdataValue<T> const&);
UserdataValue <T> operator= (UserdataValue <T> const&); UserdataValue<T> operator= (UserdataValue<T> const&);
char m_storage [sizeof (T)]; char m_storage [sizeof (T)];

View File

@ -321,13 +321,8 @@ FaderPort::handle_midi_pitchbend_message (MIDI::Parser &, MIDI::pitchbend_t pb)
ButtonState trim_modifier; ButtonState trim_modifier;
ButtonState width_modifier; ButtonState width_modifier;
if (Profile->get_mixbus()) { trim_modifier = ShiftDown;
trim_modifier = ShiftDown; width_modifier = ButtonState (0);
width_modifier = ButtonState (0);
} else {
trim_modifier = UserDown;
width_modifier = ShiftDown;
}
if ((button_state & trim_modifier) == trim_modifier ) { // mod+encoder = input trim if ((button_state & trim_modifier) == trim_modifier ) { // mod+encoder = input trim
std::shared_ptr<AutomationControl> trim = _current_stripable->trim_control (); std::shared_ptr<AutomationControl> trim = _current_stripable->trim_control ();

View File

@ -131,7 +131,7 @@ class FaderPort : public MIDISurface {
ShiftDown = 0x1, ShiftDown = 0x1,
RewindDown = 0x2, RewindDown = 0x2,
StopDown = 0x4, StopDown = 0x4,
UserDown = 0x8, /* gap when we removed UserMode as a modifier */
LongPress = 0x10 LongPress = 0x10
}; };

View File

@ -436,10 +436,6 @@ FPGUI::build_foot_action_combo (Gtk::ComboBox& cb, FaderPort::ButtonState bs)
void void
FPGUI::build_user_action_combo (Gtk::ComboBox& cb, FaderPort::ButtonState bs) FPGUI::build_user_action_combo (Gtk::ComboBox& cb, FaderPort::ButtonState bs)
{ {
#ifndef MIXBUS
bs = FaderPort::ButtonState (bs|FaderPort::UserDown);
#endif
/* set the active "row" to the right value for the current button binding */ /* set the active "row" to the right value for the current button binding */
string current_action = fp.get_action (FaderPort::User, false, bs); /* lookup release action */ string current_action = fp.get_action (FaderPort::User, false, bs); /* lookup release action */

View File

@ -19,6 +19,7 @@
#ifndef __ardour_us2400_control_protocol_control_group_h__ #ifndef __ardour_us2400_control_protocol_control_group_h__
#define __ardour_us2400_control_protocol_control_group_h__ #define __ardour_us2400_control_protocol_control_group_h__
#include <string>
#include <vector> #include <vector>
namespace ArdourSurface { namespace ArdourSurface {

View File

@ -57,9 +57,9 @@ static bool keep_running = true;
static bool terminate_when_halted = false; static bool terminate_when_halted = false;
/* extern VST functions */ /* extern VST functions */
int vstfx_init (void*) { return 0; } int vstfx_init (void*) { return 0; }
void vstfx_exit () {} void vstfx_exit () { }
void vstfx_destroy_editor (VSTState*) {} void vstfx_destroy_editor (VSTState*) { }
class LuaReceiver : public Receiver class LuaReceiver : public Receiver
{ {
@ -109,7 +109,7 @@ public:
run_loop_thread = Glib::Threads::Thread::self (); run_loop_thread = Glib::Threads::Thread::self ();
} }
bool call_slot (InvalidationRecord* ir, const boost::function<void()>& f) bool call_slot (InvalidationRecord* ir, const boost::function<void ()>& f)
{ {
if (Glib::Threads::Thread::self () == run_loop_thread) { if (Glib::Threads::Thread::self () == run_loop_thread) {
cout << string_compose ("%1/%2 direct dispatch of call slot via functor @ %3, invalidation %4\n", event_loop_name (), pthread_name (), &f, ir); cout << string_compose ("%1/%2 direct dispatch of call slot via functor @ %3, invalidation %4\n", event_loop_name (), pthread_name (), &f, ir);
@ -146,7 +146,8 @@ static void
init () init ()
{ {
if (!ARDOUR::init (true, localedir)) { if (!ARDOUR::init (true, localedir)) {
cerr << "Ardour failed to initialize\n" << endl; cerr << "Ardour failed to initialize\n"
<< endl;
console_madness_end (); console_madness_end ();
::exit (EXIT_FAILURE); ::exit (EXIT_FAILURE);
} }
@ -449,7 +450,7 @@ setup_lua ()
AudioEngine::instance ()->stop (); AudioEngine::instance ()->stop ();
AudioEngine::instance()->Halted.connect_same_thread (engine_connections, boost::bind (&engine_halted, _1)); AudioEngine::instance ()->Halted.connect_same_thread (engine_connections, boost::bind (&engine_halted, _1));
} }
static int static int
@ -542,6 +543,7 @@ usage ()
{ {
printf ("ardour-lua - interactive Ardour Lua interpreter.\n\n"); printf ("ardour-lua - interactive Ardour Lua interpreter.\n\n");
printf ("Usage: ardour-lua [ OPTIONS ] [ file [args] ]\n\n"); printf ("Usage: ardour-lua [ OPTIONS ] [ file [args] ]\n\n");
/* clang-format off */
/* 1 2 3 4 5 6 7 8 /* 1 2 3 4 5 6 7 8
*2345678901234567890123456789012345678901234567890123456789012345678901234567890*/ *2345678901234567890123456789012345678901234567890123456789012345678901234567890*/
printf ("Options:\n\ printf ("Options:\n\
@ -555,6 +557,7 @@ usage ()
printf ("\n\ printf ("\n\
Ardour at your finger tips...\n\ Ardour at your finger tips...\n\
\n"); \n");
/* clang-format on */
printf ("Report bugs to <https://tracker.ardour.org/>\n" printf ("Report bugs to <https://tracker.ardour.org/>\n"
"Website: <https://ardour.org/>\n"); "Website: <https://ardour.org/>\n");
console_madness_end (); console_madness_end ();
@ -566,12 +569,14 @@ main (int argc, char** argv)
{ {
const char* optstring = "hiVX"; const char* optstring = "hiVX";
/* clang-format off */
const struct option longopts[] = { const struct option longopts[] = {
{ "help", 0, 0, 'h' }, { "help", 0, 0, 'h' },
{ "interactive", 0, 0, 'i' }, { "interactive", 0, 0, 'i' },
{ "version", 0, 0, 'V' }, { "version", 0, 0, 'V' },
{ "exit-when-halted", 0, 0, 'X' }, { "exit-when-halted", 0, 0, 'X' },
}; };
/* clang-format on */
bool interactive = false; bool interactive = false;
console_madness_begin (); console_madness_begin ();
@ -612,7 +617,7 @@ main (int argc, char** argv)
{ {
/* push arguments to script, use scoped LuaRef */ /* push arguments to script, use scoped LuaRef */
lua_State* L = lua->getState (); lua_State* L = lua->getState ();
luabridge::LuaRef arg (luabridge::newTable (L)); luabridge::LuaRef arg (luabridge::newTable (L));
for (int i = 1; i < argc - optind; ++i) { for (int i = 1; i < argc - optind; ++i) {
arg[i] = std::string (argv[i + optind]); arg[i] = std::string (argv[i + optind]);

View File

@ -20,6 +20,7 @@ fi
MIXBUS= MIXBUS=
WITH_HARRISON_LV2= WITH_HARRISON_LV2=
WITH_HARRISON_VBM=
WITH_COMMERCIAL_X42_LV2= WITH_COMMERCIAL_X42_LV2=
WITH_GRATIS_X42_LV2= WITH_GRATIS_X42_LV2=
WITH_GMSYNYTH= WITH_GMSYNYTH=
@ -33,6 +34,7 @@ VENDOR=Ardour ;
EXENAME=ardour EXENAME=ardour
BUILDTYPE="" BUILDTYPE=""
NOSTRIP="libsuil|libserd|libsord|liblilv|libsratom|liblrdf|libardour|libpbd|libevoral" NOSTRIP="libsuil|libserd|libsord|liblilv|libsratom|liblrdf|libardour|libpbd|libevoral"
X42PLUGINS="x42-autotune x42-midifilter x42-stereoroute setBfree x42-avldrums x42-limiter x42-tuner"
: ${HARRISONCHANNELSTRIP=harrison_channelstrip} : ${HARRISONCHANNELSTRIP=harrison_channelstrip}
: ${HARRISONLV2=harrison_lv2s-n} : ${HARRISONLV2=harrison_lv2s-n}
@ -75,6 +77,20 @@ while [ $# -gt 0 ] ; do
WITH_NLS=1 ; WITH_NLS=1 ;
APPNAME=LiveTrax ; APPNAME=LiveTrax ;
shift ;; shift ;;
--vbm)
VBM=1
WITH_HARRISON_LV2=1 ;
WITH_HARRISON_VBM=1 ;
WITH_COMMERCIAL_X42_LV2=1
WITH_GRATIS_X42_LV2=1
WITH_NLS=1 ;
STRIP=all
APPNAME=MixbusVBM ;
VENDOR=Harrison ;
EXENAME=mixbusvbm ;
major_version=""
X42PLUGINS="$X42PLUGINS x42-testsignal x42-nodelay"
shift ;;
--public) --public)
WITH_HARRISON_LV2=1 ; WITH_HARRISON_LV2=1 ;
WITH_GMSYNYTH=1 WITH_GMSYNYTH=1
@ -710,6 +726,17 @@ if test x$WITH_HARRISON_LV2 != x ; then
unzip -q -d "$APPLIB/LV2/" "${CACHEDIR}/${HARRISONLV2}.${HARCH}.zip" unzip -q -d "$APPLIB/LV2/" "${CACHEDIR}/${HARRISONLV2}.${HARCH}.zip"
fi fi
if test x$WITH_HARRISON_VBM != x ; then
echo "Including Harrison VBM Channelstrip LV2"
mkdir -p $APPLIB/LV2
curl -s -S --fail -# \
-z "${CACHEDIR}/harrison_vbm.${HARCH}.zip" \
-o "${CACHEDIR}/harrison_vbm.${HARCH}.zip" \
"${HARRISONDSPURL}/harrison_vbm.${HARCH}.zip"
unzip -q -d "$APPLIB/LV2/" "${CACHEDIR}/harrison_vbm.${HARCH}.zip"
fi
if test -n "$MIXBUS"; then if test -n "$MIXBUS"; then
echo "Adding Mixbus Channelstrip" echo "Adding Mixbus Channelstrip"
@ -746,7 +773,7 @@ if test -n "$MIXBUS"; then
rm -f "${MediaClips}/"*.* rm -f "${MediaClips}/"*.*
unzip -q -o -d "${MediaClips}" "${CACHEDIR}/MixbusBundledMedia.zip" unzip -q -o -d "${MediaClips}" "${CACHEDIR}/MixbusBundledMedia.zip"
fi fi
elif test -z "$LIVETRAX"; then elif test -z "$LIVETRAX" -a -z "$VBM"; then
echo "Fetching Ardour bundled content" echo "Fetching Ardour bundled content"
curl -s -S --fail -# \ curl -s -S --fail -# \
@ -798,7 +825,17 @@ if test x$WITH_GRATIS_X42_LV2 != x ; then
echo "Adding gratis x42 Plugins" echo "Adding gratis x42 Plugins"
for proj in x42-autotune x42-midifilter x42-stereoroute setBfree x42-avldrums x42-limiter x42-tuner; do for proj in $X42PLUGINS; do
if test -n "$VBM"; then
if test "$proj" = "setBfree"; then
continue
fi
if test "$proj" = "x42-avldrums"; then
continue
fi
fi
X42_VERSION=$(curl -s -S http://x42-plugins.com/x42/linux/${proj}.latest.txt) X42_VERSION=$(curl -s -S http://x42-plugins.com/x42/linux/${proj}.latest.txt)
rsync -a -q --partial \ rsync -a -q --partial \
rsync://x42-plugins.com/x42/linux/${proj}-lv2-linux-${WARCH}-${X42_VERSION}.zip \ rsync://x42-plugins.com/x42/linux/${proj}-lv2-linux-${WARCH}-${X42_VERSION}.zip \

View File

@ -14,15 +14,18 @@ fi
mkdir -p "$CACHEDIR" mkdir -p "$CACHEDIR"
MIXBUS= MIXBUS=
VBM=
WITH_HARVID=1 WITH_HARVID=1
WITH_XJADEO=1 WITH_XJADEO=1
WITH_HARRISON_LV2= WITH_HARRISON_LV2=
WITH_HARRISON_VBM=
WITH_COMMERCIAL_X42_LV2= WITH_COMMERCIAL_X42_LV2=
WITH_GRATIS_X42_LV2= WITH_GRATIS_X42_LV2=
WITH_GMSYNTH= WITH_GMSYNTH=
STRIP=1 STRIP=1
PRINT_SYSDEPS= PRINT_SYSDEPS=
WITH_NLS=1 WITH_NLS=1
X42PLUGINS="x42-autotune x42-midifilter x42-stereoroute setBfree x42-avldrums x42-limiter x42-tuner"
: ${HARRISONCHANNELSTRIP=harrison_channelstrip} : ${HARRISONCHANNELSTRIP=harrison_channelstrip}
: ${HARRISONLV2=harrison_lv2s-n} : ${HARRISONLV2=harrison_lv2s-n}
@ -58,6 +61,19 @@ while [ $# -gt 0 ] ; do
lower_case_appname=livetrax; lower_case_appname=livetrax;
BUNDLE_ID_BASE=com.harrisonconsoles BUNDLE_ID_BASE=com.harrisonconsoles
shift ;; shift ;;
--vbm)
VBM=1
WITH_HARRISON_LV2=1 ;
WITH_HARRISON_VBM=1 ;
WITH_COMMERCIAL_X42_LV2=1
WITH_GRATIS_X42_LV2=1
STRIP= ;
PRODUCT_PKG_DIR=MixbusVBM;
lower_case_appname=mixbusvbm;
APPNAME=MixbusVBM ;
BUNDLENAME=MixbusVBM${major_version} ;
X42PLUGINS="$X42PLUGINS x42-testsignal x42-nodelay"
shift ;;
--public) --public)
WITH_HARRISON_LV2=1 ; WITH_HARRISON_LV2=1 ;
WITH_GMSYNTH=1 WITH_GMSYNTH=1
@ -170,10 +186,13 @@ mkdir -p $ExportFormats
mkdir -p $Etc mkdir -p $Etc
mkdir -p $MackieControl mkdir -p $MackieControl
mkdir -p $OSC mkdir -p $OSC
mkdir -p $PatchFiles
mkdir -p $LuaScripts mkdir -p $LuaScripts
mkdir -p $Themes mkdir -p $Themes
if test -z "$VBM"; then
mkdir -p $PatchFiles
fi
EXECUTABLE=${BUNDLENAME} EXECUTABLE=${BUNDLENAME}
# #
@ -233,6 +252,8 @@ if test x$MIXBUS != x ; then
cp Mixbus.icns $Resources/appIcon.icns cp Mixbus.icns $Resources/appIcon.icns
elif test x$LIVETRAX != x ; then elif test x$LIVETRAX != x ; then
cp LiveTrax.icns $Resources/appIcon.icns cp LiveTrax.icns $Resources/appIcon.icns
elif test x$VBM != x ; then
cp MixbusVBM.icns $Resources/appIcon.icns
else else
cp Ardour.icns $Resources/appIcon.icns cp Ardour.icns $Resources/appIcon.icns
fi fi
@ -345,9 +366,11 @@ done
# MIDNAM Patch Files # MIDNAM Patch Files
# got to be careful with names here # got to be careful with names here
for x in $BUILD_ROOT/../share/patchfiles/*.midnam ; do if test -z "$VBM"; then
cp "$x" $PatchFiles for x in $BUILD_ROOT/../share/patchfiles/*.midnam ; do
done cp "$x" $PatchFiles
done
fi
# Lua Script Files # Lua Script Files
# got to be careful with names here # got to be careful with names here
@ -635,11 +658,11 @@ mkdir $PRODUCT_PKG_DIR
DMGWINBOTTOM=440 DMGWINBOTTOM=440
DMGBACKGROUND=dmgbg DMGBACKGROUND=dmgbg
if test -n "$MIXBUS" -o -n "$LIVETRAX"; then if test -n "$MIXBUS" -o -n "$LIVETRAX" -o -n "$VBM" ; then
DMGBACKGROUND=dmgbgMB DMGBACKGROUND=dmgbgMB
fi fi
echo "Creating Mixbus packaging directory" echo "Creating $APPNAME packaging directory"
mv $APPDIR $PRODUCT_PKG_DIR/ mv $APPDIR $PRODUCT_PKG_DIR/
################################################################################ ################################################################################
@ -692,6 +715,17 @@ if test x$WITH_HARRISON_LV2 != x ; then
"${CACHEDIR}/${HARRISONLV2}.${OSX_BENSID}.zip" "${CACHEDIR}/${HARRISONLV2}.${OSX_BENSID}.zip"
fi fi
if test x$WITH_HARRISON_VBM != x ; then
curl -s -S --fail -# \
-z "${CACHEDIR}/harrison_vbm.${OSX_BENSID}.zip" \
-o "${CACHEDIR}/harrison_vbm.${OSX_BENSID}.zip" \
"${HARRISONDSPURL}/harrison_vbm.${OSX_BENSID}.zip"
mkdir -p "${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2"
bsdtar -C "${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2/" -xf \
"${CACHEDIR}/harrison_vbm.${OSX_BENSID}.zip"
fi
if test x$WITH_HARVID != x ; then if test x$WITH_HARVID != x ; then
echo "installing harvid..." echo "installing harvid..."
HARVID_VERSION=$(curl -s -S http://ardour.org/files/video-tools/harvid_version.txt) HARVID_VERSION=$(curl -s -S http://ardour.org/files/video-tools/harvid_version.txt)
@ -768,7 +802,17 @@ if test x$WITH_GRATIS_X42_LV2 != x ; then
echo "Adding gratis x42 plugins" echo "Adding gratis x42 plugins"
mkdir -p "${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2" mkdir -p "${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2"
for proj in x42-autotune x42-midifilter x42-stereoroute setBfree x42-avldrums x42-limiter x42-tuner; do for proj in $X42PLUGINS; do
if test -n "$VBM"; then
if test "$proj" = "setBfree"; then
continue
fi
if test "$proj" = "x42-avldrums"; then
continue
fi
fi
X42_VERSION=$(curl -s -S http://${OSX_X42URI}/${proj}.latest.txt) X42_VERSION=$(curl -s -S http://${OSX_X42URI}/${proj}.latest.txt)
rsync -a -q --partial \ rsync -a -q --partial \
rsync://${OSX_X42URI}/${proj}-lv2-${OSX_X42ID}-${X42_VERSION}.zip \ rsync://${OSX_X42URI}/${proj}-lv2-${OSX_X42ID}-${X42_VERSION}.zip \
@ -821,7 +865,7 @@ if test -n "$MIXBUS"; then
bsdtar -C "${PRODUCT_PKG_DIR}/${MediaClips}" -xf \ bsdtar -C "${PRODUCT_PKG_DIR}/${MediaClips}" -xf \
"${CACHEDIR}/MixbusBundledMedia.zip" "${CACHEDIR}/MixbusBundledMedia.zip"
fi fi
elif test -z "$LIVETRAX"; then elif test -z "$LIVETRAX" -a -z "$VBM" ; then
echo "Fetching Ardour bundled content" echo "Fetching Ardour bundled content"
curl -s -S --fail -# \ curl -s -S --fail -# \
-z "${CACHEDIR}/ArdourBundledMedia.zip" \ -z "${CACHEDIR}/ArdourBundledMedia.zip" \

View File

@ -30,12 +30,14 @@ PROGRAM_VERSION=${major_version}
PRODUCT_NAME=Ardour PRODUCT_NAME=Ardour
PRODUCT_VERSION=${major_version} PRODUCT_VERSION=${major_version}
WITH_HARRISON_LV2=1 ; WITH_HARRISON_LV2=1
WITH_HARRISON_VBM=
WITH_COMMERCIAL_X42_LV2= WITH_COMMERCIAL_X42_LV2=
WITH_GRATIS_X42_LV2= WITH_GRATIS_X42_LV2=
WITH_GMSYNTH=1 WITH_GMSYNTH=1
WITH_HARVID=1 WITH_HARVID=1
WITH_XJADEO=1 WITH_XJADEO=1
X42PLUGINS="x42-autotune x42-midifilter x42-stereoroute setBfree x42-avldrums x42-limiter x42-tuner"
# TODO: grep from build/config.log instead # TODO: grep from build/config.log instead
while [ $# -gt 0 ] ; do while [ $# -gt 0 ] ; do
@ -61,6 +63,20 @@ while [ $# -gt 0 ] ; do
PRODUCT_NAME=LiveTrax PRODUCT_NAME=LiveTrax
MANUAL_URL="https://rsrc.harrisonconsoles.com/livetrax/livetrax-live-manual/" MANUAL_URL="https://rsrc.harrisonconsoles.com/livetrax/livetrax-live-manual/"
shift ;; shift ;;
--vbm)
VBM=1
WITH_HARRISON_LV2=1 ;
WITH_HARRISON_VBM=1 ;
WITH_COMMERCIAL_X42_LV2=1
WITH_GRATIS_X42_LV2=1
WITH_GMSYNTH="" ;
PRODUCT_NAME=MixbusVBM
PROGRAM_KEY=MixbusVBM
PROGRAM_NAME=MixbusVBM-${PROGRAM_VERSION}
PROGRAM_VERSION=""
MANUAL_NAME="mixbusvbm-${major_version}-live-manual"
X42PLUGINS="$X42PLUGINS x42-testsignal x42-nodelay"
shift ;;
--chanstrip) HARRISONCHANNELSTRIP=$2 ; shift; shift ;; --chanstrip) HARRISONCHANNELSTRIP=$2 ; shift; shift ;;
esac esac
done done
@ -338,7 +354,17 @@ if test x$WITH_GRATIS_X42_LV2 != x ; then
echo "Adding gratis x42 Plugins" echo "Adding gratis x42 Plugins"
for proj in x42-autotune x42-midifilter x42-stereoroute setBfree x42-avldrums x42-limiter x42-tuner; do for proj in $X42PLUGINS; do
if test -n "$VBM"; then
if test "$proj" = "setBfree"; then
continue
fi
if test "$proj" = "x42-avldrums"; then
continue
fi
fi
X42_VERSION=$(curl -s -S http://x42-plugins.com/x42/win/${proj}.latest.txt) X42_VERSION=$(curl -s -S http://x42-plugins.com/x42/win/${proj}.latest.txt)
rsync -a -q --partial \ rsync -a -q --partial \
rsync://x42-plugins.com/x42/win/${proj}-lv2-${WARCH}-${X42_VERSION}.zip \ rsync://x42-plugins.com/x42/win/${proj}-lv2-${WARCH}-${X42_VERSION}.zip \
@ -359,6 +385,21 @@ if test x$WITH_HARRISON_LV2 != x ; then
unzip -q -d "$DESTDIR/LV2/" "${SRCCACHE}/${HARRISONLV2}.${WARCH}.zip" unzip -q -d "$DESTDIR/LV2/" "${SRCCACHE}/${HARRISONLV2}.${WARCH}.zip"
fi fi
if test x$WITH_HARRISON_VBM != x ; then
mkdir -p $DESTDIR/LV2
echo "Including Harrison VBM Channelstrip LV2"
curl -s -S --fail -# \
-z "${SRCCACHE}/harrison_vbm.${WARCH}.zip" \
-o "${SRCCACHE}/harrison_vbm.${WARCH}.zip" \
"${HARRISONDSPURL}/harrison_vbm.${WARCH}.zip"
unzip -q -d "$DESTDIR/LV2/" "${SRCCACHE}/harrison_vbm.${WARCH}.zip"
# use mingw-11 gcc-12's libstdc++-6.dll (channelstrip compat)
cp -v "${SRCCACHE}/libstdc++-6.dll" $DESTDIR/bin/
fi
if test -n "$MIXBUS"; then if test -n "$MIXBUS"; then
echo "Deploying Harrison Mixbus Channelstrip" echo "Deploying Harrison Mixbus Channelstrip"
@ -392,7 +433,7 @@ if test -n "$MIXBUS"; then
rm -f $DESTDIR/share/${LOWERCASE_DIRNAME}/media/*.* rm -f $DESTDIR/share/${LOWERCASE_DIRNAME}/media/*.*
unzip -q -o -d "$DESTDIR/share/${LOWERCASE_DIRNAME}/media/" "${SRCCACHE}/MixbusBundledMedia.zip" unzip -q -o -d "$DESTDIR/share/${LOWERCASE_DIRNAME}/media/" "${SRCCACHE}/MixbusBundledMedia.zip"
fi fi
elif test -z "$LIVETRAX"; then elif test -z "$LIVETRAX" -a -z "$VBM"; then
echo "Fetching Ardour bundled media" echo "Fetching Ardour bundled media"
curl -s -S --fail -# \ curl -s -S --fail -# \
-z "${SRCCACHE}/ArdourBundledMedia.zip" \ -z "${SRCCACHE}/ArdourBundledMedia.zip" \
@ -465,7 +506,7 @@ InstallDirRegKey HKLM "Software\\${PRODUCT_NAME}\\${PRODUCT_ID}\\$WARCH" "Instal
EOF EOF
if test -n "$MIXBUS" -o -n "$LIVETRAX" ; then if test -n "$MIXBUS" -o -n "$LIVETRAX" -o -n "$VBM"; then
# TODO: proper welcome/finish text. # TODO: proper welcome/finish text.
cat >> $NSISFILE << EOF cat >> $NSISFILE << EOF
@ -534,7 +575,7 @@ EOF
fi fi
if test x$WITH_HARRISON_LV2 != x ; then if test x$WITH_HARRISON_LV2 != x ; then
if test -n "$MIXBUS"; then if [ -n "$MIXBUS" ] || [ -n "$VBM" ]; then
cat >> $NSISFILE << EOF cat >> $NSISFILE << EOF
Section "Harrison XT plugins (required)" SecXT Section "Harrison XT plugins (required)" SecXT
SectionIn RO SectionIn RO