X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fsession_vst.cc;h=644fb19ffbd1c38a11081437d9360f237991f676;hb=d89573f8e73ee7f0c28a6b9a8b8ba0f8e78c69aa;hp=2aa873c6e641cd8df324e4f3150d8d8026575649;hpb=5f4bdb233a53932986e07fca1cd6c87d22c2886f;p=ardour.git diff --git a/libs/ardour/session_vst.cc b/libs/ardour/session_vst.cc index 2aa873c6e6..644fb19ffb 100644 --- a/libs/ardour/session_vst.cc +++ b/libs/ardour/session_vst.cc @@ -20,12 +20,11 @@ #include #include -#include -#include - #include "ardour/session.h" #include "ardour/tempo.h" -#include "ardour/vst_plugin.h" +#include "ardour/windows_vst_plugin.h" +#include "ardour/vestige/aeffectx.h" +#include "ardour/vst_types.h" #include "i18n.h" @@ -40,12 +39,14 @@ static int debug_callbacks = -1; using namespace ARDOUR; -long Session::vst_callback (AEffect* effect, - long opcode, - long index, - long value, - void* ptr, - float opt) +intptr_t Session::vst_callback ( + AEffect* effect, + int32_t opcode, + int32_t index, + intptr_t value, + void* ptr, + float opt + ) { static VstTimeInfo _timeInfo; VSTPlugin* plug; @@ -56,13 +57,13 @@ long Session::vst_callback (AEffect* effect, } if (effect && effect->user) { - plug = (VSTPlugin*) (effect->user); + plug = (VSTPlugin *) (effect->user); session = &plug->session(); - SHOW_CALLBACK ("am callback 0x%x, opcode = %ld, plugin = \"%s\" ", (int) pthread_self(), opcode, plug->name()); + SHOW_CALLBACK ("am callback 0x%x, opcode = %d, plugin = \"%s\" ", (int) pthread_self(), opcode, plug->name()); } else { plug = 0; session = 0; - SHOW_CALLBACK ("am callback 0x%x, opcode = %ld", (int) pthread_self(), opcode); + SHOW_CALLBACK ("am callback 0x%x, opcode = %d", (int) pthread_self(), opcode); } switch(opcode){ @@ -131,7 +132,7 @@ long Session::vst_callback (AEffect* effect, } if (value & (kVstBarsValid)) { const Meter& m (session->tempo_map().meter_at (session->transport_frame())); - _timeInfo.timeSigNumerator = m.beats_per_bar (); + _timeInfo.timeSigNumerator = m.divisions_per_bar (); _timeInfo.timeSigDenominator = m.note_divisor (); _timeInfo.flags |= (kVstBarsValid); } @@ -183,7 +184,7 @@ long Session::vst_callback (AEffect* effect, SHOW_CALLBACK ("amc: audioMasterNeedIdle\n"); // plug needs idle calls (outside its editor window) if (plug) { - plug->fst()->wantIdle = 1; + plug->state()->wantIdle = 1; } return 0; @@ -246,6 +247,8 @@ long Session::vst_callback (AEffect* effect, case audioMasterOfflineStart: SHOW_CALLBACK ("amc: audioMasterOfflineStart\n"); + return 0; + case audioMasterOfflineRead: SHOW_CALLBACK ("amc: audioMasterOfflineRead\n"); // ptr points to offline structure, see below. return 0: error, 1 ok @@ -258,6 +261,8 @@ long Session::vst_callback (AEffect* effect, case audioMasterOfflineGetCurrentPass: SHOW_CALLBACK ("amc: audioMasterOfflineGetCurrentPass\n"); + return 0; + case audioMasterOfflineGetCurrentMetaPass: SHOW_CALLBACK ("amc: audioMasterOfflineGetCurrentMetaPass\n"); return 0; @@ -281,7 +286,7 @@ long Session::vst_callback (AEffect* effect, case audioMasterGetProductString: SHOW_CALLBACK ("amc: audioMasterGetProductString\n"); // fills with a string with product name (max 64 char) - strcpy ((char*) ptr, "Ardour"); + strcpy ((char*) ptr, PROGRAM_NAME); return 0; case audioMasterGetVendorVersion: @@ -348,7 +353,7 @@ long Session::vst_callback (AEffect* effect, return 0; default: - SHOW_CALLBACK ("VST master dispatcher: undefed: %ld\n", opcode); + SHOW_CALLBACK ("VST master dispatcher: undefed: %d\n", opcode); break; }