| @@ -1498,7 +1498,7 @@ const RelativeTime RelativeTime::weeks (const double numberOfWeeks) throw() | |||||
| int64 RelativeTime::inMilliseconds() const throw() | int64 RelativeTime::inMilliseconds() const throw() | ||||
| { | { | ||||
| return (int64)(seconds * 1000.0); | |||||
| return (int64) (seconds * 1000.0); | |||||
| } | } | ||||
| double RelativeTime::inMinutes() const throw() | double RelativeTime::inMinutes() const throw() | ||||
| @@ -1521,7 +1521,7 @@ double RelativeTime::inWeeks() const throw() | |||||
| return seconds / (60.0 * 60.0 * 24.0 * 7.0); | return seconds / (60.0 * 60.0 * 24.0 * 7.0); | ||||
| } | } | ||||
| const String RelativeTime::getDescription (const String& returnValueForZeroTime) const throw() | |||||
| const String RelativeTime::getDescription (const String& returnValueForZeroTime) const | |||||
| { | { | ||||
| if (seconds < 0.001 && seconds > -0.001) | if (seconds < 0.001 && seconds > -0.001) | ||||
| return returnValueForZeroTime; | return returnValueForZeroTime; | ||||
| @@ -2064,7 +2064,7 @@ const String Time::toString (const bool includeDate, | |||||
| return result.trimEnd(); | return result.trimEnd(); | ||||
| } | } | ||||
| const String Time::formatted (const String& format) const throw() | |||||
| const String Time::formatted (const String& format) const | |||||
| { | { | ||||
| String buffer; | String buffer; | ||||
| int bufferSize = 128; | int bufferSize = 128; | ||||
| @@ -2187,17 +2187,17 @@ const String Time::getTimeZone() const throw() | |||||
| return zone[0].substring (0, 3); | return zone[0].substring (0, 3); | ||||
| } | } | ||||
| const String Time::getMonthName (const bool threeLetterVersion) const throw() | |||||
| const String Time::getMonthName (const bool threeLetterVersion) const | |||||
| { | { | ||||
| return getMonthName (getMonth(), threeLetterVersion); | return getMonthName (getMonth(), threeLetterVersion); | ||||
| } | } | ||||
| const String Time::getWeekdayName (const bool threeLetterVersion) const throw() | |||||
| const String Time::getWeekdayName (const bool threeLetterVersion) const | |||||
| { | { | ||||
| return getWeekdayName (getDayOfWeek(), threeLetterVersion); | return getWeekdayName (getDayOfWeek(), threeLetterVersion); | ||||
| } | } | ||||
| const String Time::getMonthName (int monthNumber, const bool threeLetterVersion) throw() | |||||
| const String Time::getMonthName (int monthNumber, const bool threeLetterVersion) | |||||
| { | { | ||||
| const char* const shortMonthNames[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; | const char* const shortMonthNames[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; | ||||
| const char* const longMonthNames[] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; | const char* const longMonthNames[] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; | ||||
| @@ -2208,7 +2208,7 @@ const String Time::getMonthName (int monthNumber, const bool threeLetterVersion) | |||||
| : longMonthNames [monthNumber]); | : longMonthNames [monthNumber]); | ||||
| } | } | ||||
| const String Time::getWeekdayName (int day, const bool threeLetterVersion) throw() | |||||
| const String Time::getWeekdayName (int day, const bool threeLetterVersion) | |||||
| { | { | ||||
| const char* const shortDayNames[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; | const char* const shortDayNames[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; | ||||
| const char* const longDayNames[] = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }; | const char* const longDayNames[] = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }; | ||||
| @@ -3769,21 +3769,21 @@ END_JUCE_NAMESPACE | |||||
| /*** Start of inlined file: juce_PropertySet.cpp ***/ | /*** Start of inlined file: juce_PropertySet.cpp ***/ | ||||
| BEGIN_JUCE_NAMESPACE | BEGIN_JUCE_NAMESPACE | ||||
| PropertySet::PropertySet (const bool ignoreCaseOfKeyNames) throw() | |||||
| PropertySet::PropertySet (const bool ignoreCaseOfKeyNames) | |||||
| : properties (ignoreCaseOfKeyNames), | : properties (ignoreCaseOfKeyNames), | ||||
| fallbackProperties (0), | fallbackProperties (0), | ||||
| ignoreCaseOfKeys (ignoreCaseOfKeyNames) | ignoreCaseOfKeys (ignoreCaseOfKeyNames) | ||||
| { | { | ||||
| } | } | ||||
| PropertySet::PropertySet (const PropertySet& other) throw() | |||||
| PropertySet::PropertySet (const PropertySet& other) | |||||
| : properties (other.properties), | : properties (other.properties), | ||||
| fallbackProperties (other.fallbackProperties), | fallbackProperties (other.fallbackProperties), | ||||
| ignoreCaseOfKeys (other.ignoreCaseOfKeys) | ignoreCaseOfKeys (other.ignoreCaseOfKeys) | ||||
| { | { | ||||
| } | } | ||||
| PropertySet& PropertySet::operator= (const PropertySet& other) throw() | |||||
| PropertySet& PropertySet::operator= (const PropertySet& other) | |||||
| { | { | ||||
| properties = other.properties; | properties = other.properties; | ||||
| fallbackProperties = other.fallbackProperties; | fallbackProperties = other.fallbackProperties; | ||||
| @@ -3920,7 +3920,7 @@ void PropertySet::setFallbackPropertySet (PropertySet* fallbackProperties_) thro | |||||
| fallbackProperties = fallbackProperties_; | fallbackProperties = fallbackProperties_; | ||||
| } | } | ||||
| XmlElement* PropertySet::createXml (const String& nodeName) const throw() | |||||
| XmlElement* PropertySet::createXml (const String& nodeName) const | |||||
| { | { | ||||
| const ScopedLock sl (lock); | const ScopedLock sl (lock); | ||||
| XmlElement* const xml = new XmlElement (nodeName); | XmlElement* const xml = new XmlElement (nodeName); | ||||
| @@ -3935,7 +3935,7 @@ XmlElement* PropertySet::createXml (const String& nodeName) const throw() | |||||
| return xml; | return xml; | ||||
| } | } | ||||
| void PropertySet::restoreFromXml (const XmlElement& xml) throw() | |||||
| void PropertySet::restoreFromXml (const XmlElement& xml) | |||||
| { | { | ||||
| const ScopedLock sl (lock); | const ScopedLock sl (lock); | ||||
| clear(); | clear(); | ||||
| @@ -6612,8 +6612,7 @@ END_JUCE_NAMESPACE | |||||
| BEGIN_JUCE_NAMESPACE | BEGIN_JUCE_NAMESPACE | ||||
| #if JUCE_DEBUG | #if JUCE_DEBUG | ||||
| static CriticalSection activeStreamLock; | |||||
| static Array<void*> activeStreams; | |||||
| static Array<void*, CriticalSection> activeStreams; | |||||
| void juce_CheckForDanglingStreams() | void juce_CheckForDanglingStreams() | ||||
| { | { | ||||
| @@ -6629,18 +6628,16 @@ void juce_CheckForDanglingStreams() | |||||
| OutputStream::OutputStream() | OutputStream::OutputStream() | ||||
| { | { | ||||
| #if JUCE_DEBUG | |||||
| const ScopedLock sl (activeStreamLock); | |||||
| #if JUCE_DEBUG | |||||
| activeStreams.add (this); | activeStreams.add (this); | ||||
| #endif | |||||
| #endif | |||||
| } | } | ||||
| OutputStream::~OutputStream() | OutputStream::~OutputStream() | ||||
| { | { | ||||
| #if JUCE_DEBUG | |||||
| const ScopedLock sl (activeStreamLock); | |||||
| #if JUCE_DEBUG | |||||
| activeStreams.removeValue (this); | activeStreams.removeValue (this); | ||||
| #endif | |||||
| #endif | |||||
| } | } | ||||
| void OutputStream::writeBool (const bool b) | void OutputStream::writeBool (const bool b) | ||||
| @@ -9038,7 +9035,7 @@ static const String getMangledParameters (const StringPairArray& parameters) | |||||
| for (int i = 0; i < parameters.size(); ++i) | for (int i = 0; i < parameters.size(); ++i) | ||||
| { | { | ||||
| if (i > 0) | if (i > 0) | ||||
| p += '&'; | |||||
| p << '&'; | |||||
| p << URL::addEscapeChars (parameters.getAllKeys() [i], true) | p << URL::addEscapeChars (parameters.getAllKeys() [i], true) | ||||
| << '=' | << '=' | ||||
| @@ -30009,7 +30006,7 @@ void KnownPluginList::clear() | |||||
| } | } | ||||
| } | } | ||||
| PluginDescription* KnownPluginList::getTypeForFile (const String& fileOrIdentifier) const throw() | |||||
| PluginDescription* KnownPluginList::getTypeForFile (const String& fileOrIdentifier) const | |||||
| { | { | ||||
| for (int i = 0; i < types.size(); ++i) | for (int i = 0; i < types.size(); ++i) | ||||
| if (types.getUnchecked(i)->fileOrIdentifier == fileOrIdentifier) | if (types.getUnchecked(i)->fileOrIdentifier == fileOrIdentifier) | ||||
| @@ -30018,7 +30015,7 @@ PluginDescription* KnownPluginList::getTypeForFile (const String& fileOrIdentifi | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| PluginDescription* KnownPluginList::getTypeForIdentifierString (const String& identifierString) const throw() | |||||
| PluginDescription* KnownPluginList::getTypeForIdentifierString (const String& identifierString) const | |||||
| { | { | ||||
| for (int i = 0; i < types.size(); ++i) | for (int i = 0; i < types.size(); ++i) | ||||
| if (types.getUnchecked(i)->createIdentifierString() == identifierString) | if (types.getUnchecked(i)->createIdentifierString() == identifierString) | ||||
| @@ -30053,7 +30050,7 @@ void KnownPluginList::removeType (const int index) | |||||
| sendChangeMessage (this); | sendChangeMessage (this); | ||||
| } | } | ||||
| static Time getFileModTime (const String& fileOrIdentifier) throw() | |||||
| static const Time getPluginFileModTime (const String& fileOrIdentifier) | |||||
| { | { | ||||
| if (fileOrIdentifier.startsWithChar ('/') || fileOrIdentifier[1] == ':') | if (fileOrIdentifier.startsWithChar ('/') || fileOrIdentifier[1] == ':') | ||||
| return File (fileOrIdentifier).getLastModificationTime(); | return File (fileOrIdentifier).getLastModificationTime(); | ||||
| @@ -30066,7 +30063,7 @@ static bool timesAreDifferent (const Time& t1, const Time& t2) throw() | |||||
| return t1 != t2 || t1 == Time (0); | return t1 != t2 || t1 == Time (0); | ||||
| } | } | ||||
| bool KnownPluginList::isListingUpToDate (const String& fileOrIdentifier) const throw() | |||||
| bool KnownPluginList::isListingUpToDate (const String& fileOrIdentifier) const | |||||
| { | { | ||||
| if (getTypeForFile (fileOrIdentifier) == 0) | if (getTypeForFile (fileOrIdentifier) == 0) | ||||
| return false; | return false; | ||||
| @@ -30076,7 +30073,7 @@ bool KnownPluginList::isListingUpToDate (const String& fileOrIdentifier) const t | |||||
| const PluginDescription* const d = types.getUnchecked(i); | const PluginDescription* const d = types.getUnchecked(i); | ||||
| if (d->fileOrIdentifier == fileOrIdentifier | if (d->fileOrIdentifier == fileOrIdentifier | ||||
| && timesAreDifferent (d->lastFileModTime, getFileModTime (fileOrIdentifier))) | |||||
| && timesAreDifferent (d->lastFileModTime, getPluginFileModTime (fileOrIdentifier))) | |||||
| { | { | ||||
| return false; | return false; | ||||
| } | } | ||||
| @@ -30103,7 +30100,7 @@ bool KnownPluginList::scanAndAddFile (const String& fileOrIdentifier, | |||||
| if (d->fileOrIdentifier == fileOrIdentifier) | if (d->fileOrIdentifier == fileOrIdentifier) | ||||
| { | { | ||||
| if (timesAreDifferent (d->lastFileModTime, getFileModTime (fileOrIdentifier))) | |||||
| if (timesAreDifferent (d->lastFileModTime, getPluginFileModTime (fileOrIdentifier))) | |||||
| needsRescanning = true; | needsRescanning = true; | ||||
| else | else | ||||
| typesFound.add (new PluginDescription (*d)); | typesFound.add (new PluginDescription (*d)); | ||||
| @@ -30176,7 +30173,7 @@ public: | |||||
| PluginSorter() throw() {} | PluginSorter() throw() {} | ||||
| int compareElements (const PluginDescription* const first, | int compareElements (const PluginDescription* const first, | ||||
| const PluginDescription* const second) const throw() | |||||
| const PluginDescription* const second) const | |||||
| { | { | ||||
| int diff = 0; | int diff = 0; | ||||
| @@ -37932,8 +37929,7 @@ class ActionMessage : public Message | |||||
| public: | public: | ||||
| const String message; | const String message; | ||||
| ActionMessage (const String& messageText, | |||||
| void* const listener_) throw() | |||||
| ActionMessage (const String& messageText, void* const listener_) throw() | |||||
| : message (messageText) | : message (messageText) | ||||
| { | { | ||||
| pointerParameter = listener_; | pointerParameter = listener_; | ||||
| @@ -37948,15 +37944,15 @@ private: | |||||
| ActionMessage& operator= (const ActionMessage&); | ActionMessage& operator= (const ActionMessage&); | ||||
| }; | }; | ||||
| ActionListenerList::ActionListenerList() throw() | |||||
| ActionListenerList::ActionListenerList() | |||||
| { | { | ||||
| } | } | ||||
| ActionListenerList::~ActionListenerList() throw() | |||||
| ActionListenerList::~ActionListenerList() | |||||
| { | { | ||||
| } | } | ||||
| void ActionListenerList::addActionListener (ActionListener* const listener) throw() | |||||
| void ActionListenerList::addActionListener (ActionListener* const listener) | |||||
| { | { | ||||
| const ScopedLock sl (actionListenerLock_); | const ScopedLock sl (actionListenerLock_); | ||||
| @@ -37967,7 +37963,7 @@ void ActionListenerList::addActionListener (ActionListener* const listener) thro | |||||
| actionListeners_.add (listener); | actionListeners_.add (listener); | ||||
| } | } | ||||
| void ActionListenerList::removeActionListener (ActionListener* const listener) throw() | |||||
| void ActionListenerList::removeActionListener (ActionListener* const listener) | |||||
| { | { | ||||
| const ScopedLock sl (actionListenerLock_); | const ScopedLock sl (actionListenerLock_); | ||||
| @@ -37976,7 +37972,7 @@ void ActionListenerList::removeActionListener (ActionListener* const listener) | |||||
| actionListeners_.removeValue (listener); | actionListeners_.removeValue (listener); | ||||
| } | } | ||||
| void ActionListenerList::removeAllActionListeners() throw() | |||||
| void ActionListenerList::removeAllActionListeners() | |||||
| { | { | ||||
| const ScopedLock sl (actionListenerLock_); | const ScopedLock sl (actionListenerLock_); | ||||
| actionListeners_.clear(); | actionListeners_.clear(); | ||||
| @@ -38015,7 +38011,7 @@ AsyncUpdater::~AsyncUpdater() | |||||
| { | { | ||||
| } | } | ||||
| void AsyncUpdater::triggerAsyncUpdate() throw() | |||||
| void AsyncUpdater::triggerAsyncUpdate() | |||||
| { | { | ||||
| if (! asyncMessagePending) | if (! asyncMessagePending) | ||||
| { | { | ||||
| @@ -38062,12 +38058,12 @@ ChangeBroadcaster::~ChangeBroadcaster() | |||||
| jassert (MessageManager::instance != 0); | jassert (MessageManager::instance != 0); | ||||
| } | } | ||||
| void ChangeBroadcaster::addChangeListener (ChangeListener* const listener) throw() | |||||
| void ChangeBroadcaster::addChangeListener (ChangeListener* const listener) | |||||
| { | { | ||||
| changeListenerList.addChangeListener (listener); | changeListenerList.addChangeListener (listener); | ||||
| } | } | ||||
| void ChangeBroadcaster::removeChangeListener (ChangeListener* const listener) throw() | |||||
| void ChangeBroadcaster::removeChangeListener (ChangeListener* const listener) | |||||
| { | { | ||||
| jassert (changeListenerList.isValidMessageListener()); | jassert (changeListenerList.isValidMessageListener()); | ||||
| @@ -38075,12 +38071,12 @@ void ChangeBroadcaster::removeChangeListener (ChangeListener* const listener) th | |||||
| changeListenerList.removeChangeListener (listener); | changeListenerList.removeChangeListener (listener); | ||||
| } | } | ||||
| void ChangeBroadcaster::removeAllChangeListeners() throw() | |||||
| void ChangeBroadcaster::removeAllChangeListeners() | |||||
| { | { | ||||
| changeListenerList.removeAllChangeListeners(); | changeListenerList.removeAllChangeListeners(); | ||||
| } | } | ||||
| void ChangeBroadcaster::sendChangeMessage (void* objectThatHasChanged) throw() | |||||
| void ChangeBroadcaster::sendChangeMessage (void* objectThatHasChanged) | |||||
| { | { | ||||
| changeListenerList.sendChangeMessage (objectThatHasChanged); | changeListenerList.sendChangeMessage (objectThatHasChanged); | ||||
| } | } | ||||
| @@ -38102,17 +38098,17 @@ END_JUCE_NAMESPACE | |||||
| /*** Start of inlined file: juce_ChangeListenerList.cpp ***/ | /*** Start of inlined file: juce_ChangeListenerList.cpp ***/ | ||||
| BEGIN_JUCE_NAMESPACE | BEGIN_JUCE_NAMESPACE | ||||
| ChangeListenerList::ChangeListenerList() throw() | |||||
| ChangeListenerList::ChangeListenerList() | |||||
| : lastChangedObject (0), | : lastChangedObject (0), | ||||
| messagePending (false) | messagePending (false) | ||||
| { | { | ||||
| } | } | ||||
| ChangeListenerList::~ChangeListenerList() throw() | |||||
| ChangeListenerList::~ChangeListenerList() | |||||
| { | { | ||||
| } | } | ||||
| void ChangeListenerList::addChangeListener (ChangeListener* const listener) throw() | |||||
| void ChangeListenerList::addChangeListener (ChangeListener* const listener) | |||||
| { | { | ||||
| const ScopedLock sl (lock); | const ScopedLock sl (lock); | ||||
| @@ -38122,19 +38118,19 @@ void ChangeListenerList::addChangeListener (ChangeListener* const listener) thro | |||||
| listeners.add (listener); | listeners.add (listener); | ||||
| } | } | ||||
| void ChangeListenerList::removeChangeListener (ChangeListener* const listener) throw() | |||||
| void ChangeListenerList::removeChangeListener (ChangeListener* const listener) | |||||
| { | { | ||||
| const ScopedLock sl (lock); | const ScopedLock sl (lock); | ||||
| listeners.removeValue (listener); | listeners.removeValue (listener); | ||||
| } | } | ||||
| void ChangeListenerList::removeAllChangeListeners() throw() | |||||
| void ChangeListenerList::removeAllChangeListeners() | |||||
| { | { | ||||
| const ScopedLock sl (lock); | const ScopedLock sl (lock); | ||||
| listeners.clear(); | listeners.clear(); | ||||
| } | } | ||||
| void ChangeListenerList::sendChangeMessage (void* const objectThatHasChanged) throw() | |||||
| void ChangeListenerList::sendChangeMessage (void* const objectThatHasChanged) | |||||
| { | { | ||||
| const ScopedLock sl (lock); | const ScopedLock sl (lock); | ||||
| @@ -53111,6 +53107,12 @@ namespace TextEditorDefs | |||||
| const int focusLossMessageId = 0x10003004; | const int focusLossMessageId = 0x10003004; | ||||
| const int maxActionsPerTransaction = 100; | const int maxActionsPerTransaction = 100; | ||||
| static int getCharacterCategory (const juce_wchar character) | |||||
| { | |||||
| return CharacterFunctions::isLetterOrDigit (character) | |||||
| ? 2 : (CharacterFunctions::isWhitespace (character) ? 0 : 1); | |||||
| } | |||||
| } | } | ||||
| TextEditor::TextEditor (const String& name, | TextEditor::TextEditor (const String& name, | ||||
| @@ -54684,12 +54686,6 @@ int TextEditor::indexAtPosition (const float x, const float y) | |||||
| return getTotalNumChars(); | return getTotalNumChars(); | ||||
| } | } | ||||
| static int getCharacterCategory (const juce_wchar character) | |||||
| { | |||||
| return CharacterFunctions::isLetterOrDigit (character) | |||||
| ? 2 : (CharacterFunctions::isWhitespace (character) ? 0 : 1); | |||||
| } | |||||
| int TextEditor::findWordBreakAfter (const int position) const | int TextEditor::findWordBreakAfter (const int position) const | ||||
| { | { | ||||
| const String t (getTextInRange (Range<int> (position, position + 512))); | const String t (getTextInRange (Range<int> (position, position + 512))); | ||||
| @@ -54699,9 +54695,9 @@ int TextEditor::findWordBreakAfter (const int position) const | |||||
| while (i < totalLength && CharacterFunctions::isWhitespace (t[i])) | while (i < totalLength && CharacterFunctions::isWhitespace (t[i])) | ||||
| ++i; | ++i; | ||||
| const int type = getCharacterCategory (t[i]); | |||||
| const int type = TextEditorDefs::getCharacterCategory (t[i]); | |||||
| while (i < totalLength && type == getCharacterCategory (t[i])) | |||||
| while (i < totalLength && type == TextEditorDefs::getCharacterCategory (t[i])) | |||||
| ++i; | ++i; | ||||
| while (i < totalLength && CharacterFunctions::isWhitespace (t[i])) | while (i < totalLength && CharacterFunctions::isWhitespace (t[i])) | ||||
| @@ -54725,9 +54721,9 @@ int TextEditor::findWordBreakBefore (const int position) const | |||||
| if (i > 0) | if (i > 0) | ||||
| { | { | ||||
| const int type = getCharacterCategory (t [i - 1]); | |||||
| const int type = TextEditorDefs::getCharacterCategory (t [i - 1]); | |||||
| while (i > 0 && type == getCharacterCategory (t [i - 1])) | |||||
| while (i > 0 && type == TextEditorDefs::getCharacterCategory (t [i - 1])) | |||||
| --i; | --i; | ||||
| } | } | ||||
| @@ -239787,7 +239783,7 @@ static BOOL CALLBACK BroadcastEnumWindowProc (HWND hwnd, LPARAM lParam) | |||||
| return TRUE; | return TRUE; | ||||
| } | } | ||||
| void MessageManager::broadcastMessage (const String& value) throw() | |||||
| void MessageManager::broadcastMessage (const String& value) | |||||
| { | { | ||||
| Array<void*> windows; | Array<void*> windows; | ||||
| EnumWindows (&BroadcastEnumWindowProc, (LPARAM) &windows); | EnumWindows (&BroadcastEnumWindowProc, (LPARAM) &windows); | ||||
| @@ -248953,33 +248949,26 @@ void MidiOutput::sendMessageNow (const MidiMessage& message) | |||||
| #undef WINDOWS | #undef WINDOWS | ||||
| // #define ASIO_DEBUGGING | |||||
| // #define ASIO_DEBUGGING 1 | |||||
| #ifdef ASIO_DEBUGGING | |||||
| #if ASIO_DEBUGGING | |||||
| #define log(a) { Logger::writeToLog (a); DBG (a) } | #define log(a) { Logger::writeToLog (a); DBG (a) } | ||||
| #else | #else | ||||
| #define log(a) {} | #define log(a) {} | ||||
| #endif | #endif | ||||
| #ifdef ASIO_DEBUGGING | |||||
| #if ASIO_DEBUGGING | |||||
| static void logError (const String& context, long error) | static void logError (const String& context, long error) | ||||
| { | { | ||||
| String err ("unknown error"); | String err ("unknown error"); | ||||
| if (error == ASE_NotPresent) | |||||
| err = "Not Present"; | |||||
| else if (error == ASE_HWMalfunction) | |||||
| err = "Hardware Malfunction"; | |||||
| else if (error == ASE_InvalidParameter) | |||||
| err = "Invalid Parameter"; | |||||
| else if (error == ASE_InvalidMode) | |||||
| err = "Invalid Mode"; | |||||
| else if (error == ASE_SPNotAdvancing) | |||||
| err = "Sample position not advancing"; | |||||
| else if (error == ASE_NoClock) | |||||
| err = "No Clock"; | |||||
| else if (error == ASE_NoMemory) | |||||
| err = "Out of memory"; | |||||
| if (error == ASE_NotPresent) err = "Not Present"; | |||||
| else if (error == ASE_HWMalfunction) err = "Hardware Malfunction"; | |||||
| else if (error == ASE_InvalidParameter) err = "Invalid Parameter"; | |||||
| else if (error == ASE_InvalidMode) err = "Invalid Mode"; | |||||
| else if (error == ASE_SPNotAdvancing) err = "Sample position not advancing"; | |||||
| else if (error == ASE_NoClock) err = "No Clock"; | |||||
| else if (error == ASE_NoMemory) err = "Out of memory"; | |||||
| log ("!!error: " + context + " - " + err); | log ("!!error: " + context + " - " + err); | ||||
| } | } | ||||
| @@ -256879,13 +256868,12 @@ bool juce_postMessageToSystemQueue (Message* message) | |||||
| return true; | return true; | ||||
| } | } | ||||
| void MessageManager::broadcastMessage (const String& value) throw() | |||||
| void MessageManager::broadcastMessage (const String& value) | |||||
| { | { | ||||
| /* TODO */ | /* TODO */ | ||||
| } | } | ||||
| void* MessageManager::callFunctionOnMessageThread (MessageCallbackFunction* func, | |||||
| void* parameter) | |||||
| void* MessageManager::callFunctionOnMessageThread (MessageCallbackFunction* func, void* parameter) | |||||
| { | { | ||||
| if (LinuxErrorHandling::errorOccurred) | if (LinuxErrorHandling::errorOccurred) | ||||
| return 0; | return 0; | ||||
| @@ -260902,8 +260890,6 @@ const int KeyPress::rewindKey = (0xffeeff03) | Keys::extendedKeyModifier; | |||||
| // compiled on its own). | // compiled on its own). | ||||
| #if JUCE_INCLUDED_FILE && JUCE_ALSA | #if JUCE_INCLUDED_FILE && JUCE_ALSA | ||||
| static const int maxNumChans = 64; | |||||
| static void getDeviceSampleRates (snd_pcm_t* handle, Array <int>& rates) | static void getDeviceSampleRates (snd_pcm_t* handle, Array <int>& rates) | ||||
| { | { | ||||
| const int ratesToTry[] = { 22050, 32000, 44100, 48000, 88200, 96000, 176400, 192000, 0 }; | const int ratesToTry[] = { 22050, 32000, 44100, 48000, 88200, 96000, 176400, 192000, 0 }; | ||||
| @@ -261866,18 +261852,12 @@ static void jack_Log (const String& s) | |||||
| static void dumpJackErrorMessage (const jack_status_t status) | static void dumpJackErrorMessage (const jack_status_t status) | ||||
| { | { | ||||
| if (status & JackServerFailed || status & JackServerError) | |||||
| jack_Log ("Unable to connect to JACK server"); | |||||
| if (status & JackVersionError) | |||||
| jack_Log ("Client's protocol version does not match"); | |||||
| if (status & JackInvalidOption) | |||||
| jack_Log ("The operation contained an invalid or unsupported option"); | |||||
| if (status & JackNameNotUnique) | |||||
| jack_Log ("The desired client name was not unique"); | |||||
| if (status & JackNoSuchClient) | |||||
| jack_Log ("Requested client does not exist"); | |||||
| if (status & JackInitFailure) | |||||
| jack_Log ("Unable to initialize client"); | |||||
| if (status & JackServerFailed || status & JackServerError) jack_Log ("Unable to connect to JACK server"); | |||||
| if (status & JackVersionError) jack_Log ("Client's protocol version does not match"); | |||||
| if (status & JackInvalidOption) jack_Log ("The operation contained an invalid or unsupported option"); | |||||
| if (status & JackNameNotUnique) jack_Log ("The desired client name was not unique"); | |||||
| if (status & JackNoSuchClient) jack_Log ("Requested client does not exist"); | |||||
| if (status & JackInitFailure) jack_Log ("Unable to initialize client"); | |||||
| } | } | ||||
| #else | #else | ||||
| #define dumpJackErrorMessage(a) {} | #define dumpJackErrorMessage(a) {} | ||||
| @@ -262385,9 +262365,9 @@ AudioIODeviceType* juce_createAudioIODeviceType_JACK() { return 0; } | |||||
| #if JUCE_INCLUDED_FILE | #if JUCE_INCLUDED_FILE | ||||
| #if JUCE_ALSA | #if JUCE_ALSA | ||||
| static snd_seq_t* iterateDevices (const bool forInput, | |||||
| StringArray& deviceNamesFound, | |||||
| const int deviceIndexToOpen) | |||||
| static snd_seq_t* iterateMidiDevices (const bool forInput, | |||||
| StringArray& deviceNamesFound, | |||||
| const int deviceIndexToOpen) | |||||
| { | { | ||||
| snd_seq_t* returnedHandle = 0; | snd_seq_t* returnedHandle = 0; | ||||
| snd_seq_t* seqHandle; | snd_seq_t* seqHandle; | ||||
| @@ -262474,8 +262454,8 @@ static snd_seq_t* iterateDevices (const bool forInput, | |||||
| return returnedHandle; | return returnedHandle; | ||||
| } | } | ||||
| static snd_seq_t* createDevice (const bool forInput, | |||||
| const String& deviceNameToOpen) | |||||
| static snd_seq_t* createMidiDevice (const bool forInput, | |||||
| const String& deviceNameToOpen) | |||||
| { | { | ||||
| snd_seq_t* seqHandle = 0; | snd_seq_t* seqHandle = 0; | ||||
| @@ -262563,7 +262543,7 @@ private: | |||||
| const StringArray MidiOutput::getDevices() | const StringArray MidiOutput::getDevices() | ||||
| { | { | ||||
| StringArray devices; | StringArray devices; | ||||
| iterateDevices (false, devices, -1); | |||||
| iterateMidiDevices (false, devices, -1); | |||||
| return devices; | return devices; | ||||
| } | } | ||||
| @@ -262577,7 +262557,7 @@ MidiOutput* MidiOutput::openDevice (int deviceIndex) | |||||
| MidiOutput* newDevice = 0; | MidiOutput* newDevice = 0; | ||||
| StringArray devices; | StringArray devices; | ||||
| snd_seq_t* const handle = iterateDevices (false, devices, deviceIndex); | |||||
| snd_seq_t* const handle = iterateMidiDevices (false, devices, deviceIndex); | |||||
| if (handle != 0) | if (handle != 0) | ||||
| { | { | ||||
| @@ -262592,7 +262572,7 @@ MidiOutput* MidiOutput::createNewDevice (const String& deviceName) | |||||
| { | { | ||||
| MidiOutput* newDevice = 0; | MidiOutput* newDevice = 0; | ||||
| snd_seq_t* const handle = createDevice (false, deviceName); | |||||
| snd_seq_t* const handle = createMidiDevice (false, deviceName); | |||||
| if (handle != 0) | if (handle != 0) | ||||
| { | { | ||||
| @@ -262736,7 +262716,7 @@ int MidiInput::getDefaultDeviceIndex() | |||||
| const StringArray MidiInput::getDevices() | const StringArray MidiInput::getDevices() | ||||
| { | { | ||||
| StringArray devices; | StringArray devices; | ||||
| iterateDevices (true, devices, -1); | |||||
| iterateMidiDevices (true, devices, -1); | |||||
| return devices; | return devices; | ||||
| } | } | ||||
| @@ -262745,7 +262725,7 @@ MidiInput* MidiInput::openDevice (int deviceIndex, MidiInputCallback* callback) | |||||
| MidiInput* newDevice = 0; | MidiInput* newDevice = 0; | ||||
| StringArray devices; | StringArray devices; | ||||
| snd_seq_t* const handle = iterateDevices (true, devices, deviceIndex); | |||||
| snd_seq_t* const handle = iterateMidiDevices (true, devices, deviceIndex); | |||||
| if (handle != 0) | if (handle != 0) | ||||
| { | { | ||||
| @@ -262760,7 +262740,7 @@ MidiInput* MidiInput::createNewDevice (const String& deviceName, MidiInputCallba | |||||
| { | { | ||||
| MidiInput* newDevice = 0; | MidiInput* newDevice = 0; | ||||
| snd_seq_t* const handle = createDevice (true, deviceName); | |||||
| snd_seq_t* const handle = createMidiDevice (true, deviceName); | |||||
| if (handle != 0) | if (handle != 0) | ||||
| { | { | ||||
| @@ -268019,12 +267999,11 @@ bool juce_postMessageToSystemQueue (Message* message) | |||||
| return true; | return true; | ||||
| } | } | ||||
| void MessageManager::broadcastMessage (const String& value) throw() | |||||
| void MessageManager::broadcastMessage (const String& value) | |||||
| { | { | ||||
| } | } | ||||
| void* MessageManager::callFunctionOnMessageThread (MessageCallbackFunction* callback, | |||||
| void* data) | |||||
| void* MessageManager::callFunctionOnMessageThread (MessageCallbackFunction* callback, void* data) | |||||
| { | { | ||||
| if (isThisTheMessageThread()) | if (isThisTheMessageThread()) | ||||
| { | { | ||||
| @@ -276533,7 +276512,9 @@ static bool isEventBlockedByModalComps (NSEvent* e) | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| if (JUCEApplication::isStandaloneApp() | |||||
| NSViewComponentPeer* nsViewPeer = dynamic_cast<NSViewComponentPeer*> (peer); | |||||
| if ((nsViewPeer == 0 || ! nsViewPeer->isSharedWindow) | |||||
| ? NSPointInRect ([e locationInWindow], NSMakeRect (0, 0, [w frame].size.width, [w frame].size.height)) | ? NSPointInRect ([e locationInWindow], NSMakeRect (0, 0, [w frame].size.width, [w frame].size.height)) | ||||
| : NSPointInRect ([compView convertPoint: [e locationInWindow] fromView: nil], [compView bounds])) | : NSPointInRect ([compView convertPoint: [e locationInWindow] fromView: nil], [compView bounds])) | ||||
| return false; | return false; | ||||
| @@ -276611,7 +276592,7 @@ bool juce_postMessageToSystemQueue (Message* message) | |||||
| return true; | return true; | ||||
| } | } | ||||
| void MessageManager::broadcastMessage (const String& value) throw() | |||||
| void MessageManager::broadcastMessage (const String& value) | |||||
| { | { | ||||
| } | } | ||||
| @@ -8093,7 +8093,7 @@ public: | |||||
| @see inMilliseconds, inSeconds, inMinutes, inHours, inDays, inWeeks | @see inMilliseconds, inSeconds, inMinutes, inHours, inDays, inWeeks | ||||
| */ | */ | ||||
| const String getDescription (const String& returnValueForZeroTime = "0") const throw(); | |||||
| const String getDescription (const String& returnValueForZeroTime = "0") const; | |||||
| /** Compares two RelativeTimes. */ | /** Compares two RelativeTimes. */ | ||||
| bool operator== (const RelativeTime& other) const throw(); | bool operator== (const RelativeTime& other) const throw(); | ||||
| @@ -8237,7 +8237,7 @@ public: | |||||
| it'll return the long form, e.g. "January" | it'll return the long form, e.g. "January" | ||||
| @see getMonth | @see getMonth | ||||
| */ | */ | ||||
| const String getMonthName (bool threeLetterVersion) const throw(); | |||||
| const String getMonthName (bool threeLetterVersion) const; | |||||
| /** Returns the day of the month. | /** Returns the day of the month. | ||||
| @@ -8256,7 +8256,7 @@ public: | |||||
| @param threeLetterVersion if true, it'll return a 3-letter abbreviation, e.g. "Tue"; if | @param threeLetterVersion if true, it'll return a 3-letter abbreviation, e.g. "Tue"; if | ||||
| false, it'll return the full version, e.g. "Tuesday". | false, it'll return the full version, e.g. "Tuesday". | ||||
| */ | */ | ||||
| const String getWeekdayName (bool threeLetterVersion) const throw(); | |||||
| const String getWeekdayName (bool threeLetterVersion) const; | |||||
| /** Returns the number of hours since midnight. | /** Returns the number of hours since midnight. | ||||
| @@ -8352,7 +8352,7 @@ public: | |||||
| @see toString | @see toString | ||||
| */ | */ | ||||
| const String formatted (const String& format) const throw(); | |||||
| const String formatted (const String& format) const; | |||||
| /** Adds a RelativeTime to this time and returns the result. */ | /** Adds a RelativeTime to this time and returns the result. */ | ||||
| const Time operator+ (const RelativeTime& delta) const throw() { return Time (millisSinceEpoch + delta.inMilliseconds()); } | const Time operator+ (const RelativeTime& delta) const throw() { return Time (millisSinceEpoch + delta.inMilliseconds()); } | ||||
| @@ -8395,7 +8395,7 @@ public: | |||||
| false, it'll return the full version, e.g. "Tuesday". | false, it'll return the full version, e.g. "Tuesday". | ||||
| */ | */ | ||||
| static const String getWeekdayName (int dayNumber, | static const String getWeekdayName (int dayNumber, | ||||
| bool threeLetterVersion) throw(); | |||||
| bool threeLetterVersion); | |||||
| /** Returns the name of one of the months. | /** Returns the name of one of the months. | ||||
| @@ -8404,7 +8404,7 @@ public: | |||||
| it'll return the long form, e.g. "January" | it'll return the long form, e.g. "January" | ||||
| */ | */ | ||||
| static const String getMonthName (int monthNumber, | static const String getMonthName (int monthNumber, | ||||
| bool threeLetterVersion) throw(); | |||||
| bool threeLetterVersion); | |||||
| // Static methods for getting system timers directly.. | // Static methods for getting system timers directly.. | ||||
| @@ -10068,15 +10068,15 @@ public: | |||||
| @param ignoreCaseOfKeyNames if true, the names of properties are compared in a | @param ignoreCaseOfKeyNames if true, the names of properties are compared in a | ||||
| case-insensitive way | case-insensitive way | ||||
| */ | */ | ||||
| PropertySet (bool ignoreCaseOfKeyNames = false) throw(); | |||||
| PropertySet (bool ignoreCaseOfKeyNames = false); | |||||
| /** Creates a copy of another PropertySet. | /** Creates a copy of another PropertySet. | ||||
| */ | */ | ||||
| PropertySet (const PropertySet& other) throw(); | |||||
| PropertySet (const PropertySet& other); | |||||
| /** Copies another PropertySet over this one. | /** Copies another PropertySet over this one. | ||||
| */ | */ | ||||
| PropertySet& operator= (const PropertySet& other) throw(); | |||||
| PropertySet& operator= (const PropertySet& other); | |||||
| /** Destructor. */ | /** Destructor. */ | ||||
| virtual ~PropertySet(); | virtual ~PropertySet(); | ||||
| @@ -10185,7 +10185,7 @@ public: | |||||
| @see restoreFromXml | @see restoreFromXml | ||||
| */ | */ | ||||
| XmlElement* createXml (const String& nodeName) const throw(); | |||||
| XmlElement* createXml (const String& nodeName) const; | |||||
| /** Reloads a set of properties that were previously stored as XML. | /** Reloads a set of properties that were previously stored as XML. | ||||
| @@ -10193,7 +10193,7 @@ public: | |||||
| @see createXml | @see createXml | ||||
| */ | */ | ||||
| void restoreFromXml (const XmlElement& xml) throw(); | |||||
| void restoreFromXml (const XmlElement& xml); | |||||
| /** Sets up a second PopertySet that will be used to look up any values that aren't | /** Sets up a second PopertySet that will be used to look up any values that aren't | ||||
| set in this one. | set in this one. | ||||
| @@ -12108,7 +12108,7 @@ public: | |||||
| It's thread-safe to call this method from any number of threads without | It's thread-safe to call this method from any number of threads without | ||||
| needing to worry about locking. | needing to worry about locking. | ||||
| */ | */ | ||||
| void triggerAsyncUpdate() throw(); | |||||
| void triggerAsyncUpdate(); | |||||
| /** This will stop any pending updates from happening. | /** This will stop any pending updates from happening. | ||||
| @@ -12138,7 +12138,7 @@ private: | |||||
| class AsyncUpdaterInternal : public MessageListener | class AsyncUpdaterInternal : public MessageListener | ||||
| { | { | ||||
| public: | public: | ||||
| AsyncUpdaterInternal() throw() {} | |||||
| AsyncUpdaterInternal() {} | |||||
| ~AsyncUpdaterInternal() {} | ~AsyncUpdaterInternal() {} | ||||
| void handleMessage (const Message&); | void handleMessage (const Message&); | ||||
| @@ -12847,25 +12847,25 @@ class JUCE_API ChangeListenerList : public MessageListener | |||||
| public: | public: | ||||
| /** Creates an empty list. */ | /** Creates an empty list. */ | ||||
| ChangeListenerList() throw(); | |||||
| ChangeListenerList(); | |||||
| /** Destructor. */ | /** Destructor. */ | ||||
| ~ChangeListenerList() throw(); | |||||
| ~ChangeListenerList(); | |||||
| /** Adds a listener to the list. | /** Adds a listener to the list. | ||||
| (Trying to add a listener that's already on the list will have no effect). | (Trying to add a listener that's already on the list will have no effect). | ||||
| */ | */ | ||||
| void addChangeListener (ChangeListener* listener) throw(); | |||||
| void addChangeListener (ChangeListener* listener); | |||||
| /** Removes a listener from the list. | /** Removes a listener from the list. | ||||
| If the listener isn't on the list, this won't have any effect. | If the listener isn't on the list, this won't have any effect. | ||||
| */ | */ | ||||
| void removeChangeListener (ChangeListener* listener) throw(); | |||||
| void removeChangeListener (ChangeListener* listener); | |||||
| /** Removes all listeners from the list. */ | /** Removes all listeners from the list. */ | ||||
| void removeAllChangeListeners() throw(); | |||||
| void removeAllChangeListeners(); | |||||
| /** Posts an asynchronous change message to all the listeners. | /** Posts an asynchronous change message to all the listeners. | ||||
| @@ -12884,7 +12884,7 @@ public: | |||||
| and can be any value the application needs | and can be any value the application needs | ||||
| @see sendSynchronousChangeMessage | @see sendSynchronousChangeMessage | ||||
| */ | */ | ||||
| void sendChangeMessage (void* objectThatHasChanged) throw(); | |||||
| void sendChangeMessage (void* objectThatHasChanged); | |||||
| /** This will synchronously callback all the ChangeListeners. | /** This will synchronously callback all the ChangeListeners. | ||||
| @@ -12937,16 +12937,16 @@ public: | |||||
| (Trying to add a listener that's already on the list will have no effect). | (Trying to add a listener that's already on the list will have no effect). | ||||
| */ | */ | ||||
| void addChangeListener (ChangeListener* listener) throw(); | |||||
| void addChangeListener (ChangeListener* listener); | |||||
| /** Removes a listener from the list. | /** Removes a listener from the list. | ||||
| If the listener isn't on the list, this won't have any effect. | If the listener isn't on the list, this won't have any effect. | ||||
| */ | */ | ||||
| void removeChangeListener (ChangeListener* listener) throw(); | |||||
| void removeChangeListener (ChangeListener* listener); | |||||
| /** Removes all listeners from the list. */ | /** Removes all listeners from the list. */ | ||||
| void removeAllChangeListeners() throw(); | |||||
| void removeAllChangeListeners(); | |||||
| /** Broadcasts a change message to all the registered listeners. | /** Broadcasts a change message to all the registered listeners. | ||||
| @@ -12956,7 +12956,7 @@ public: | |||||
| @see ChangeListenerList::sendActionMessage | @see ChangeListenerList::sendActionMessage | ||||
| */ | */ | ||||
| void sendChangeMessage (void* objectThatHasChanged) throw(); | |||||
| void sendChangeMessage (void* objectThatHasChanged); | |||||
| /** Sends a synchronous change message to all the registered listeners. | /** Sends a synchronous change message to all the registered listeners. | ||||
| @@ -39860,14 +39860,14 @@ public: | |||||
| /** Looks for a type in the list which comes from this file. | /** Looks for a type in the list which comes from this file. | ||||
| */ | */ | ||||
| PluginDescription* getTypeForFile (const String& fileOrIdentifier) const throw(); | |||||
| PluginDescription* getTypeForFile (const String& fileOrIdentifier) const; | |||||
| /** Looks for a type in the list which matches a plugin type ID. | /** Looks for a type in the list which matches a plugin type ID. | ||||
| The identifierString parameter must have been created by | The identifierString parameter must have been created by | ||||
| PluginDescription::createIdentifierString(). | PluginDescription::createIdentifierString(). | ||||
| */ | */ | ||||
| PluginDescription* getTypeForIdentifierString (const String& identifierString) const throw(); | |||||
| PluginDescription* getTypeForIdentifierString (const String& identifierString) const; | |||||
| /** Adds a type manually from its description. */ | /** Adds a type manually from its description. */ | ||||
| bool addType (const PluginDescription& type); | bool addType (const PluginDescription& type); | ||||
| @@ -39895,7 +39895,7 @@ public: | |||||
| /** Returns true if the specified file is already known about and if it | /** Returns true if the specified file is already known about and if it | ||||
| hasn't been modified since our entry was created. | hasn't been modified since our entry was created. | ||||
| */ | */ | ||||
| bool isListingUpToDate (const String& possiblePluginFileOrIdentifier) const throw(); | |||||
| bool isListingUpToDate (const String& possiblePluginFileOrIdentifier) const; | |||||
| /** Scans and adds a bunch of files that might have been dragged-and-dropped. | /** Scans and adds a bunch of files that might have been dragged-and-dropped. | ||||
| @@ -42093,25 +42093,25 @@ class JUCE_API ActionListenerList : public MessageListener | |||||
| public: | public: | ||||
| /** Creates an empty list. */ | /** Creates an empty list. */ | ||||
| ActionListenerList() throw(); | |||||
| ActionListenerList(); | |||||
| /** Destructor. */ | /** Destructor. */ | ||||
| ~ActionListenerList() throw(); | |||||
| ~ActionListenerList(); | |||||
| /** Adds a listener to the list. | /** Adds a listener to the list. | ||||
| (Trying to add a listener that's already on the list will have no effect). | (Trying to add a listener that's already on the list will have no effect). | ||||
| */ | */ | ||||
| void addActionListener (ActionListener* listener) throw(); | |||||
| void addActionListener (ActionListener* listener); | |||||
| /** Removes a listener from the list. | /** Removes a listener from the list. | ||||
| If the listener isn't on the list, this won't have any effect. | If the listener isn't on the list, this won't have any effect. | ||||
| */ | */ | ||||
| void removeActionListener (ActionListener* listener) throw(); | |||||
| void removeActionListener (ActionListener* listener); | |||||
| /** Removes all listeners from the list. */ | /** Removes all listeners from the list. */ | ||||
| void removeAllActionListeners() throw(); | |||||
| void removeAllActionListeners(); | |||||
| /** Broadcasts a message to all the registered listeners. | /** Broadcasts a message to all the registered listeners. | ||||
| @@ -42642,7 +42642,7 @@ public: | |||||
| method of the broadcast listeners in the other app. | method of the broadcast listeners in the other app. | ||||
| @see registerBroadcastListener, ActionListener | @see registerBroadcastListener, ActionListener | ||||
| */ | */ | ||||
| static void broadcastMessage (const String& messageText) throw(); | |||||
| static void broadcastMessage (const String& messageText); | |||||
| /** Registers a listener to get told about broadcast messages. | /** Registers a listener to get told about broadcast messages. | ||||
| @@ -49,7 +49,7 @@ void KnownPluginList::clear() | |||||
| } | } | ||||
| } | } | ||||
| PluginDescription* KnownPluginList::getTypeForFile (const String& fileOrIdentifier) const throw() | |||||
| PluginDescription* KnownPluginList::getTypeForFile (const String& fileOrIdentifier) const | |||||
| { | { | ||||
| for (int i = 0; i < types.size(); ++i) | for (int i = 0; i < types.size(); ++i) | ||||
| if (types.getUnchecked(i)->fileOrIdentifier == fileOrIdentifier) | if (types.getUnchecked(i)->fileOrIdentifier == fileOrIdentifier) | ||||
| @@ -58,7 +58,7 @@ PluginDescription* KnownPluginList::getTypeForFile (const String& fileOrIdentifi | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| PluginDescription* KnownPluginList::getTypeForIdentifierString (const String& identifierString) const throw() | |||||
| PluginDescription* KnownPluginList::getTypeForIdentifierString (const String& identifierString) const | |||||
| { | { | ||||
| for (int i = 0; i < types.size(); ++i) | for (int i = 0; i < types.size(); ++i) | ||||
| if (types.getUnchecked(i)->createIdentifierString() == identifierString) | if (types.getUnchecked(i)->createIdentifierString() == identifierString) | ||||
| @@ -93,7 +93,7 @@ void KnownPluginList::removeType (const int index) | |||||
| sendChangeMessage (this); | sendChangeMessage (this); | ||||
| } | } | ||||
| static Time getFileModTime (const String& fileOrIdentifier) throw() | |||||
| static const Time getPluginFileModTime (const String& fileOrIdentifier) | |||||
| { | { | ||||
| if (fileOrIdentifier.startsWithChar ('/') || fileOrIdentifier[1] == ':') | if (fileOrIdentifier.startsWithChar ('/') || fileOrIdentifier[1] == ':') | ||||
| return File (fileOrIdentifier).getLastModificationTime(); | return File (fileOrIdentifier).getLastModificationTime(); | ||||
| @@ -106,7 +106,7 @@ static bool timesAreDifferent (const Time& t1, const Time& t2) throw() | |||||
| return t1 != t2 || t1 == Time (0); | return t1 != t2 || t1 == Time (0); | ||||
| } | } | ||||
| bool KnownPluginList::isListingUpToDate (const String& fileOrIdentifier) const throw() | |||||
| bool KnownPluginList::isListingUpToDate (const String& fileOrIdentifier) const | |||||
| { | { | ||||
| if (getTypeForFile (fileOrIdentifier) == 0) | if (getTypeForFile (fileOrIdentifier) == 0) | ||||
| return false; | return false; | ||||
| @@ -116,7 +116,7 @@ bool KnownPluginList::isListingUpToDate (const String& fileOrIdentifier) const t | |||||
| const PluginDescription* const d = types.getUnchecked(i); | const PluginDescription* const d = types.getUnchecked(i); | ||||
| if (d->fileOrIdentifier == fileOrIdentifier | if (d->fileOrIdentifier == fileOrIdentifier | ||||
| && timesAreDifferent (d->lastFileModTime, getFileModTime (fileOrIdentifier))) | |||||
| && timesAreDifferent (d->lastFileModTime, getPluginFileModTime (fileOrIdentifier))) | |||||
| { | { | ||||
| return false; | return false; | ||||
| } | } | ||||
| @@ -143,7 +143,7 @@ bool KnownPluginList::scanAndAddFile (const String& fileOrIdentifier, | |||||
| if (d->fileOrIdentifier == fileOrIdentifier) | if (d->fileOrIdentifier == fileOrIdentifier) | ||||
| { | { | ||||
| if (timesAreDifferent (d->lastFileModTime, getFileModTime (fileOrIdentifier))) | |||||
| if (timesAreDifferent (d->lastFileModTime, getPluginFileModTime (fileOrIdentifier))) | |||||
| needsRescanning = true; | needsRescanning = true; | ||||
| else | else | ||||
| typesFound.add (new PluginDescription (*d)); | typesFound.add (new PluginDescription (*d)); | ||||
| @@ -217,7 +217,7 @@ public: | |||||
| PluginSorter() throw() {} | PluginSorter() throw() {} | ||||
| int compareElements (const PluginDescription* const first, | int compareElements (const PluginDescription* const first, | ||||
| const PluginDescription* const second) const throw() | |||||
| const PluginDescription* const second) const | |||||
| { | { | ||||
| int diff = 0; | int diff = 0; | ||||
| @@ -68,14 +68,14 @@ public: | |||||
| /** Looks for a type in the list which comes from this file. | /** Looks for a type in the list which comes from this file. | ||||
| */ | */ | ||||
| PluginDescription* getTypeForFile (const String& fileOrIdentifier) const throw(); | |||||
| PluginDescription* getTypeForFile (const String& fileOrIdentifier) const; | |||||
| /** Looks for a type in the list which matches a plugin type ID. | /** Looks for a type in the list which matches a plugin type ID. | ||||
| The identifierString parameter must have been created by | The identifierString parameter must have been created by | ||||
| PluginDescription::createIdentifierString(). | PluginDescription::createIdentifierString(). | ||||
| */ | */ | ||||
| PluginDescription* getTypeForIdentifierString (const String& identifierString) const throw(); | |||||
| PluginDescription* getTypeForIdentifierString (const String& identifierString) const; | |||||
| /** Adds a type manually from its description. */ | /** Adds a type manually from its description. */ | ||||
| bool addType (const PluginDescription& type); | bool addType (const PluginDescription& type); | ||||
| @@ -103,7 +103,7 @@ public: | |||||
| /** Returns true if the specified file is already known about and if it | /** Returns true if the specified file is already known about and if it | ||||
| hasn't been modified since our entry was created. | hasn't been modified since our entry was created. | ||||
| */ | */ | ||||
| bool isListingUpToDate (const String& possiblePluginFileOrIdentifier) const throw(); | |||||
| bool isListingUpToDate (const String& possiblePluginFileOrIdentifier) const; | |||||
| /** Scans and adds a bunch of files that might have been dragged-and-dropped. | /** Scans and adds a bunch of files that might have been dragged-and-dropped. | ||||
| @@ -33,21 +33,21 @@ BEGIN_JUCE_NAMESPACE | |||||
| //============================================================================== | //============================================================================== | ||||
| PropertySet::PropertySet (const bool ignoreCaseOfKeyNames) throw() | |||||
| PropertySet::PropertySet (const bool ignoreCaseOfKeyNames) | |||||
| : properties (ignoreCaseOfKeyNames), | : properties (ignoreCaseOfKeyNames), | ||||
| fallbackProperties (0), | fallbackProperties (0), | ||||
| ignoreCaseOfKeys (ignoreCaseOfKeyNames) | ignoreCaseOfKeys (ignoreCaseOfKeyNames) | ||||
| { | { | ||||
| } | } | ||||
| PropertySet::PropertySet (const PropertySet& other) throw() | |||||
| PropertySet::PropertySet (const PropertySet& other) | |||||
| : properties (other.properties), | : properties (other.properties), | ||||
| fallbackProperties (other.fallbackProperties), | fallbackProperties (other.fallbackProperties), | ||||
| ignoreCaseOfKeys (other.ignoreCaseOfKeys) | ignoreCaseOfKeys (other.ignoreCaseOfKeys) | ||||
| { | { | ||||
| } | } | ||||
| PropertySet& PropertySet::operator= (const PropertySet& other) throw() | |||||
| PropertySet& PropertySet::operator= (const PropertySet& other) | |||||
| { | { | ||||
| properties = other.properties; | properties = other.properties; | ||||
| fallbackProperties = other.fallbackProperties; | fallbackProperties = other.fallbackProperties; | ||||
| @@ -184,7 +184,7 @@ void PropertySet::setFallbackPropertySet (PropertySet* fallbackProperties_) thro | |||||
| fallbackProperties = fallbackProperties_; | fallbackProperties = fallbackProperties_; | ||||
| } | } | ||||
| XmlElement* PropertySet::createXml (const String& nodeName) const throw() | |||||
| XmlElement* PropertySet::createXml (const String& nodeName) const | |||||
| { | { | ||||
| const ScopedLock sl (lock); | const ScopedLock sl (lock); | ||||
| XmlElement* const xml = new XmlElement (nodeName); | XmlElement* const xml = new XmlElement (nodeName); | ||||
| @@ -199,7 +199,7 @@ XmlElement* PropertySet::createXml (const String& nodeName) const throw() | |||||
| return xml; | return xml; | ||||
| } | } | ||||
| void PropertySet::restoreFromXml (const XmlElement& xml) throw() | |||||
| void PropertySet::restoreFromXml (const XmlElement& xml) | |||||
| { | { | ||||
| const ScopedLock sl (lock); | const ScopedLock sl (lock); | ||||
| clear(); | clear(); | ||||
| @@ -50,15 +50,15 @@ public: | |||||
| @param ignoreCaseOfKeyNames if true, the names of properties are compared in a | @param ignoreCaseOfKeyNames if true, the names of properties are compared in a | ||||
| case-insensitive way | case-insensitive way | ||||
| */ | */ | ||||
| PropertySet (bool ignoreCaseOfKeyNames = false) throw(); | |||||
| PropertySet (bool ignoreCaseOfKeyNames = false); | |||||
| /** Creates a copy of another PropertySet. | /** Creates a copy of another PropertySet. | ||||
| */ | */ | ||||
| PropertySet (const PropertySet& other) throw(); | |||||
| PropertySet (const PropertySet& other); | |||||
| /** Copies another PropertySet over this one. | /** Copies another PropertySet over this one. | ||||
| */ | */ | ||||
| PropertySet& operator= (const PropertySet& other) throw(); | |||||
| PropertySet& operator= (const PropertySet& other); | |||||
| /** Destructor. */ | /** Destructor. */ | ||||
| virtual ~PropertySet(); | virtual ~PropertySet(); | ||||
| @@ -172,7 +172,7 @@ public: | |||||
| @see restoreFromXml | @see restoreFromXml | ||||
| */ | */ | ||||
| XmlElement* createXml (const String& nodeName) const throw(); | |||||
| XmlElement* createXml (const String& nodeName) const; | |||||
| /** Reloads a set of properties that were previously stored as XML. | /** Reloads a set of properties that were previously stored as XML. | ||||
| @@ -180,7 +180,7 @@ public: | |||||
| @see createXml | @see createXml | ||||
| */ | */ | ||||
| void restoreFromXml (const XmlElement& xml) throw(); | |||||
| void restoreFromXml (const XmlElement& xml); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Sets up a second PopertySet that will be used to look up any values that aren't | /** Sets up a second PopertySet that will be used to look up any values that aren't | ||||
| @@ -80,7 +80,7 @@ const RelativeTime RelativeTime::weeks (const double numberOfWeeks) throw() | |||||
| //============================================================================== | //============================================================================== | ||||
| int64 RelativeTime::inMilliseconds() const throw() | int64 RelativeTime::inMilliseconds() const throw() | ||||
| { | { | ||||
| return (int64)(seconds * 1000.0); | |||||
| return (int64) (seconds * 1000.0); | |||||
| } | } | ||||
| double RelativeTime::inMinutes() const throw() | double RelativeTime::inMinutes() const throw() | ||||
| @@ -103,7 +103,7 @@ double RelativeTime::inWeeks() const throw() | |||||
| return seconds / (60.0 * 60.0 * 24.0 * 7.0); | return seconds / (60.0 * 60.0 * 24.0 * 7.0); | ||||
| } | } | ||||
| const String RelativeTime::getDescription (const String& returnValueForZeroTime) const throw() | |||||
| const String RelativeTime::getDescription (const String& returnValueForZeroTime) const | |||||
| { | { | ||||
| if (seconds < 0.001 && seconds > -0.001) | if (seconds < 0.001 && seconds > -0.001) | ||||
| return returnValueForZeroTime; | return returnValueForZeroTime; | ||||
| @@ -146,7 +146,7 @@ public: | |||||
| @see inMilliseconds, inSeconds, inMinutes, inHours, inDays, inWeeks | @see inMilliseconds, inSeconds, inMinutes, inHours, inDays, inWeeks | ||||
| */ | */ | ||||
| const String getDescription (const String& returnValueForZeroTime = "0") const throw(); | |||||
| const String getDescription (const String& returnValueForZeroTime = "0") const; | |||||
| //============================================================================== | //============================================================================== | ||||
| @@ -340,7 +340,7 @@ const String Time::toString (const bool includeDate, | |||||
| return result.trimEnd(); | return result.trimEnd(); | ||||
| } | } | ||||
| const String Time::formatted (const String& format) const throw() | |||||
| const String Time::formatted (const String& format) const | |||||
| { | { | ||||
| String buffer; | String buffer; | ||||
| int bufferSize = 128; | int bufferSize = 128; | ||||
| @@ -464,17 +464,17 @@ const String Time::getTimeZone() const throw() | |||||
| return zone[0].substring (0, 3); | return zone[0].substring (0, 3); | ||||
| } | } | ||||
| const String Time::getMonthName (const bool threeLetterVersion) const throw() | |||||
| const String Time::getMonthName (const bool threeLetterVersion) const | |||||
| { | { | ||||
| return getMonthName (getMonth(), threeLetterVersion); | return getMonthName (getMonth(), threeLetterVersion); | ||||
| } | } | ||||
| const String Time::getWeekdayName (const bool threeLetterVersion) const throw() | |||||
| const String Time::getWeekdayName (const bool threeLetterVersion) const | |||||
| { | { | ||||
| return getWeekdayName (getDayOfWeek(), threeLetterVersion); | return getWeekdayName (getDayOfWeek(), threeLetterVersion); | ||||
| } | } | ||||
| const String Time::getMonthName (int monthNumber, const bool threeLetterVersion) throw() | |||||
| const String Time::getMonthName (int monthNumber, const bool threeLetterVersion) | |||||
| { | { | ||||
| const char* const shortMonthNames[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; | const char* const shortMonthNames[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; | ||||
| const char* const longMonthNames[] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; | const char* const longMonthNames[] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; | ||||
| @@ -485,7 +485,7 @@ const String Time::getMonthName (int monthNumber, const bool threeLetterVersion) | |||||
| : longMonthNames [monthNumber]); | : longMonthNames [monthNumber]); | ||||
| } | } | ||||
| const String Time::getWeekdayName (int day, const bool threeLetterVersion) throw() | |||||
| const String Time::getWeekdayName (int day, const bool threeLetterVersion) | |||||
| { | { | ||||
| const char* const shortDayNames[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; | const char* const shortDayNames[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; | ||||
| const char* const longDayNames[] = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }; | const char* const longDayNames[] = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }; | ||||
| @@ -129,7 +129,7 @@ public: | |||||
| it'll return the long form, e.g. "January" | it'll return the long form, e.g. "January" | ||||
| @see getMonth | @see getMonth | ||||
| */ | */ | ||||
| const String getMonthName (bool threeLetterVersion) const throw(); | |||||
| const String getMonthName (bool threeLetterVersion) const; | |||||
| /** Returns the day of the month. | /** Returns the day of the month. | ||||
| @@ -148,7 +148,7 @@ public: | |||||
| @param threeLetterVersion if true, it'll return a 3-letter abbreviation, e.g. "Tue"; if | @param threeLetterVersion if true, it'll return a 3-letter abbreviation, e.g. "Tue"; if | ||||
| false, it'll return the full version, e.g. "Tuesday". | false, it'll return the full version, e.g. "Tuesday". | ||||
| */ | */ | ||||
| const String getWeekdayName (bool threeLetterVersion) const throw(); | |||||
| const String getWeekdayName (bool threeLetterVersion) const; | |||||
| /** Returns the number of hours since midnight. | /** Returns the number of hours since midnight. | ||||
| @@ -245,7 +245,7 @@ public: | |||||
| @see toString | @see toString | ||||
| */ | */ | ||||
| const String formatted (const String& format) const throw(); | |||||
| const String formatted (const String& format) const; | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Adds a RelativeTime to this time and returns the result. */ | /** Adds a RelativeTime to this time and returns the result. */ | ||||
| @@ -291,7 +291,7 @@ public: | |||||
| false, it'll return the full version, e.g. "Tuesday". | false, it'll return the full version, e.g. "Tuesday". | ||||
| */ | */ | ||||
| static const String getWeekdayName (int dayNumber, | static const String getWeekdayName (int dayNumber, | ||||
| bool threeLetterVersion) throw(); | |||||
| bool threeLetterVersion); | |||||
| /** Returns the name of one of the months. | /** Returns the name of one of the months. | ||||
| @@ -300,7 +300,7 @@ public: | |||||
| it'll return the long form, e.g. "January" | it'll return the long form, e.g. "January" | ||||
| */ | */ | ||||
| static const String getMonthName (int monthNumber, | static const String getMonthName (int monthNumber, | ||||
| bool threeLetterVersion) throw(); | |||||
| bool threeLetterVersion); | |||||
| //============================================================================== | //============================================================================== | ||||
| // Static methods for getting system timers directly.. | // Static methods for getting system timers directly.. | ||||
| @@ -38,8 +38,7 @@ class ActionMessage : public Message | |||||
| public: | public: | ||||
| const String message; | const String message; | ||||
| ActionMessage (const String& messageText, | |||||
| void* const listener_) throw() | |||||
| ActionMessage (const String& messageText, void* const listener_) throw() | |||||
| : message (messageText) | : message (messageText) | ||||
| { | { | ||||
| pointerParameter = listener_; | pointerParameter = listener_; | ||||
| @@ -56,15 +55,15 @@ private: | |||||
| }; | }; | ||||
| //============================================================================== | //============================================================================== | ||||
| ActionListenerList::ActionListenerList() throw() | |||||
| ActionListenerList::ActionListenerList() | |||||
| { | { | ||||
| } | } | ||||
| ActionListenerList::~ActionListenerList() throw() | |||||
| ActionListenerList::~ActionListenerList() | |||||
| { | { | ||||
| } | } | ||||
| void ActionListenerList::addActionListener (ActionListener* const listener) throw() | |||||
| void ActionListenerList::addActionListener (ActionListener* const listener) | |||||
| { | { | ||||
| const ScopedLock sl (actionListenerLock_); | const ScopedLock sl (actionListenerLock_); | ||||
| @@ -75,7 +74,7 @@ void ActionListenerList::addActionListener (ActionListener* const listener) thro | |||||
| actionListeners_.add (listener); | actionListeners_.add (listener); | ||||
| } | } | ||||
| void ActionListenerList::removeActionListener (ActionListener* const listener) throw() | |||||
| void ActionListenerList::removeActionListener (ActionListener* const listener) | |||||
| { | { | ||||
| const ScopedLock sl (actionListenerLock_); | const ScopedLock sl (actionListenerLock_); | ||||
| @@ -84,7 +83,7 @@ void ActionListenerList::removeActionListener (ActionListener* const listener) | |||||
| actionListeners_.removeValue (listener); | actionListeners_.removeValue (listener); | ||||
| } | } | ||||
| void ActionListenerList::removeAllActionListeners() throw() | |||||
| void ActionListenerList::removeAllActionListeners() | |||||
| { | { | ||||
| const ScopedLock sl (actionListenerLock_); | const ScopedLock sl (actionListenerLock_); | ||||
| actionListeners_.clear(); | actionListeners_.clear(); | ||||
| @@ -46,26 +46,26 @@ class JUCE_API ActionListenerList : public MessageListener | |||||
| public: | public: | ||||
| //============================================================================== | //============================================================================== | ||||
| /** Creates an empty list. */ | /** Creates an empty list. */ | ||||
| ActionListenerList() throw(); | |||||
| ActionListenerList(); | |||||
| /** Destructor. */ | /** Destructor. */ | ||||
| ~ActionListenerList() throw(); | |||||
| ~ActionListenerList(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Adds a listener to the list. | /** Adds a listener to the list. | ||||
| (Trying to add a listener that's already on the list will have no effect). | (Trying to add a listener that's already on the list will have no effect). | ||||
| */ | */ | ||||
| void addActionListener (ActionListener* listener) throw(); | |||||
| void addActionListener (ActionListener* listener); | |||||
| /** Removes a listener from the list. | /** Removes a listener from the list. | ||||
| If the listener isn't on the list, this won't have any effect. | If the listener isn't on the list, this won't have any effect. | ||||
| */ | */ | ||||
| void removeActionListener (ActionListener* listener) throw(); | |||||
| void removeActionListener (ActionListener* listener); | |||||
| /** Removes all listeners from the list. */ | /** Removes all listeners from the list. */ | ||||
| void removeAllActionListeners() throw(); | |||||
| void removeAllActionListeners(); | |||||
| /** Broadcasts a message to all the registered listeners. | /** Broadcasts a message to all the registered listeners. | ||||
| @@ -41,7 +41,7 @@ AsyncUpdater::~AsyncUpdater() | |||||
| { | { | ||||
| } | } | ||||
| void AsyncUpdater::triggerAsyncUpdate() throw() | |||||
| void AsyncUpdater::triggerAsyncUpdate() | |||||
| { | { | ||||
| if (! asyncMessagePending) | if (! asyncMessagePending) | ||||
| { | { | ||||
| @@ -64,7 +64,7 @@ public: | |||||
| It's thread-safe to call this method from any number of threads without | It's thread-safe to call this method from any number of threads without | ||||
| needing to worry about locking. | needing to worry about locking. | ||||
| */ | */ | ||||
| void triggerAsyncUpdate() throw(); | |||||
| void triggerAsyncUpdate(); | |||||
| /** This will stop any pending updates from happening. | /** This will stop any pending updates from happening. | ||||
| @@ -96,7 +96,7 @@ private: | |||||
| class AsyncUpdaterInternal : public MessageListener | class AsyncUpdaterInternal : public MessageListener | ||||
| { | { | ||||
| public: | public: | ||||
| AsyncUpdaterInternal() throw() {} | |||||
| AsyncUpdaterInternal() {} | |||||
| ~AsyncUpdaterInternal() {} | ~AsyncUpdaterInternal() {} | ||||
| void handleMessage (const Message&); | void handleMessage (const Message&); | ||||
| @@ -44,12 +44,12 @@ ChangeBroadcaster::~ChangeBroadcaster() | |||||
| jassert (MessageManager::instance != 0); | jassert (MessageManager::instance != 0); | ||||
| } | } | ||||
| void ChangeBroadcaster::addChangeListener (ChangeListener* const listener) throw() | |||||
| void ChangeBroadcaster::addChangeListener (ChangeListener* const listener) | |||||
| { | { | ||||
| changeListenerList.addChangeListener (listener); | changeListenerList.addChangeListener (listener); | ||||
| } | } | ||||
| void ChangeBroadcaster::removeChangeListener (ChangeListener* const listener) throw() | |||||
| void ChangeBroadcaster::removeChangeListener (ChangeListener* const listener) | |||||
| { | { | ||||
| jassert (changeListenerList.isValidMessageListener()); | jassert (changeListenerList.isValidMessageListener()); | ||||
| @@ -57,12 +57,12 @@ void ChangeBroadcaster::removeChangeListener (ChangeListener* const listener) th | |||||
| changeListenerList.removeChangeListener (listener); | changeListenerList.removeChangeListener (listener); | ||||
| } | } | ||||
| void ChangeBroadcaster::removeAllChangeListeners() throw() | |||||
| void ChangeBroadcaster::removeAllChangeListeners() | |||||
| { | { | ||||
| changeListenerList.removeAllChangeListeners(); | changeListenerList.removeAllChangeListeners(); | ||||
| } | } | ||||
| void ChangeBroadcaster::sendChangeMessage (void* objectThatHasChanged) throw() | |||||
| void ChangeBroadcaster::sendChangeMessage (void* objectThatHasChanged) | |||||
| { | { | ||||
| changeListenerList.sendChangeMessage (objectThatHasChanged); | changeListenerList.sendChangeMessage (objectThatHasChanged); | ||||
| } | } | ||||
| @@ -52,16 +52,16 @@ public: | |||||
| (Trying to add a listener that's already on the list will have no effect). | (Trying to add a listener that's already on the list will have no effect). | ||||
| */ | */ | ||||
| void addChangeListener (ChangeListener* listener) throw(); | |||||
| void addChangeListener (ChangeListener* listener); | |||||
| /** Removes a listener from the list. | /** Removes a listener from the list. | ||||
| If the listener isn't on the list, this won't have any effect. | If the listener isn't on the list, this won't have any effect. | ||||
| */ | */ | ||||
| void removeChangeListener (ChangeListener* listener) throw(); | |||||
| void removeChangeListener (ChangeListener* listener); | |||||
| /** Removes all listeners from the list. */ | /** Removes all listeners from the list. */ | ||||
| void removeAllChangeListeners() throw(); | |||||
| void removeAllChangeListeners(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Broadcasts a change message to all the registered listeners. | /** Broadcasts a change message to all the registered listeners. | ||||
| @@ -72,7 +72,7 @@ public: | |||||
| @see ChangeListenerList::sendActionMessage | @see ChangeListenerList::sendActionMessage | ||||
| */ | */ | ||||
| void sendChangeMessage (void* objectThatHasChanged) throw(); | |||||
| void sendChangeMessage (void* objectThatHasChanged); | |||||
| /** Sends a synchronous change message to all the registered listeners. | /** Sends a synchronous change message to all the registered listeners. | ||||
| @@ -31,17 +31,17 @@ BEGIN_JUCE_NAMESPACE | |||||
| //============================================================================== | //============================================================================== | ||||
| ChangeListenerList::ChangeListenerList() throw() | |||||
| ChangeListenerList::ChangeListenerList() | |||||
| : lastChangedObject (0), | : lastChangedObject (0), | ||||
| messagePending (false) | messagePending (false) | ||||
| { | { | ||||
| } | } | ||||
| ChangeListenerList::~ChangeListenerList() throw() | |||||
| ChangeListenerList::~ChangeListenerList() | |||||
| { | { | ||||
| } | } | ||||
| void ChangeListenerList::addChangeListener (ChangeListener* const listener) throw() | |||||
| void ChangeListenerList::addChangeListener (ChangeListener* const listener) | |||||
| { | { | ||||
| const ScopedLock sl (lock); | const ScopedLock sl (lock); | ||||
| @@ -51,19 +51,19 @@ void ChangeListenerList::addChangeListener (ChangeListener* const listener) thro | |||||
| listeners.add (listener); | listeners.add (listener); | ||||
| } | } | ||||
| void ChangeListenerList::removeChangeListener (ChangeListener* const listener) throw() | |||||
| void ChangeListenerList::removeChangeListener (ChangeListener* const listener) | |||||
| { | { | ||||
| const ScopedLock sl (lock); | const ScopedLock sl (lock); | ||||
| listeners.removeValue (listener); | listeners.removeValue (listener); | ||||
| } | } | ||||
| void ChangeListenerList::removeAllChangeListeners() throw() | |||||
| void ChangeListenerList::removeAllChangeListeners() | |||||
| { | { | ||||
| const ScopedLock sl (lock); | const ScopedLock sl (lock); | ||||
| listeners.clear(); | listeners.clear(); | ||||
| } | } | ||||
| void ChangeListenerList::sendChangeMessage (void* const objectThatHasChanged) throw() | |||||
| void ChangeListenerList::sendChangeMessage (void* const objectThatHasChanged) | |||||
| { | { | ||||
| const ScopedLock sl (lock); | const ScopedLock sl (lock); | ||||
| @@ -46,26 +46,26 @@ class JUCE_API ChangeListenerList : public MessageListener | |||||
| public: | public: | ||||
| //============================================================================== | //============================================================================== | ||||
| /** Creates an empty list. */ | /** Creates an empty list. */ | ||||
| ChangeListenerList() throw(); | |||||
| ChangeListenerList(); | |||||
| /** Destructor. */ | /** Destructor. */ | ||||
| ~ChangeListenerList() throw(); | |||||
| ~ChangeListenerList(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Adds a listener to the list. | /** Adds a listener to the list. | ||||
| (Trying to add a listener that's already on the list will have no effect). | (Trying to add a listener that's already on the list will have no effect). | ||||
| */ | */ | ||||
| void addChangeListener (ChangeListener* listener) throw(); | |||||
| void addChangeListener (ChangeListener* listener); | |||||
| /** Removes a listener from the list. | /** Removes a listener from the list. | ||||
| If the listener isn't on the list, this won't have any effect. | If the listener isn't on the list, this won't have any effect. | ||||
| */ | */ | ||||
| void removeChangeListener (ChangeListener* listener) throw(); | |||||
| void removeChangeListener (ChangeListener* listener); | |||||
| /** Removes all listeners from the list. */ | /** Removes all listeners from the list. */ | ||||
| void removeAllChangeListeners() throw(); | |||||
| void removeAllChangeListeners(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Posts an asynchronous change message to all the listeners. | /** Posts an asynchronous change message to all the listeners. | ||||
| @@ -85,7 +85,7 @@ public: | |||||
| and can be any value the application needs | and can be any value the application needs | ||||
| @see sendSynchronousChangeMessage | @see sendSynchronousChangeMessage | ||||
| */ | */ | ||||
| void sendChangeMessage (void* objectThatHasChanged) throw(); | |||||
| void sendChangeMessage (void* objectThatHasChanged); | |||||
| /** This will synchronously callback all the ChangeListeners. | /** This will synchronously callback all the ChangeListeners. | ||||
| @@ -140,7 +140,7 @@ public: | |||||
| method of the broadcast listeners in the other app. | method of the broadcast listeners in the other app. | ||||
| @see registerBroadcastListener, ActionListener | @see registerBroadcastListener, ActionListener | ||||
| */ | */ | ||||
| static void broadcastMessage (const String& messageText) throw(); | |||||
| static void broadcastMessage (const String& messageText); | |||||
| /** Registers a listener to get told about broadcast messages. | /** Registers a listener to get told about broadcast messages. | ||||
| @@ -965,6 +965,12 @@ namespace TextEditorDefs | |||||
| const int focusLossMessageId = 0x10003004; | const int focusLossMessageId = 0x10003004; | ||||
| const int maxActionsPerTransaction = 100; | const int maxActionsPerTransaction = 100; | ||||
| static int getCharacterCategory (const juce_wchar character) | |||||
| { | |||||
| return CharacterFunctions::isLetterOrDigit (character) | |||||
| ? 2 : (CharacterFunctions::isWhitespace (character) ? 0 : 1); | |||||
| } | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| @@ -2559,12 +2565,6 @@ int TextEditor::indexAtPosition (const float x, const float y) | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| static int getCharacterCategory (const juce_wchar character) | |||||
| { | |||||
| return CharacterFunctions::isLetterOrDigit (character) | |||||
| ? 2 : (CharacterFunctions::isWhitespace (character) ? 0 : 1); | |||||
| } | |||||
| int TextEditor::findWordBreakAfter (const int position) const | int TextEditor::findWordBreakAfter (const int position) const | ||||
| { | { | ||||
| const String t (getTextInRange (Range<int> (position, position + 512))); | const String t (getTextInRange (Range<int> (position, position + 512))); | ||||
| @@ -2574,9 +2574,9 @@ int TextEditor::findWordBreakAfter (const int position) const | |||||
| while (i < totalLength && CharacterFunctions::isWhitespace (t[i])) | while (i < totalLength && CharacterFunctions::isWhitespace (t[i])) | ||||
| ++i; | ++i; | ||||
| const int type = getCharacterCategory (t[i]); | |||||
| const int type = TextEditorDefs::getCharacterCategory (t[i]); | |||||
| while (i < totalLength && type == getCharacterCategory (t[i])) | |||||
| while (i < totalLength && type == TextEditorDefs::getCharacterCategory (t[i])) | |||||
| ++i; | ++i; | ||||
| while (i < totalLength && CharacterFunctions::isWhitespace (t[i])) | while (i < totalLength && CharacterFunctions::isWhitespace (t[i])) | ||||
| @@ -2600,9 +2600,9 @@ int TextEditor::findWordBreakBefore (const int position) const | |||||
| if (i > 0) | if (i > 0) | ||||
| { | { | ||||
| const int type = getCharacterCategory (t [i - 1]); | |||||
| const int type = TextEditorDefs::getCharacterCategory (t [i - 1]); | |||||
| while (i > 0 && type == getCharacterCategory (t [i - 1])) | |||||
| while (i > 0 && type == TextEditorDefs::getCharacterCategory (t [i - 1])) | |||||
| --i; | --i; | ||||
| } | } | ||||
| @@ -104,7 +104,7 @@ static const String getMangledParameters (const StringPairArray& parameters) | |||||
| for (int i = 0; i < parameters.size(); ++i) | for (int i = 0; i < parameters.size(); ++i) | ||||
| { | { | ||||
| if (i > 0) | if (i > 0) | ||||
| p += '&'; | |||||
| p << '&'; | |||||
| p << URL::addEscapeChars (parameters.getAllKeys() [i], true) | p << URL::addEscapeChars (parameters.getAllKeys() [i], true) | ||||
| << '=' | << '=' | ||||
| @@ -36,8 +36,7 @@ BEGIN_JUCE_NAMESPACE | |||||
| //============================================================================== | //============================================================================== | ||||
| #if JUCE_DEBUG | #if JUCE_DEBUG | ||||
| static CriticalSection activeStreamLock; | |||||
| static Array<void*> activeStreams; | |||||
| static Array<void*, CriticalSection> activeStreams; | |||||
| void juce_CheckForDanglingStreams() | void juce_CheckForDanglingStreams() | ||||
| { | { | ||||
| @@ -54,18 +53,16 @@ void juce_CheckForDanglingStreams() | |||||
| //============================================================================== | //============================================================================== | ||||
| OutputStream::OutputStream() | OutputStream::OutputStream() | ||||
| { | { | ||||
| #if JUCE_DEBUG | |||||
| const ScopedLock sl (activeStreamLock); | |||||
| #if JUCE_DEBUG | |||||
| activeStreams.add (this); | activeStreams.add (this); | ||||
| #endif | |||||
| #endif | |||||
| } | } | ||||
| OutputStream::~OutputStream() | OutputStream::~OutputStream() | ||||
| { | { | ||||
| #if JUCE_DEBUG | |||||
| const ScopedLock sl (activeStreamLock); | |||||
| #if JUCE_DEBUG | |||||
| activeStreams.removeValue (this); | activeStreams.removeValue (this); | ||||
| #endif | |||||
| #endif | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| @@ -27,9 +27,6 @@ | |||||
| // compiled on its own). | // compiled on its own). | ||||
| #if JUCE_INCLUDED_FILE && JUCE_ALSA | #if JUCE_INCLUDED_FILE && JUCE_ALSA | ||||
| //============================================================================== | |||||
| static const int maxNumChans = 64; | |||||
| //============================================================================== | //============================================================================== | ||||
| static void getDeviceSampleRates (snd_pcm_t* handle, Array <int>& rates) | static void getDeviceSampleRates (snd_pcm_t* handle, Array <int>& rates) | ||||
| @@ -91,18 +91,12 @@ static void jack_Log (const String& s) | |||||
| static void dumpJackErrorMessage (const jack_status_t status) | static void dumpJackErrorMessage (const jack_status_t status) | ||||
| { | { | ||||
| if (status & JackServerFailed || status & JackServerError) | |||||
| jack_Log ("Unable to connect to JACK server"); | |||||
| if (status & JackVersionError) | |||||
| jack_Log ("Client's protocol version does not match"); | |||||
| if (status & JackInvalidOption) | |||||
| jack_Log ("The operation contained an invalid or unsupported option"); | |||||
| if (status & JackNameNotUnique) | |||||
| jack_Log ("The desired client name was not unique"); | |||||
| if (status & JackNoSuchClient) | |||||
| jack_Log ("Requested client does not exist"); | |||||
| if (status & JackInitFailure) | |||||
| jack_Log ("Unable to initialize client"); | |||||
| if (status & JackServerFailed || status & JackServerError) jack_Log ("Unable to connect to JACK server"); | |||||
| if (status & JackVersionError) jack_Log ("Client's protocol version does not match"); | |||||
| if (status & JackInvalidOption) jack_Log ("The operation contained an invalid or unsupported option"); | |||||
| if (status & JackNameNotUnique) jack_Log ("The desired client name was not unique"); | |||||
| if (status & JackNoSuchClient) jack_Log ("Requested client does not exist"); | |||||
| if (status & JackInitFailure) jack_Log ("Unable to initialize client"); | |||||
| } | } | ||||
| #else | #else | ||||
| #define dumpJackErrorMessage(a) {} | #define dumpJackErrorMessage(a) {} | ||||
| @@ -387,13 +387,12 @@ bool juce_postMessageToSystemQueue (Message* message) | |||||
| return true; | return true; | ||||
| } | } | ||||
| void MessageManager::broadcastMessage (const String& value) throw() | |||||
| void MessageManager::broadcastMessage (const String& value) | |||||
| { | { | ||||
| /* TODO */ | /* TODO */ | ||||
| } | } | ||||
| void* MessageManager::callFunctionOnMessageThread (MessageCallbackFunction* func, | |||||
| void* parameter) | |||||
| void* MessageManager::callFunctionOnMessageThread (MessageCallbackFunction* func, void* parameter) | |||||
| { | { | ||||
| if (LinuxErrorHandling::errorOccurred) | if (LinuxErrorHandling::errorOccurred) | ||||
| return 0; | return 0; | ||||
| @@ -29,9 +29,9 @@ | |||||
| #if JUCE_ALSA | #if JUCE_ALSA | ||||
| //============================================================================== | //============================================================================== | ||||
| static snd_seq_t* iterateDevices (const bool forInput, | |||||
| StringArray& deviceNamesFound, | |||||
| const int deviceIndexToOpen) | |||||
| static snd_seq_t* iterateMidiDevices (const bool forInput, | |||||
| StringArray& deviceNamesFound, | |||||
| const int deviceIndexToOpen) | |||||
| { | { | ||||
| snd_seq_t* returnedHandle = 0; | snd_seq_t* returnedHandle = 0; | ||||
| snd_seq_t* seqHandle; | snd_seq_t* seqHandle; | ||||
| @@ -118,8 +118,8 @@ static snd_seq_t* iterateDevices (const bool forInput, | |||||
| return returnedHandle; | return returnedHandle; | ||||
| } | } | ||||
| static snd_seq_t* createDevice (const bool forInput, | |||||
| const String& deviceNameToOpen) | |||||
| static snd_seq_t* createMidiDevice (const bool forInput, | |||||
| const String& deviceNameToOpen) | |||||
| { | { | ||||
| snd_seq_t* seqHandle = 0; | snd_seq_t* seqHandle = 0; | ||||
| @@ -208,7 +208,7 @@ private: | |||||
| const StringArray MidiOutput::getDevices() | const StringArray MidiOutput::getDevices() | ||||
| { | { | ||||
| StringArray devices; | StringArray devices; | ||||
| iterateDevices (false, devices, -1); | |||||
| iterateMidiDevices (false, devices, -1); | |||||
| return devices; | return devices; | ||||
| } | } | ||||
| @@ -222,7 +222,7 @@ MidiOutput* MidiOutput::openDevice (int deviceIndex) | |||||
| MidiOutput* newDevice = 0; | MidiOutput* newDevice = 0; | ||||
| StringArray devices; | StringArray devices; | ||||
| snd_seq_t* const handle = iterateDevices (false, devices, deviceIndex); | |||||
| snd_seq_t* const handle = iterateMidiDevices (false, devices, deviceIndex); | |||||
| if (handle != 0) | if (handle != 0) | ||||
| { | { | ||||
| @@ -237,7 +237,7 @@ MidiOutput* MidiOutput::createNewDevice (const String& deviceName) | |||||
| { | { | ||||
| MidiOutput* newDevice = 0; | MidiOutput* newDevice = 0; | ||||
| snd_seq_t* const handle = createDevice (false, deviceName); | |||||
| snd_seq_t* const handle = createMidiDevice (false, deviceName); | |||||
| if (handle != 0) | if (handle != 0) | ||||
| { | { | ||||
| @@ -385,7 +385,7 @@ int MidiInput::getDefaultDeviceIndex() | |||||
| const StringArray MidiInput::getDevices() | const StringArray MidiInput::getDevices() | ||||
| { | { | ||||
| StringArray devices; | StringArray devices; | ||||
| iterateDevices (true, devices, -1); | |||||
| iterateMidiDevices (true, devices, -1); | |||||
| return devices; | return devices; | ||||
| } | } | ||||
| @@ -394,7 +394,7 @@ MidiInput* MidiInput::openDevice (int deviceIndex, MidiInputCallback* callback) | |||||
| MidiInput* newDevice = 0; | MidiInput* newDevice = 0; | ||||
| StringArray devices; | StringArray devices; | ||||
| snd_seq_t* const handle = iterateDevices (true, devices, deviceIndex); | |||||
| snd_seq_t* const handle = iterateMidiDevices (true, devices, deviceIndex); | |||||
| if (handle != 0) | if (handle != 0) | ||||
| { | { | ||||
| @@ -409,7 +409,7 @@ MidiInput* MidiInput::createNewDevice (const String& deviceName, MidiInputCallba | |||||
| { | { | ||||
| MidiInput* newDevice = 0; | MidiInput* newDevice = 0; | ||||
| snd_seq_t* const handle = createDevice (true, deviceName); | |||||
| snd_seq_t* const handle = createMidiDevice (true, deviceName); | |||||
| if (handle != 0) | if (handle != 0) | ||||
| { | { | ||||
| @@ -177,12 +177,11 @@ bool juce_postMessageToSystemQueue (Message* message) | |||||
| return true; | return true; | ||||
| } | } | ||||
| void MessageManager::broadcastMessage (const String& value) throw() | |||||
| void MessageManager::broadcastMessage (const String& value) | |||||
| { | { | ||||
| } | } | ||||
| void* MessageManager::callFunctionOnMessageThread (MessageCallbackFunction* callback, | |||||
| void* data) | |||||
| void* MessageManager::callFunctionOnMessageThread (MessageCallbackFunction* callback, void* data) | |||||
| { | { | ||||
| if (isThisTheMessageThread()) | if (isThisTheMessageThread()) | ||||
| { | { | ||||
| @@ -393,7 +393,9 @@ static bool isEventBlockedByModalComps (NSEvent* e) | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| if (JUCEApplication::isStandaloneApp() | |||||
| NSViewComponentPeer* nsViewPeer = dynamic_cast<NSViewComponentPeer*> (peer); | |||||
| if ((nsViewPeer == 0 || ! nsViewPeer->isSharedWindow) | |||||
| ? NSPointInRect ([e locationInWindow], NSMakeRect (0, 0, [w frame].size.width, [w frame].size.height)) | ? NSPointInRect ([e locationInWindow], NSMakeRect (0, 0, [w frame].size.width, [w frame].size.height)) | ||||
| : NSPointInRect ([compView convertPoint: [e locationInWindow] fromView: nil], [compView bounds])) | : NSPointInRect ([compView convertPoint: [e locationInWindow] fromView: nil], [compView bounds])) | ||||
| return false; | return false; | ||||
| @@ -472,7 +474,7 @@ bool juce_postMessageToSystemQueue (Message* message) | |||||
| return true; | return true; | ||||
| } | } | ||||
| void MessageManager::broadcastMessage (const String& value) throw() | |||||
| void MessageManager::broadcastMessage (const String& value) | |||||
| { | { | ||||
| } | } | ||||
| @@ -30,9 +30,9 @@ | |||||
| #undef WINDOWS | #undef WINDOWS | ||||
| //============================================================================== | //============================================================================== | ||||
| // #define ASIO_DEBUGGING | |||||
| // #define ASIO_DEBUGGING 1 | |||||
| #ifdef ASIO_DEBUGGING | |||||
| #if ASIO_DEBUGGING | |||||
| #define log(a) { Logger::writeToLog (a); DBG (a) } | #define log(a) { Logger::writeToLog (a); DBG (a) } | ||||
| #else | #else | ||||
| #define log(a) {} | #define log(a) {} | ||||
| @@ -40,25 +40,18 @@ | |||||
| //============================================================================== | //============================================================================== | ||||
| #ifdef ASIO_DEBUGGING | |||||
| #if ASIO_DEBUGGING | |||||
| static void logError (const String& context, long error) | static void logError (const String& context, long error) | ||||
| { | { | ||||
| String err ("unknown error"); | String err ("unknown error"); | ||||
| if (error == ASE_NotPresent) | |||||
| err = "Not Present"; | |||||
| else if (error == ASE_HWMalfunction) | |||||
| err = "Hardware Malfunction"; | |||||
| else if (error == ASE_InvalidParameter) | |||||
| err = "Invalid Parameter"; | |||||
| else if (error == ASE_InvalidMode) | |||||
| err = "Invalid Mode"; | |||||
| else if (error == ASE_SPNotAdvancing) | |||||
| err = "Sample position not advancing"; | |||||
| else if (error == ASE_NoClock) | |||||
| err = "No Clock"; | |||||
| else if (error == ASE_NoMemory) | |||||
| err = "Out of memory"; | |||||
| if (error == ASE_NotPresent) err = "Not Present"; | |||||
| else if (error == ASE_HWMalfunction) err = "Hardware Malfunction"; | |||||
| else if (error == ASE_InvalidParameter) err = "Invalid Parameter"; | |||||
| else if (error == ASE_InvalidMode) err = "Invalid Mode"; | |||||
| else if (error == ASE_SPNotAdvancing) err = "Sample position not advancing"; | |||||
| else if (error == ASE_NoClock) err = "No Clock"; | |||||
| else if (error == ASE_NoMemory) err = "Out of memory"; | |||||
| log ("!!error: " + context + " - " + err); | log ("!!error: " + context + " - " + err); | ||||
| } | } | ||||
| @@ -218,7 +218,7 @@ static BOOL CALLBACK BroadcastEnumWindowProc (HWND hwnd, LPARAM lParam) | |||||
| return TRUE; | return TRUE; | ||||
| } | } | ||||
| void MessageManager::broadcastMessage (const String& value) throw() | |||||
| void MessageManager::broadcastMessage (const String& value) | |||||
| { | { | ||||
| Array<void*> windows; | Array<void*> windows; | ||||
| EnumWindows (&BroadcastEnumWindowProc, (LPARAM) &windows); | EnumWindows (&BroadcastEnumWindowProc, (LPARAM) &windows); | ||||