/*
- 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
class ArdourAudioDeviceManager : public WCMRCoreAudioDeviceManager
{
public:
- ArdourAudioDeviceManager (WCMRAudioDeviceManagerClient *client) : WCMRCoreAudioDeviceManager (client, eFullDuplexDevices, true, eCABS_Simple, false) {};
+ ArdourAudioDeviceManager (WCMRAudioDeviceManagerClient *client) : WCMRCoreAudioDeviceManager (client, eAllDevices) {};
};
#elif defined (_WINDOWS)
class ArdourAudioDeviceManager : public WCMRPortAudioDeviceManager
{
public:
- ArdourAudioDeviceManager (WCMRAudioDeviceManagerClient *client) : WCMRPortAudioDeviceManager (client, eFullDuplexDevices, paASIO) {};
+ ArdourAudioDeviceManager (WCMRAudioDeviceManagerClient *client) : WCMRPortAudioDeviceManager (client, eAllDevices) {};
};
#endif
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);
+ virtual int set_sample_format (SampleFormat);
+
virtual int set_interleaved (bool yn);
virtual int set_input_channels (uint32_t);
virtual uint32_t buffer_size () const;
+ virtual SampleFormat sample_format () const;
+
virtual bool interleaved () const;
virtual uint32_t input_channels () const;
WavesMidiDeviceManager _midi_device_manager;
WCMRAudioDevice *_device;
+ SampleFormat _sample_format;
bool _interleaved;
static std::string __instantiated_name;
uint32_t _input_channels;
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 ();