From c0ff1aa95caf396123fbbb2cf081c8ca12de8ada Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Tue, 7 Apr 2009 12:37:17 +0200 Subject: [PATCH] RemoteVstPlugin: use std::vector rather than std::list For some reason, building remote_vst_plugin.cpp with recent wineg++/gcc-multilib on 64 bit platforms causes undefined symbols: remote_vst_plugin-JzpHs6.o: In function `std::list >::_M_insert(std::_List_iterator, VstMidiEvent const&)': remote_vst_plugin.cpp:(.text._ZNSt4listI12VstMidiEventSaIS0_EE9_M_insertESt14_List_iteratorIS0_ERKS0_[std::list >::_M_insert(std::_List_iterator, VstMidiEvent const&)]+0x35): undefined reference to `std::_List_node_base::hook(std::_List_node_base*)' Replacing std::list with std::vector for queueing MIDI events seems to fix this issue. Consider this as a workaround rather than constructive fix. --- plugins/vst_base/remote_vst_plugin.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/vst_base/remote_vst_plugin.cpp b/plugins/vst_base/remote_vst_plugin.cpp index 99cebfc20..30a17ecbd 100644 --- a/plugins/vst_base/remote_vst_plugin.cpp +++ b/plugins/vst_base/remote_vst_plugin.cpp @@ -59,7 +59,7 @@ #endif -#include +#include #include @@ -239,7 +239,7 @@ private: float * * m_inputs; float * * m_outputs; - std::list m_midiEvents; + std::vector m_midiEvents; bpm_t m_bpm; double m_currentSamplePos; @@ -610,7 +610,7 @@ void remoteVstPlugin::process( const sampleFrame * _in, sampleFrame * _out ) events->reserved = 0; events->numEvents = m_midiEvents.size(); int idx = 0; - for( std::list::iterator it = + for( std::vector::iterator it = m_midiEvents.begin(); it != m_midiEvents.end(); ++it, ++idx ) {