1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Added Logger::getCurrentLogger method.

This commit is contained in:
jules 2012-10-25 21:35:38 +01:00
parent 828d6f8e18
commit fdb31aff5c
6 changed files with 57 additions and 64 deletions

View file

@ -470,13 +470,13 @@ private:
resourceFile.setClassName ("BinaryData");
Array<File> binaryDataFiles;
if (resourceFile.write (binaryDataCpp, binaryDataFiles))
{
for (int i = 0; i < binaryDataFiles.size(); ++i)
{
const File& f = binaryDataFiles.getReference(i);
filesCreated.add (f);
generatedFilesGroup.addFile (f, -1, ! f.hasFileExtension (".h"));
}

View file

@ -124,7 +124,7 @@ static String getComment()
<< newLine
<< "*/" << newLine
<< newLine;
return comment;
}
@ -170,7 +170,7 @@ bool ResourceFile::writeCpp (MemoryOutputStream& cpp, const File& headerFile, in
{
const int maxFileSize = 10 * 1024 * 1024;
const bool isFirstFile = (i == 0);
cpp << "/* ==================================== " << resourceFileIdentifierString << " ===================================="
<< getComment()
<< "namespace " << className << newLine
@ -204,13 +204,13 @@ bool ResourceFile::writeCpp (MemoryOutputStream& cpp, const File& headerFile, in
cpp << newLine << newLine
<< "const char* " << variableName << " = (const char*) " << tempVariable << ";" << newLine;
}
++i;
if (cpp.getPosition() > maxFileSize)
break;
}
if (isFirstFile)
{
if (i < files.size())
@ -223,7 +223,7 @@ bool ResourceFile::writeCpp (MemoryOutputStream& cpp, const File& headerFile, in
<< "namespace " << className << newLine
<< "{";
}
cpp << newLine
<< newLine
<< "const char* getNamedResource (const char*, int&) throw();" << newLine
@ -244,7 +244,7 @@ bool ResourceFile::writeCpp (MemoryOutputStream& cpp, const File& headerFile, in
<< " return 0;" << newLine
<< "}" << newLine;
}
cpp << newLine
<< "}" << newLine;
@ -259,17 +259,17 @@ bool ResourceFile::write (const File& cppFile, Array<File>& filesCreated)
MemoryOutputStream mo;
if (! (writeHeader (mo) && FileHelpers::overwriteFileWithNewDataIfDifferent (headerFile, mo)))
return false;
filesCreated.add (headerFile);
}
int i = 0;
int fileIndex = 0;
for (;;)
{
File cpp (cppFile);
if (fileIndex > 0)
cpp = cpp.getSiblingFile (cppFile.getFileNameWithoutExtension() + String (fileIndex + 1))
.withFileExtension (cppFile.getFileExtension());
@ -277,10 +277,10 @@ bool ResourceFile::write (const File& cppFile, Array<File>& filesCreated)
MemoryOutputStream mo;
if (! (writeCpp (mo, headerFile, i) && FileHelpers::overwriteFileWithNewDataIfDifferent (cpp, mo)))
return false;
filesCreated.add (cpp);
++fileIndex;
if (i >= files.size())
break;
}

View file

@ -990,15 +990,11 @@ public:
if (isStarted)
{
JUCE_TRY
{
callback->audioDeviceIOCallback (const_cast <const float**> (inputBuffers.getArrayOfChannels()),
inputBuffers.getNumChannels(),
outputBuffers.getArrayOfChannels(),
outputBuffers.getNumChannels(),
bufferSizeSamples);
}
JUCE_CATCH_EXCEPTION
callback->audioDeviceIOCallback (const_cast <const float**> (inputBuffers.getArrayOfChannels()),
inputBuffers.getNumChannels(),
outputBuffers.getArrayOfChannels(),
outputBuffers.getNumChannels(),
bufferSizeSamples);
}
else
{

View file

@ -23,8 +23,8 @@
==============================================================================
*/
#ifndef WASAPI_ENABLE_LOGGING
#define WASAPI_ENABLE_LOGGING 0
#ifndef JUCE_WASAPI_LOGGING
#define JUCE_WASAPI_LOGGING 0
#endif
//==============================================================================
@ -37,45 +37,43 @@ void logFailure (HRESULT hr)
jassert (hr != 0x800401f0); // If you hit this, it means you're trying to call from
// a thread which hasn't been initialised with CoInitialize().
#if WASAPI_ENABLE_LOGGING
#if JUCE_WASAPI_LOGGING
if (FAILED (hr))
{
String e;
e << Time::getCurrentTime().toString (true, true, true, true)
<< " -- WASAPI error: ";
const char* m = nullptr;
switch (hr)
{
case E_POINTER: e << "E_POINTER"; break;
case E_INVALIDARG: e << "E_INVALIDARG"; break;
case AUDCLNT_E_NOT_INITIALIZED: e << "AUDCLNT_E_NOT_INITIALIZED"; break;
case AUDCLNT_E_ALREADY_INITIALIZED: e << "AUDCLNT_E_ALREADY_INITIALIZED"; break;
case AUDCLNT_E_WRONG_ENDPOINT_TYPE: e << "AUDCLNT_E_WRONG_ENDPOINT_TYPE"; break;
case AUDCLNT_E_DEVICE_INVALIDATED: e << "AUDCLNT_E_DEVICE_INVALIDATED"; break;
case AUDCLNT_E_NOT_STOPPED: e << "AUDCLNT_E_NOT_STOPPED"; break;
case AUDCLNT_E_BUFFER_TOO_LARGE: e << "AUDCLNT_E_BUFFER_TOO_LARGE"; break;
case AUDCLNT_E_OUT_OF_ORDER: e << "AUDCLNT_E_OUT_OF_ORDER"; break;
case AUDCLNT_E_UNSUPPORTED_FORMAT: e << "AUDCLNT_E_UNSUPPORTED_FORMAT"; break;
case AUDCLNT_E_INVALID_SIZE: e << "AUDCLNT_E_INVALID_SIZE"; break;
case AUDCLNT_E_DEVICE_IN_USE: e << "AUDCLNT_E_DEVICE_IN_USE"; break;
case AUDCLNT_E_BUFFER_OPERATION_PENDING: e << "AUDCLNT_E_BUFFER_OPERATION_PENDING"; break;
case AUDCLNT_E_THREAD_NOT_REGISTERED: e << "AUDCLNT_E_THREAD_NOT_REGISTERED"; break;
case AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED: e << "AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED"; break;
case AUDCLNT_E_ENDPOINT_CREATE_FAILED: e << "AUDCLNT_E_ENDPOINT_CREATE_FAILED"; break;
case AUDCLNT_E_SERVICE_NOT_RUNNING: e << "AUDCLNT_E_SERVICE_NOT_RUNNING"; break;
case AUDCLNT_E_EVENTHANDLE_NOT_EXPECTED: e << "AUDCLNT_E_EVENTHANDLE_NOT_EXPECTED"; break;
case AUDCLNT_E_EXCLUSIVE_MODE_ONLY: e << "AUDCLNT_E_EXCLUSIVE_MODE_ONLY"; break;
case AUDCLNT_E_BUFDURATION_PERIOD_NOT_EQUAL: e << "AUDCLNT_E_BUFDURATION_PERIOD_NOT_EQUAL"; break;
case AUDCLNT_E_EVENTHANDLE_NOT_SET: e << "AUDCLNT_E_EVENTHANDLE_NOT_SET"; break;
case AUDCLNT_E_INCORRECT_BUFFER_SIZE: e << "AUDCLNT_E_INCORRECT_BUFFER_SIZE"; break;
case AUDCLNT_E_BUFFER_SIZE_ERROR: e << "AUDCLNT_E_BUFFER_SIZE_ERROR"; break;
case AUDCLNT_S_BUFFER_EMPTY: e << "AUDCLNT_S_BUFFER_EMPTY"; break;
case AUDCLNT_S_THREAD_ALREADY_REGISTERED: e << "AUDCLNT_S_THREAD_ALREADY_REGISTERED"; break;
default: e << String::toHexString ((int) hr); break;
case E_POINTER: m = "E_POINTER"; break;
case E_INVALIDARG: m = "E_INVALIDARG"; break;
case AUDCLNT_E_NOT_INITIALIZED: m = "AUDCLNT_E_NOT_INITIALIZED"; break;
case AUDCLNT_E_ALREADY_INITIALIZED: m = "AUDCLNT_E_ALREADY_INITIALIZED"; break;
case AUDCLNT_E_WRONG_ENDPOINT_TYPE: m = "AUDCLNT_E_WRONG_ENDPOINT_TYPE"; break;
case AUDCLNT_E_DEVICE_INVALIDATED: m = "AUDCLNT_E_DEVICE_INVALIDATED"; break;
case AUDCLNT_E_NOT_STOPPED: m = "AUDCLNT_E_NOT_STOPPED"; break;
case AUDCLNT_E_BUFFER_TOO_LARGE: m = "AUDCLNT_E_BUFFER_TOO_LARGE"; break;
case AUDCLNT_E_OUT_OF_ORDER: m = "AUDCLNT_E_OUT_OF_ORDER"; break;
case AUDCLNT_E_UNSUPPORTED_FORMAT: m = "AUDCLNT_E_UNSUPPORTED_FORMAT"; break;
case AUDCLNT_E_INVALID_SIZE: m = "AUDCLNT_E_INVALID_SIZE"; break;
case AUDCLNT_E_DEVICE_IN_USE: m = "AUDCLNT_E_DEVICE_IN_USE"; break;
case AUDCLNT_E_BUFFER_OPERATION_PENDING: m = "AUDCLNT_E_BUFFER_OPERATION_PENDING"; break;
case AUDCLNT_E_THREAD_NOT_REGISTERED: m = "AUDCLNT_E_THREAD_NOT_REGISTERED"; break;
case AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED: m = "AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED"; break;
case AUDCLNT_E_ENDPOINT_CREATE_FAILED: m = "AUDCLNT_E_ENDPOINT_CREATE_FAILED"; break;
case AUDCLNT_E_SERVICE_NOT_RUNNING: m = "AUDCLNT_E_SERVICE_NOT_RUNNING"; break;
case AUDCLNT_E_EVENTHANDLE_NOT_EXPECTED: m = "AUDCLNT_E_EVENTHANDLE_NOT_EXPECTED"; break;
case AUDCLNT_E_EXCLUSIVE_MODE_ONLY: m = "AUDCLNT_E_EXCLUSIVE_MODE_ONLY"; break;
case AUDCLNT_E_BUFDURATION_PERIOD_NOT_EQUAL: m = "AUDCLNT_E_BUFDURATION_PERIOD_NOT_EQUAL"; break;
case AUDCLNT_E_EVENTHANDLE_NOT_SET: m = "AUDCLNT_E_EVENTHANDLE_NOT_SET"; break;
case AUDCLNT_E_INCORRECT_BUFFER_SIZE: m = "AUDCLNT_E_INCORRECT_BUFFER_SIZE"; break;
case AUDCLNT_E_BUFFER_SIZE_ERROR: m = "AUDCLNT_E_BUFFER_SIZE_ERROR"; break;
case AUDCLNT_S_BUFFER_EMPTY: m = "AUDCLNT_S_BUFFER_EMPTY"; break;
case AUDCLNT_S_THREAD_ALREADY_REGISTERED: m = "AUDCLNT_S_THREAD_ALREADY_REGISTERED"; break;
default: break;
}
DBG (e);
jassertfalse;
Logger::writeToLog ("WASAPI error: " + (m != nullptr ? String (m)
: String::toHexString ((int) hr)));
}
#endif
}
@ -872,7 +870,6 @@ public:
sampleRateChanged = true;
}
JUCE_TRY
{
const ScopedLock sl (startStopLock);
@ -882,7 +879,6 @@ public:
else
outs.clear();
}
JUCE_CATCH_EXCEPTION
if (outputDevice != nullptr)
{

View file

@ -34,10 +34,8 @@ Logger::~Logger()
Logger* Logger::currentLogger = nullptr;
void Logger::setCurrentLogger (Logger* const newLogger) noexcept
{
currentLogger = newLogger;
}
void Logger::setCurrentLogger (Logger* const newLogger) noexcept { currentLogger = newLogger; }
Logger* Logger::getCurrentLogger() noexcept { return currentLogger; }
void Logger::writeToLog (const String& message)
{

View file

@ -57,6 +57,9 @@ public:
*/
static void JUCE_CALLTYPE setCurrentLogger (Logger* newLogger) noexcept;
/** Returns the current logger, or nullptr if none has been set. */
static Logger* getCurrentLogger() noexcept;
/** Writes a string to the current logger.
This will pass the string to the logger's logMessage() method if a logger