SConsignFile()
EnsureSConsVersion(0, 96)
-version = '2.0beta2'
+version = '2.0beta3'
subst_dict = { }
answer = sys.stdin.readline ()
answer = answer.rstrip().strip()
if answer != "yes" and answer != "y":
- print 'You cannot build Ardour with VST support for distribution to others.\nIt is a violation of several different licenses. VST support disabled.'
- env['VST'] = 0;
+ print 'You cannot build Ardour with VST support for distribution to others.\nIt is a violation of several different licenses. Build with VST=false.'
+ sys.exit (-1);
else:
print "OK, VST support will be enabled"
env['ENV']['HOME'] = os.environ['HOME']
final_prefix = '$PREFIX'
-install_prefix = '$DESTDIR/$PREFIX'
-subst_dict['INSTALL_PREFIX'] = install_prefix;
+if env['DESTDIR'] :
+ install_prefix = '$DESTDIR/$PREFIX'
+else:
+ install_prefix = env['PREFIX']
+
+subst_dict['%INSTALL_PREFIX%'] = install_prefix;
+subst_dict['%FINAL_PREFIX%'] = final_prefix;
+subst_dict['%PREFIX%'] = final_prefix;
if env['PREFIX'] == '/usr':
final_config_prefix = '/etc'
config_prefix = '$DESTDIR' + final_config_prefix
-
# SCons should really do this for us
conf = Configure (env)
bool shuttle_grabbed;
double shuttle_fract;
- static const double SHUTTLE_FRACT_SPEED1=0.48412291827; /* derived from A1,A2 */
-
Gtk::ToggleButton punch_in_button;
Gtk::ToggleButton punch_out_button;
Gtk::ToggleButton auto_return_button;
map_some_state ("options", "CrossfadesActive", &Configuration::get_crossfades_active);
} else if (PARAM_IS ("latched-record-enable")) {
map_some_state ("options", "LatchedRecordEnable", &Configuration::get_latched_record_enable);
- } else if (PARAM_IS ("solo-latch")) {
+ } else if (PARAM_IS ("solo-latched")) {
map_some_state ("options", "LatchedSolo", &Configuration::get_solo_latched);
} else if (PARAM_IS ("solo-model")) {
} else if (PARAM_IS ("layer-model")) {
const char* old;
};
+ static const double SHUTTLE_FRACT_SPEED1=0.48412291827; /* derived from A1,A2 */
}
/* how do we make these be within the Ardour namespace? */
CONFIG_VARIABLE (bool, mute_affects_post_fader, "mute-affects-post-fader", true)
CONFIG_VARIABLE (bool, mute_affects_control_outs, "mute-affects-control-outs", true)
CONFIG_VARIABLE (bool, mute_affects_main_outs, "mute-affects-main-outs", true)
-CONFIG_VARIABLE (bool, solo_latch, "solo-latch", true)
CONFIG_VARIABLE (bool, use_hardware_monitoring, "use-hardware-monitoring", false)
CONFIG_VARIABLE (bool, use_sw_monitoring, "use-sw-monitoring", false)
CONFIG_VARIABLE (bool, use_external_monitoring, "use-external-monitoring", true)
/* mixer stuff */
- bool _solo_latched;
- SoloModel _solo_model;
bool solo_update_disabled;
bool currently_soloing;
vector<Route*> master_outs;
- EditMode pending_edit_mode;
-
/* range playback */
list<AudioRange> current_audio_range;
then leave it as it is.
*/
- if (_solo_latched) {
+ if (Config->get_solo_latched()) {
continue;
}
}
import os.path
import glob
-Import('env install_prefix final_prefix config_prefix libraries')
+from stat import *
+
+Import('env install_prefix final_prefix config_prefix subst_dict libraries')
ardour_vst = env.Copy()
libraries['jack']
])
-wine_executable = ardour_vst.Program (target = 'ardour_vst', source = sources)
+#
+# run winegcc to build a mini-win32 executable that wine can run. note: this also
+# generates a script called 'ardour_vst' which we don't use
+#
+
+wine_generated_executable = ardour_vst.Program (target = 'ardour_vst', source = sources)
+
+#
+# generate a shell script that will run the .exe file correctly
+#
+
+wine_executable = ardour_vst.SubstInFile ('ardourvst', 'ardourvst.in', SUBST_DICT = subst_dict)
+
+# make sure the scripts are executable
+
+ardour_vst.AddPostAction (wine_executable, ardour_vst.Action (os.chmod ('ardevst', S_IRUSR|S_IROTH|S_IRGRP|S_IWUSR|S_IXUSR|S_IXOTH|S_IXGRP)))
+ardour_vst.AddPostAction (wine_executable, ardour_vst.Action (os.chmod ('ardourvst', S_IRUSR|S_IROTH|S_IRGRP|S_IWUSR|S_IXUSR|S_IXOTH|S_IXGRP)))
+
+Default([wine_generated_executable, wine_executable])
-Default(wine_executable)
+# the wine script - into the bin dir
+env.Alias('install', env.Install(os.path.join(install_prefix, 'bin'), wine_executable))
+# the win32 executable - into the lib dir since the wine script will look for it there
+env.Alias('install', env.Install(os.path.join(install_prefix, 'lib/ardour2'), 'ardour_vst.exe.so'))
--- /dev/null
+#!/bin/sh
+export ARDOUR_PATH=../gtk2_ardour/glade:../gtk2_ardour/pixmaps:../gtk2_ardour
+export LD_LIBRARY_PATH=../gtk2_ardour:../libs/surfaces/control_protocol:../libs/ardour:../libs/midi++2:../libs/pbd:../libs/soundtouch:../libs/gtkmm2ext:../libs/sigc++2:../libs/glibmm2:../libs/gtkmm2/atk:../libs/gtkmm2/pango:../libs/gtkmm2/gdk:../libs/gtkmm2/gtk:../libs/libgnomecanvasmm:../libs/libsndfile:../libs/appleutility:$$LD_LIBRARY_PATH
+exec wine ./ardour_vst.exe.so "$@"
--- /dev/null
+#!/bin/sh
+
+# NOTE: the use of PREFIX is incorrect - it should be INSTALL_PREFIX,
+# but somehow scons puts leading /'s on INSTALL_PREFIX and that causes
+# wine to be unable to find the .exe.so file
+
+LD_LIBRARY_PATH=%PREFIX%/lib/ardour2:$LD_LIBRARY_PATH exec wine %PREFIX%/lib/ardour2/ardour_vst.exe.so "$@"
+