X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fsurfaces%2Fpush2%2Fpush2.cc;h=68c99dd6f7d5605fcfb46cdebf4b1ab648486195;hb=1aab360b7d944350dea1f5ef81394229adb07c1e;hp=f7606fa641c713ac7e173a3783488f876334ff11;hpb=303358973fc3551dc73ee2ca5995ea0d9661483c;p=ardour.git diff --git a/libs/surfaces/push2/push2.cc b/libs/surfaces/push2/push2.cc index f7606fa641..68c99dd6f7 100644 --- a/libs/surfaces/push2/push2.cc +++ b/libs/surfaces/push2/push2.cc @@ -57,6 +57,10 @@ #include "pbd/i18n.h" +#ifdef PLATFORM_WINDOWS +#define random() rand() +#endif + using namespace ARDOUR; using namespace std; using namespace PBD; @@ -68,59 +72,6 @@ using namespace ArdourSurface; #define ABLETON 0x2982 #define PUSH2 0x1967 -__attribute__((constructor)) static void -register_enums () -{ - EnumWriter& enum_writer (EnumWriter::instance()); - vector i; - vector s; - - MusicalMode::Type mode; - -#define REGISTER(e) enum_writer.register_distinct (typeid(e).name(), i, s); i.clear(); s.clear() -#define REGISTER_CLASS_ENUM(t,e) i.push_back (t::e); s.push_back (#e) - - REGISTER_CLASS_ENUM (MusicalMode,Dorian); - REGISTER_CLASS_ENUM (MusicalMode, IonianMajor); - REGISTER_CLASS_ENUM (MusicalMode, Minor); - REGISTER_CLASS_ENUM (MusicalMode, HarmonicMinor); - REGISTER_CLASS_ENUM (MusicalMode, MelodicMinorAscending); - REGISTER_CLASS_ENUM (MusicalMode, MelodicMinorDescending); - REGISTER_CLASS_ENUM (MusicalMode, Phrygian); - REGISTER_CLASS_ENUM (MusicalMode, Lydian); - REGISTER_CLASS_ENUM (MusicalMode, Mixolydian); - REGISTER_CLASS_ENUM (MusicalMode, Aeolian); - REGISTER_CLASS_ENUM (MusicalMode, Locrian); - REGISTER_CLASS_ENUM (MusicalMode, PentatonicMajor); - REGISTER_CLASS_ENUM (MusicalMode, PentatonicMinor); - REGISTER_CLASS_ENUM (MusicalMode, Chromatic); - REGISTER_CLASS_ENUM (MusicalMode, BluesScale); - REGISTER_CLASS_ENUM (MusicalMode, NeapolitanMinor); - REGISTER_CLASS_ENUM (MusicalMode, NeapolitanMajor); - REGISTER_CLASS_ENUM (MusicalMode, Oriental); - REGISTER_CLASS_ENUM (MusicalMode, DoubleHarmonic); - REGISTER_CLASS_ENUM (MusicalMode, Enigmatic); - REGISTER_CLASS_ENUM (MusicalMode, Hirajoshi); - REGISTER_CLASS_ENUM (MusicalMode, HungarianMinor); - REGISTER_CLASS_ENUM (MusicalMode, HungarianMajor); - REGISTER_CLASS_ENUM (MusicalMode, Kumoi); - REGISTER_CLASS_ENUM (MusicalMode, Iwato); - REGISTER_CLASS_ENUM (MusicalMode, Hindu); - REGISTER_CLASS_ENUM (MusicalMode, Spanish8Tone); - REGISTER_CLASS_ENUM (MusicalMode, Pelog); - REGISTER_CLASS_ENUM (MusicalMode, HungarianGypsy); - REGISTER_CLASS_ENUM (MusicalMode, Overtone); - REGISTER_CLASS_ENUM (MusicalMode, LeadingWholeTone); - REGISTER_CLASS_ENUM (MusicalMode, Arabian); - REGISTER_CLASS_ENUM (MusicalMode, Balinese); - REGISTER_CLASS_ENUM (MusicalMode, Gypsy); - REGISTER_CLASS_ENUM (MusicalMode, Mohammedan); - REGISTER_CLASS_ENUM (MusicalMode, Javanese); - REGISTER_CLASS_ENUM (MusicalMode, Persian); - REGISTER_CLASS_ENUM (MusicalMode, Algerian); - REGISTER (mode); -} - Push2::Push2 (ARDOUR::Session& s) : ControlProtocol (s, string (X_("Ableton Push 2"))) , AbstractUI (name()) @@ -140,6 +91,7 @@ Push2::Push2 (ARDOUR::Session& s) , _pressure_mode (AfterTouch) , selection_color (LED::Green) , contrast_color (LED::Green) + , in_range_select (false) { build_maps (); @@ -233,10 +185,10 @@ Push2::open () try { _canvas = new Push2Canvas (*this, 960, 160); - mix_layout = new MixLayout (*this, *session); - scale_layout = new ScaleLayout (*this, *session); - track_mix_layout = new TrackMixLayout (*this, *session); - splash_layout = new SplashLayout (*this, *session); + mix_layout = new MixLayout (*this, *session, "globalmix"); + scale_layout = new ScaleLayout (*this, *session, "scale"); + track_mix_layout = new TrackMixLayout (*this, *session, "trackmix"); + splash_layout = new SplashLayout (*this, *session, "splash"); } catch (...) { error << _("Cannot construct Canvas for display") << endmsg; libusb_release_interface (handle, 0x00);