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
/tools/osx_packaging/Ardour/*.app
/tools/osx_packaging/Ardour/*.dmg
/tools/osx_packaging/file_list.txt
/tools/doxy2json/doxy2json
/tools/icons/icon

View File

@ -242,6 +242,7 @@ ARDOUR_UI::set_session (Session *s)
start_clocking ();
map_transport_state ();
set_punch_sensitivity ();
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));

View File

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

View File

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

View File

@ -29,10 +29,14 @@
#include "note_base.h"
#include "public_editor.h"
#include "editing_syms.h"
#include "keyboard.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 Gtkmm2ext;
using ARDOUR::MidiModel;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,5 +1,8 @@
#ifndef MINIMP3_H
#define MINIMP3_H
/* clang-format off */
/*
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.

View File

@ -18,6 +18,7 @@
*/
#include "ardour/libardour_visibility.h"
#include "pbd/properties.h"
/** 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

View File

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

View File

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

View File

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

View File

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

View File

@ -6285,7 +6285,7 @@ Route::monitoring_state () const
* 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 ();
} else {
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) {
maybe_allow_only_punch ();
if (!config.get_punch_in()) {
if (!config.get_punch_in() || 0 == locations()->auto_punch_location ()) {
enable_record ();
}
/* When rolling, start recording immediately.
@ -7094,7 +7094,7 @@ Session::source_search_path (DataType type) const
break;
}
return std::move(sp);
return sp;
}
void

View File

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

View File

@ -521,7 +521,7 @@ Session::start_transport (bool after_loop)
switch (record_status()) {
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
* punch-in, don't show rec-region etc). The UI still
* 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 ();
} else {
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?
}
}

View File

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

View File

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

View File

@ -361,8 +361,8 @@ template <class T>
class UserdataValue : public Userdata
{
private:
UserdataValue <T> (UserdataValue <T> const&);
UserdataValue <T> operator= (UserdataValue <T> const&);
UserdataValue (UserdataValue<T> const&);
UserdataValue<T> operator= (UserdataValue<T> const&);
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 width_modifier;
if (Profile->get_mixbus()) {
trim_modifier = ShiftDown;
width_modifier = ButtonState (0);
} else {
trim_modifier = UserDown;
width_modifier = ShiftDown;
}
trim_modifier = ShiftDown;
width_modifier = ButtonState (0);
if ((button_state & trim_modifier) == trim_modifier ) { // mod+encoder = input trim
std::shared_ptr<AutomationControl> trim = _current_stripable->trim_control ();

View File

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

View File

@ -436,10 +436,6 @@ FPGUI::build_foot_action_combo (Gtk::ComboBox& cb, FaderPort::ButtonState bs)
void
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 */
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__
#define __ardour_us2400_control_protocol_control_group_h__
#include <string>
#include <vector>
namespace ArdourSurface {

View File

@ -57,9 +57,9 @@ static bool keep_running = true;
static bool terminate_when_halted = false;
/* extern VST functions */
int vstfx_init (void*) { return 0; }
void vstfx_exit () {}
void vstfx_destroy_editor (VSTState*) {}
int vstfx_init (void*) { return 0; }
void vstfx_exit () { }
void vstfx_destroy_editor (VSTState*) { }
class LuaReceiver : public Receiver
{
@ -109,7 +109,7 @@ public:
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) {
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 ()
{
if (!ARDOUR::init (true, localedir)) {
cerr << "Ardour failed to initialize\n" << endl;
cerr << "Ardour failed to initialize\n"
<< endl;
console_madness_end ();
::exit (EXIT_FAILURE);
}
@ -449,7 +450,7 @@ setup_lua ()
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
@ -542,6 +543,7 @@ usage ()
{
printf ("ardour-lua - interactive Ardour Lua interpreter.\n\n");
printf ("Usage: ardour-lua [ OPTIONS ] [ file [args] ]\n\n");
/* clang-format off */
/* 1 2 3 4 5 6 7 8
*2345678901234567890123456789012345678901234567890123456789012345678901234567890*/
printf ("Options:\n\
@ -555,6 +557,7 @@ usage ()
printf ("\n\
Ardour at your finger tips...\n\
\n");
/* clang-format on */
printf ("Report bugs to <https://tracker.ardour.org/>\n"
"Website: <https://ardour.org/>\n");
console_madness_end ();
@ -566,12 +569,14 @@ main (int argc, char** argv)
{
const char* optstring = "hiVX";
/* clang-format off */
const struct option longopts[] = {
{ "help", 0, 0, 'h' },
{ "interactive", 0, 0, 'i' },
{ "version", 0, 0, 'V' },
{ "exit-when-halted", 0, 0, 'X' },
};
/* clang-format on */
bool interactive = false;
console_madness_begin ();
@ -612,7 +617,7 @@ main (int argc, char** argv)
{
/* push arguments to script, use scoped LuaRef */
lua_State* L = lua->getState ();
lua_State* L = lua->getState ();
luabridge::LuaRef arg (luabridge::newTable (L));
for (int i = 1; i < argc - optind; ++i) {
arg[i] = std::string (argv[i + optind]);

View File

@ -20,6 +20,7 @@ fi
MIXBUS=
WITH_HARRISON_LV2=
WITH_HARRISON_VBM=
WITH_COMMERCIAL_X42_LV2=
WITH_GRATIS_X42_LV2=
WITH_GMSYNYTH=
@ -33,6 +34,7 @@ VENDOR=Ardour ;
EXENAME=ardour
BUILDTYPE=""
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}
: ${HARRISONLV2=harrison_lv2s-n}
@ -75,6 +77,20 @@ while [ $# -gt 0 ] ; do
WITH_NLS=1 ;
APPNAME=LiveTrax ;
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)
WITH_HARRISON_LV2=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"
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
echo "Adding Mixbus Channelstrip"
@ -746,7 +773,7 @@ if test -n "$MIXBUS"; then
rm -f "${MediaClips}/"*.*
unzip -q -o -d "${MediaClips}" "${CACHEDIR}/MixbusBundledMedia.zip"
fi
elif test -z "$LIVETRAX"; then
elif test -z "$LIVETRAX" -a -z "$VBM"; then
echo "Fetching Ardour bundled content"
curl -s -S --fail -# \
@ -798,7 +825,17 @@ if test x$WITH_GRATIS_X42_LV2 != x ; then
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)
rsync -a -q --partial \
rsync://x42-plugins.com/x42/linux/${proj}-lv2-linux-${WARCH}-${X42_VERSION}.zip \

View File

@ -14,15 +14,18 @@ fi
mkdir -p "$CACHEDIR"
MIXBUS=
VBM=
WITH_HARVID=1
WITH_XJADEO=1
WITH_HARRISON_LV2=
WITH_HARRISON_VBM=
WITH_COMMERCIAL_X42_LV2=
WITH_GRATIS_X42_LV2=
WITH_GMSYNTH=
STRIP=1
PRINT_SYSDEPS=
WITH_NLS=1
X42PLUGINS="x42-autotune x42-midifilter x42-stereoroute setBfree x42-avldrums x42-limiter x42-tuner"
: ${HARRISONCHANNELSTRIP=harrison_channelstrip}
: ${HARRISONLV2=harrison_lv2s-n}
@ -58,6 +61,19 @@ while [ $# -gt 0 ] ; do
lower_case_appname=livetrax;
BUNDLE_ID_BASE=com.harrisonconsoles
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)
WITH_HARRISON_LV2=1 ;
WITH_GMSYNTH=1
@ -170,10 +186,13 @@ mkdir -p $ExportFormats
mkdir -p $Etc
mkdir -p $MackieControl
mkdir -p $OSC
mkdir -p $PatchFiles
mkdir -p $LuaScripts
mkdir -p $Themes
if test -z "$VBM"; then
mkdir -p $PatchFiles
fi
EXECUTABLE=${BUNDLENAME}
#
@ -233,6 +252,8 @@ if test x$MIXBUS != x ; then
cp Mixbus.icns $Resources/appIcon.icns
elif test x$LIVETRAX != x ; then
cp LiveTrax.icns $Resources/appIcon.icns
elif test x$VBM != x ; then
cp MixbusVBM.icns $Resources/appIcon.icns
else
cp Ardour.icns $Resources/appIcon.icns
fi
@ -345,9 +366,11 @@ done
# MIDNAM Patch Files
# got to be careful with names here
for x in $BUILD_ROOT/../share/patchfiles/*.midnam ; do
cp "$x" $PatchFiles
done
if test -z "$VBM"; then
for x in $BUILD_ROOT/../share/patchfiles/*.midnam ; do
cp "$x" $PatchFiles
done
fi
# Lua Script Files
# got to be careful with names here
@ -635,11 +658,11 @@ mkdir $PRODUCT_PKG_DIR
DMGWINBOTTOM=440
DMGBACKGROUND=dmgbg
if test -n "$MIXBUS" -o -n "$LIVETRAX"; then
if test -n "$MIXBUS" -o -n "$LIVETRAX" -o -n "$VBM" ; then
DMGBACKGROUND=dmgbgMB
fi
echo "Creating Mixbus packaging directory"
echo "Creating $APPNAME packaging directory"
mv $APPDIR $PRODUCT_PKG_DIR/
################################################################################
@ -692,6 +715,17 @@ if test x$WITH_HARRISON_LV2 != x ; then
"${CACHEDIR}/${HARRISONLV2}.${OSX_BENSID}.zip"
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
echo "installing harvid..."
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"
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)
rsync -a -q --partial \
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 \
"${CACHEDIR}/MixbusBundledMedia.zip"
fi
elif test -z "$LIVETRAX"; then
elif test -z "$LIVETRAX" -a -z "$VBM" ; then
echo "Fetching Ardour bundled content"
curl -s -S --fail -# \
-z "${CACHEDIR}/ArdourBundledMedia.zip" \

View File

@ -30,12 +30,14 @@ PROGRAM_VERSION=${major_version}
PRODUCT_NAME=Ardour
PRODUCT_VERSION=${major_version}
WITH_HARRISON_LV2=1 ;
WITH_HARRISON_LV2=1
WITH_HARRISON_VBM=
WITH_COMMERCIAL_X42_LV2=
WITH_GRATIS_X42_LV2=
WITH_GMSYNTH=1
WITH_HARVID=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
while [ $# -gt 0 ] ; do
@ -61,6 +63,20 @@ while [ $# -gt 0 ] ; do
PRODUCT_NAME=LiveTrax
MANUAL_URL="https://rsrc.harrisonconsoles.com/livetrax/livetrax-live-manual/"
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 ;;
esac
done
@ -338,7 +354,17 @@ if test x$WITH_GRATIS_X42_LV2 != x ; then
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)
rsync -a -q --partial \
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"
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
echo "Deploying Harrison Mixbus Channelstrip"
@ -392,7 +433,7 @@ if test -n "$MIXBUS"; then
rm -f $DESTDIR/share/${LOWERCASE_DIRNAME}/media/*.*
unzip -q -o -d "$DESTDIR/share/${LOWERCASE_DIRNAME}/media/" "${SRCCACHE}/MixbusBundledMedia.zip"
fi
elif test -z "$LIVETRAX"; then
elif test -z "$LIVETRAX" -a -z "$VBM"; then
echo "Fetching Ardour bundled media"
curl -s -S --fail -# \
-z "${SRCCACHE}/ArdourBundledMedia.zip" \
@ -465,7 +506,7 @@ InstallDirRegKey HKLM "Software\\${PRODUCT_NAME}\\${PRODUCT_ID}\\$WARCH" "Instal
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.
cat >> $NSISFILE << EOF
@ -534,7 +575,7 @@ EOF
fi
if test x$WITH_HARRISON_LV2 != x ; then
if test -n "$MIXBUS"; then
if [ -n "$MIXBUS" ] || [ -n "$VBM" ]; then
cat >> $NSISFILE << EOF
Section "Harrison XT plugins (required)" SecXT
SectionIn RO