#include "pbd/compose.h"
#include "pbd/error.h"
#include "pbd/file_utils.h"
+#include "pbd/windows_timer_utils.h"
+#include "pbd/windows_mmcss.h"
#include "ardour/filesystem_paths.h"
#include "ardour/port_manager.h"
#include "i18n.h"
-#include "win_utils.h"
-#include "mmcss.h"
#include "audio_utils.h"
#include "debug.h"
_instance_name = s_instance_name;
pthread_mutex_init (&_port_callback_mutex, 0);
- mmcss::initialize ();
-
_pcmio = new PortAudioIO ();
_midiio = new WinMMEMidiIO ();
}
delete _pcmio; _pcmio = 0;
delete _midiio; _midiio = 0;
- mmcss::deinitialize ();
-
pthread_mutex_destroy (&_port_callback_mutex);
}
return 0;
}
- return m_cycle_timer.samples_since_cycle_start (utils::get_microseconds());
+ return m_cycle_timer.samples_since_cycle_start (PBD::get_microseconds());
}
int
bool
PortAudioBackend::set_mmcss_pro_audio (HANDLE* task_handle)
{
- bool mmcss_success = mmcss::set_thread_characteristics ("Pro Audio", task_handle);
+ bool mmcss_success = PBD::MMCSS::set_thread_characteristics ("Pro Audio", task_handle);
if (!mmcss_success) {
PBD::warning << get_error_string(SettingAudioThreadPriorityError) << endmsg;
}
bool mmcss_priority =
- mmcss::set_thread_priority(*task_handle, mmcss::AVRT_PRIORITY_NORMAL);
+ PBD::MMCSS::set_thread_priority(*task_handle, PBD::MMCSS::AVRT_PRIORITY_NORMAL);
if (!mmcss_priority) {
PBD::warning << get_error_string(SettingAudioThreadPriorityError) << endmsg;
bool
PortAudioBackend::reset_mmcss (HANDLE task_handle)
{
- if (!mmcss::revert_thread_characteristics(task_handle)) {
+ if (!PBD::MMCSS::revert_thread_characteristics(task_handle)) {
DEBUG_THREADS("Unable to reset process thread characteristics\n");
return false;
}
float* interleaved_output_data)
{
uint32_t i = 0;
- uint64_t min_elapsed_us = 1000000;
- uint64_t max_elapsed_us = 0;
+ int64_t min_elapsed_us = 1000000;
+ int64_t max_elapsed_us = 0;
- m_dsp_calc.set_start_timestamp_us (utils::get_microseconds());
+ m_dsp_calc.set_start_timestamp_us (PBD::get_microseconds());
i = 0;
/* Copy input audio data into input port buffers */
}
m_last_cycle_start = m_cycle_timer.get_start();
- m_cycle_timer.reset_start(utils::get_microseconds());
+ m_cycle_timer.reset_start(PBD::get_microseconds());
m_cycle_count++;
uint64_t cycle_diff_us = (m_cycle_timer.get_start() - m_last_cycle_start);
_processed_samples += _samples_per_period;
/* calculate DSP load */
- m_dsp_calc.set_stop_timestamp_us (utils::get_microseconds());
+ m_dsp_calc.set_stop_timestamp_us (PBD::get_microseconds());
_dsp_load = m_dsp_calc.get_dsp_load();
DEBUG_TIMING(string_compose("DSP Load: %1\n", _dsp_load));