@@ -65,8 +65,7 @@ LIB32=link.exe -lib | |||
# PROP Intermediate_Dir "../../../bin/intermediate_win32/staticdebug" | |||
# PROP Target_Dir "" | |||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c | |||
# ADD CPP /nologo /G6 /MDd /W3 /Gm /GR /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /FR /FD /GZ /c | |||
# SUBTRACT CPP /YX | |||
# ADD CPP /nologo /G6 /MDd /W3 /Gm /GR /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_UNICODE" /D "UNICODE" /D "_LIB" /FR /FD /GZ /Zm1024 /c | |||
# ADD BASE RSC /l 0x809 /d "_DEBUG" | |||
# ADD RSC /l 0x809 /d "_DEBUG" | |||
BSC32=bscmake.exe | |||
@@ -99,6 +99,11 @@ void AudioFilterStreamer::audioDeviceAboutToStart (AudioIODevice* device) | |||
{ | |||
sampleRate = device->getCurrentSampleRate(); | |||
filter.setPlayConfigDetails (device->getActiveInputChannels().countNumberOfSetBits(), | |||
device->getActiveOutputChannels().countNumberOfSetBits(), | |||
device->getCurrentSampleRate(), | |||
device->getCurrentBufferSizeSamples()); | |||
isPlaying = true; | |||
emptyBuffer.setSize (1 + filter.getNumOutputChannels(), | |||
@@ -83556,7 +83556,10 @@ private: | |||
} | |||
if (lastCommandChar == 'M' || lastCommandChar == 'm') | |||
{ | |||
path.startNewSubPath (x, y); | |||
lastCommandChar = 'l'; | |||
} | |||
else | |||
path.lineTo (x, y); | |||
@@ -211484,8 +211487,8 @@ void CriticalSection::exit() const throw() | |||
LeaveCriticalSection ((CRITICAL_SECTION*) internal); | |||
} | |||
WaitableEvent::WaitableEvent() throw() | |||
: internal (CreateEvent (0, FALSE, FALSE, 0)) | |||
WaitableEvent::WaitableEvent (const bool manualReset) throw() | |||
: internal (CreateEvent (0, manualReset ? TRUE : FALSE, FALSE, 0)) | |||
{ | |||
} | |||
@@ -227548,8 +227551,9 @@ void CriticalSection::exit() const throw() | |||
class WaitableEventImpl | |||
{ | |||
public: | |||
WaitableEventImpl() | |||
: triggered (false) | |||
WaitableEventImpl (const bool manualReset_) | |||
: triggered (false), | |||
manualReset (manualReset_) | |||
{ | |||
pthread_cond_init (&condition, 0); | |||
pthread_mutex_init (&mutex, 0); | |||
@@ -227602,7 +227606,9 @@ public: | |||
} | |||
} | |||
triggered = false; | |||
if (! manualReset) | |||
triggered = false; | |||
pthread_mutex_unlock (&mutex); | |||
return true; | |||
} | |||
@@ -227626,13 +227632,14 @@ private: | |||
pthread_cond_t condition; | |||
pthread_mutex_t mutex; | |||
bool triggered; | |||
const bool manualReset; | |||
WaitableEventImpl (const WaitableEventImpl&); | |||
WaitableEventImpl& operator= (const WaitableEventImpl&); | |||
}; | |||
WaitableEvent::WaitableEvent() throw() | |||
: internal (new WaitableEventImpl()) | |||
WaitableEvent::WaitableEvent (const bool manualReset) throw() | |||
: internal (new WaitableEventImpl (manualReset)) | |||
{ | |||
} | |||
@@ -237595,8 +237602,9 @@ void CriticalSection::exit() const throw() | |||
class WaitableEventImpl | |||
{ | |||
public: | |||
WaitableEventImpl() | |||
: triggered (false) | |||
WaitableEventImpl (const bool manualReset_) | |||
: triggered (false), | |||
manualReset (manualReset_) | |||
{ | |||
pthread_cond_init (&condition, 0); | |||
pthread_mutex_init (&mutex, 0); | |||
@@ -237649,7 +237657,9 @@ public: | |||
} | |||
} | |||
triggered = false; | |||
if (! manualReset) | |||
triggered = false; | |||
pthread_mutex_unlock (&mutex); | |||
return true; | |||
} | |||
@@ -237673,13 +237683,14 @@ private: | |||
pthread_cond_t condition; | |||
pthread_mutex_t mutex; | |||
bool triggered; | |||
const bool manualReset; | |||
WaitableEventImpl (const WaitableEventImpl&); | |||
WaitableEventImpl& operator= (const WaitableEventImpl&); | |||
}; | |||
WaitableEvent::WaitableEvent() throw() | |||
: internal (new WaitableEventImpl()) | |||
WaitableEvent::WaitableEvent (const bool manualReset) throw() | |||
: internal (new WaitableEventImpl (manualReset)) | |||
{ | |||
} | |||
@@ -8811,7 +8811,7 @@ class JUCE_API WaitableEvent | |||
{ | |||
public: | |||
WaitableEvent() throw(); | |||
WaitableEvent (bool manualReset = false) throw(); | |||
~WaitableEvent() throw(); | |||
@@ -250,7 +250,10 @@ private: | |||
} | |||
if (lastCommandChar == 'M' || lastCommandChar == 'm') | |||
{ | |||
path.startNewSubPath (x, y); | |||
lastCommandChar = 'l'; | |||
} | |||
else | |||
path.lineTo (x, y); | |||
@@ -64,8 +64,9 @@ void CriticalSection::exit() const throw() | |||
class WaitableEventImpl | |||
{ | |||
public: | |||
WaitableEventImpl() | |||
: triggered (false) | |||
WaitableEventImpl (const bool manualReset_) | |||
: triggered (false), | |||
manualReset (manualReset_) | |||
{ | |||
pthread_cond_init (&condition, 0); | |||
pthread_mutex_init (&mutex, 0); | |||
@@ -118,7 +119,9 @@ public: | |||
} | |||
} | |||
triggered = false; | |||
if (! manualReset) | |||
triggered = false; | |||
pthread_mutex_unlock (&mutex); | |||
return true; | |||
} | |||
@@ -142,13 +145,14 @@ private: | |||
pthread_cond_t condition; | |||
pthread_mutex_t mutex; | |||
bool triggered; | |||
const bool manualReset; | |||
WaitableEventImpl (const WaitableEventImpl&); | |||
WaitableEventImpl& operator= (const WaitableEventImpl&); | |||
}; | |||
WaitableEvent::WaitableEvent() throw() | |||
: internal (new WaitableEventImpl()) | |||
WaitableEvent::WaitableEvent (const bool manualReset) throw() | |||
: internal (new WaitableEventImpl (manualReset)) | |||
{ | |||
} | |||
@@ -79,8 +79,8 @@ void CriticalSection::exit() const throw() | |||
} | |||
//============================================================================== | |||
WaitableEvent::WaitableEvent() throw() | |||
: internal (CreateEvent (0, FALSE, FALSE, 0)) | |||
WaitableEvent::WaitableEvent (const bool manualReset) throw() | |||
: internal (CreateEvent (0, manualReset ? TRUE : FALSE, FALSE, 0)) | |||
{ | |||
} | |||
@@ -41,8 +41,13 @@ class JUCE_API WaitableEvent | |||
{ | |||
public: | |||
//============================================================================== | |||
/** Creates a WaitableEvent object. */ | |||
WaitableEvent() throw(); | |||
/** Creates a WaitableEvent object. | |||
@param manualReset If this is false, the event will be reset automatically when the wait() | |||
method is called. If manualReset is true, then once the event is signalled, | |||
the only way to reset it will be by calling the reset() method. | |||
*/ | |||
WaitableEvent (bool manualReset = false) throw(); | |||
/** Destructor. | |||
@@ -57,8 +62,8 @@ public: | |||
This will wait until the object's signal() method is called by another thread, | |||
or until the timeout expires. | |||
After the event has been signalled, this method will return true and reset | |||
the event. | |||
After the event has been signalled, this method will return true and if manualReset | |||
was set to false in the WaitableEvent's constructor, then the event will be reset. | |||
@param timeOutMilliseconds the maximum time to wait, in milliseconds. A negative | |||
value will cause it to wait forever. | |||