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<VstMidiEvent, std::allocator<VstMidiEvent> >::_M_insert(std::_List_iterator<VstMidiEvent>, VstMidiEvent const&)': remote_vst_plugin.cpp:(.text._ZNSt4listI12VstMidiEventSaIS0_EE9_M_insertESt14_List_iteratorIS0_ERKS0_[std::list<VstMidiEvent, std::allocator<VstMidiEvent> >::_M_insert(std::_List_iterator<VstMidiEvent>, 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.
This commit is contained in:
@@ -59,7 +59,7 @@
|
||||
#endif
|
||||
|
||||
|
||||
#include <list>
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
|
||||
@@ -239,7 +239,7 @@ private:
|
||||
float * * m_inputs;
|
||||
float * * m_outputs;
|
||||
|
||||
std::list<VstMidiEvent> m_midiEvents;
|
||||
std::vector<VstMidiEvent> 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<VstMidiEvent>::iterator it =
|
||||
for( std::vector<VstMidiEvent>::iterator it =
|
||||
m_midiEvents.begin();
|
||||
it != m_midiEvents.end(); ++it, ++idx )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user