alter platform-dependent preprocessor macros to use the same names as the rest of...
[ardour.git] / libs / backends / wavesaudio / waves_audiobackend.h
index 7b56656295e249bd7ca49e97ea68338148f40149..115b00101433dba2540a0e888108a2d9ef4db545 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2014 Waves Audio Ltd.
+    Copyright (C) 2013 Valeriy Kamyshniy
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 
 #include "waves_midi_device_manager.h"
 
-#ifdef __MACOS__
+#ifdef __APPLE__
 
 #include <WCMRCoreAudioDeviceManager.h>
 
 class ArdourAudioDeviceManager : public WCMRCoreAudioDeviceManager
 {
   public:
-    ArdourAudioDeviceManager (WCMRAudioDeviceManagerClient *client) : WCMRCoreAudioDeviceManager (client, eFullDuplexDevices, true, eCABS_Simple, false) {};
+    ArdourAudioDeviceManager (WCMRAudioDeviceManagerClient *client) : WCMRCoreAudioDeviceManager (client, eAllDevices) {};
 };
 
-#elif defined (_WINDOWS)
+#elif defined (PLATFORM_WINDOWS)
 
 #include <WCMRPortAudioDeviceManager.h>
 
 class ArdourAudioDeviceManager : public WCMRPortAudioDeviceManager
 {
   public:
-    ArdourAudioDeviceManager (WCMRAudioDeviceManagerClient *client) : WCMRPortAudioDeviceManager (client, eFullDuplexDevices, paASIO) {};
+    ArdourAudioDeviceManager (WCMRAudioDeviceManagerClient *client) : WCMRPortAudioDeviceManager (client, eAllDevices) {};
 };
 
 #endif
@@ -70,7 +70,7 @@ class WavesMidiPort;
     class WavesAudioBackend : public AudioBackend, WCMRAudioDeviceManagerClient
 {
   public:
-    WavesAudioBackend (AudioEngine& e);
+    WavesAudioBackend (AudioEngine& e, AudioBackendInfo&);
     virtual ~WavesAudioBackend ();
 
     /* AUDIOBACKEND API */
@@ -103,6 +103,8 @@ class WavesMidiPort;
 
     virtual int set_device_name (const std::string& name);
 
+       virtual int drop_device();
+
     virtual int set_sample_rate (float);
 
     virtual int set_buffer_size (uint32_t);
@@ -322,8 +324,15 @@ class WavesMidiPort;
                                  pframes_t sample_time,
                                  uint64_t cycle_start_time_nanos);
 
+       int _reset_device (uint32_t buffer_size, float sample_rate);
     void _changed_midi_devices ();
 
+       // DO change sample rate and buffer size
+       int _buffer_size_change(uint32_t new_buffer_size);
+       int _sample_rate_change(float new_sample_rate);
+    
+    int _device_list_change();
+    
     int _register_system_audio_ports ();
     int _register_system_midi_ports ();
 
@@ -355,7 +364,7 @@ class WavesMidiPort;
     std::vector<WavesDataPort*> _ports;
     static AudioBackendInfo __backend_info;
 
-#if defined (_WINDOWS)
+#if defined (PLATFORM_WINDOWS)
        static uint64_t __performance_counter_frequency;
 #endif
        uint64_t _cycle_start_time_nanos;