om-synth
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Om-synth] He's baaaaack


From: Cyrille . Damez
Subject: Re: [Om-synth] He's baaaaack
Date: Fri, 2 Dec 2005 21:13:07 +0100
User-agent: KMail/1.8.1

Le Vendredi 02 Décembre 2005 07:27, Dave Robillard a écrit :
> I'm back in internetland now, so I can start working on Ommey things
> again.  I remember a bunch of things needing doing after the big
> refactor, but not exactly what.


It seems the current cvs doesn't compile (at least on my computer using gcc 
3.3.6), because of this line in bridgenode.cpp :

m_driver_port = om->driver<T>()->create_port(m_external_port);

As far as I can tell, you can't specify which function driver() you want this 
way. Unfortunately, this won't work either:

m_driver_port = om->driver()->create_port(m_external_port);

because the only way the compiler would know which function to use would be to 
look at the return type (Driver<T>*), but C++ compilers can't do that.
A simple workaround is to add an unused parameter to the function driver() so 
that the compiler knows which function to instantiate. Here's the 
coresponding diff:

Index: src/engine/BridgeNode.cpp
===================================================================
diff -r1.6 BridgeNode.cpp
63c63
<               m_driver_port = om->driver<T>()->create_port(m_external_port);
---
>               m_driver_port = 
>                   om->driver((T*)NULL)->create_port(m_external_port); 

===================================================================
diff -r1.40 OmApp.cpp
116c116
< Driver<MidiMessage>* OmApp::driver<MidiMessage>() { return m_midi_driver; }
---
> Driver<MidiMessage>* OmApp::driver<MidiMessage>(MidiMessage*) 
>     { return m_midi_driver; } 
118c118
< Driver<sample>* OmApp::driver<sample>() { return m_audio_driver; }
---
> Driver<sample>* OmApp::driver<sample>(sample*) { return m_audio_driver; }


Not very nice, but it works ;)


HTH





reply via email to

[Prev in Thread] Current Thread [Next in Thread]