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

Formatting: Remove double-dots from comments and other strings

This commit is contained in:
reuk 2025-11-17 19:00:05 +00:00
parent 82dc6d1c7e
commit 83e5264c86
No known key found for this signature in database
209 changed files with 508 additions and 509 deletions

View file

@ -199,7 +199,7 @@ int main (int argc, char* argv[])
{
const File file (files[i]);
// (avoid source control files and hidden files..)
// avoid source control files and hidden files
if (! isHiddenFile (file, sourceDirectory))
{
if (file.getParentDirectory() != sourceDirectory)

View file

@ -508,12 +508,12 @@ public:
unitTest.expect (! clippingFailed);
}
// convert data from the source to dest format..
// convert data from the source to dest format...
std::unique_ptr<AudioData::Converter> conv (new AudioData::ConverterInstance<AudioData::Pointer<F1, E1, AudioData::NonInterleaved, AudioData::Const>,
AudioData::Pointer<F2, E2, AudioData::NonInterleaved, AudioData::NonConst>>());
conv->convertSamples (inPlace ? reversed : converted, original, numSamples);
// ..and back again..
// ...and back again
conv.reset (new AudioData::ConverterInstance<AudioData::Pointer<F2, E2, AudioData::NonInterleaved, AudioData::Const>,
AudioData::Pointer<F1, E1, AudioData::NonInterleaved, AudioData::NonConst>>());
if (! inPlace)

View file

@ -74,7 +74,7 @@ public:
// These types can be used as the Constness template parameter for the AudioData::Pointer class.
class NonConst; /**< Used as a template parameter for AudioData::Pointer. Indicates that the pointer can be used for non-const data. */
class Const; /**< Used as a template parameter for AudioData::Pointer. Indicates that the samples can only be used for const data.. */
class Const; /**< Used as a template parameter for AudioData::Pointer. Indicates that the samples can only be used for const data. */
//==============================================================================
@ -342,17 +342,17 @@ public:
This object can be used to read and write from blocks of encoded audio samples. To create one, you specify
the audio format as a series of template parameters, e.g.
@code
// this creates a pointer for reading from a const array of 16-bit little-endian packed samples.
// this creates a pointer for reading from a const array of 16-bit little-endian packed samples
AudioData::Pointer <AudioData::Int16,
AudioData::LittleEndian,
AudioData::NonInterleaved,
AudioData::Const> pointer (someRawAudioData);
// These methods read the sample that is being pointed to
// these methods read the sample that is being pointed to
float firstSampleAsFloat = pointer.getAsFloat();
int32 firstSampleAsInt = pointer.getAsInt32();
++pointer; // moves the pointer to the next sample.
pointer += 3; // skips the next 3 samples.
++pointer; // moves the pointer to the next sample
pointer += 3; // skips the next 3 samples
@endcode
The convertSamples() method lets you copy a range of samples from one format to another, automatically
@ -488,7 +488,7 @@ public:
++source;
}
}
else // copy backwards if we're increasing the sample width..
else // copy backwards if we're increasing the sample width
{
dest += numSamples;
source += numSamples;

View file

@ -145,7 +145,7 @@ MidiMessage::MidiMessage (const void* const d, const int dataSize, const double
: timeStamp (t), size (dataSize)
{
jassert (dataSize > 0);
// this checks that the length matches the data..
// this checks that the length matches the data
jassert (dataSize > 3 || *(uint8*)d >= 0xf0 || getMessageLengthFromFirstByte (*(uint8*)d) == size);
memcpy (allocateSpace (dataSize), d, (size_t) dataSize);
@ -156,7 +156,7 @@ MidiMessage::MidiMessage (const int byte1, const double t) noexcept
{
packedData.asBytes[0] = (uint8) byte1;
// check that the length matches the data..
// check that the length matches the data
jassert (byte1 >= 0xf0 || getMessageLengthFromFirstByte ((uint8) byte1) == 1);
}
@ -166,7 +166,7 @@ MidiMessage::MidiMessage (const int byte1, const int byte2, const double t) noex
packedData.asBytes[0] = (uint8) byte1;
packedData.asBytes[1] = (uint8) byte2;
// check that the length matches the data..
// check that the length matches the data
jassert (byte1 >= 0xf0 || getMessageLengthFromFirstByte ((uint8) byte1) == 2);
}
@ -177,7 +177,7 @@ MidiMessage::MidiMessage (const int byte1, const int byte2, const int byte3, con
packedData.asBytes[1] = (uint8) byte2;
packedData.asBytes[2] = (uint8) byte3;
// check that the length matches the data..
// check that the length matches the data
jassert (byte1 >= 0xf0 || getMessageLengthFromFirstByte ((uint8) byte1) == 3);
}

View file

@ -78,7 +78,7 @@ public:
template <typename... Data>
MidiMessage (int byte1, int byte2, int byte3, Data... otherBytes) : size (3 + sizeof... (otherBytes))
{
// this checks that the length matches the data..
// this checks that the length matches the data
jassert (size > 3 || byte1 >= 0xf0 || getMessageLengthFromFirstByte ((uint8) byte1) == size);
const uint8 data[] = { (uint8) byte1, (uint8) byte2, (uint8) byte3, static_cast<uint8> (otherBytes)... };

View file

@ -991,7 +991,7 @@ public:
expectNote (test.getNote (3, 2), 100, 0, 8192, 64, MPENote::keyDown);
}
{
// pathological case: second note-on for same note should retrigger it.
// pathological case: second note-on for same note should retrigger it
UnitTestInstrument test;
test.setZoneLayout (testLayout);
test.noteOn (3, 0, MPEValue::from7BitInt (100));
@ -1037,7 +1037,7 @@ public:
test.noteOn (3, 60, MPEValue::from7BitInt (100)); // note in lower zone
test.noteOn (10, 60, MPEValue::from7BitInt (100)); // note in upper zone
// sustain pedal on per-note channel shouldn't do anything.
// sustain pedal on per-note channel shouldn't do anything
test.sustainPedal (3, true);
expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown);
@ -1045,13 +1045,13 @@ public:
expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown);
expectEquals (test.noteKeyStateChangedCallCounter, 0);
// sustain pedal on non-zone channel shouldn't do anything either.
// sustain pedal on non-zone channel shouldn't do anything either
test.sustainPedal (7, true);
expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown);
expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown);
expectEquals (test.noteKeyStateChangedCallCounter, 0);
// sustain pedal on master channel should sustain notes on _that_ zone.
// sustain pedal on master channel should sustain notes on _that_ zone
test.sustainPedal (1, true);
expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDownAndSustained);
expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown);
@ -1100,19 +1100,19 @@ public:
test.noteOn (3, 60, MPEValue::from7BitInt (100)); // note in lower zone
test.noteOn (10, 60, MPEValue::from7BitInt (100)); // note in upper zone
// sostenuto pedal on per-note channel shouldn't do anything.
// sostenuto pedal on per-note channel shouldn't do anything
test.sostenutoPedal (3, true);
expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown);
expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown);
expectEquals (test.noteKeyStateChangedCallCounter, 0);
// sostenuto pedal on non-zone channel shouldn't do anything either.
// sostenuto pedal on non-zone channel shouldn't do anything either
test.sostenutoPedal (9, true);
expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDown);
expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown);
expectEquals (test.noteKeyStateChangedCallCounter, 0);
// sostenuto pedal on master channel should sustain notes on *that* zone.
// sostenuto pedal on master channel should sustain notes on *that* zone
test.sostenutoPedal (1, true);
expectNote (test.getNote (3, 60), 100, 0, 8192, 64, MPENote::keyDownAndSustained);
expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown);
@ -1195,7 +1195,7 @@ public:
MPEValue::centreValue(), MPEValue::centreValue());
{
// case 1: the note to exclude is not the most recent one.
// case 1: the note to exclude is not the most recent one
MPEInstrument test;
test.setZoneLayout (testLayout);
@ -1210,7 +1210,7 @@ public:
expect (test.getMostRecentNoteOtherThan (testNote).initialNote == 61);
}
{
// case 2: the note to exclude is the most recent one.
// case 2: the note to exclude is the most recent one
MPEInstrument test;
test.setZoneLayout (testLayout);
@ -1373,7 +1373,7 @@ public:
expectNote (test.getNote (10, 60), 100, 0, 8192, 64, MPENote::keyDown);
expectEquals (test.notePitchbendChangedCallCounter, 3);
// applying pitchbend on an unrelated channel should do nothing.
// applying pitchbend on an unrelated channel should do nothing
test.pitchbend (8, MPEValue::from14BitInt (3333));
expectNote (test.getNote (3, 60), 100, 0, 1111, 64, MPENote::keyDown);
expectNote (test.getNote (4, 60), 100, 0, 8192, 64, MPENote::keyDown);
@ -1442,7 +1442,7 @@ public:
// - release the note
// - press same note again without sending a pitchbend or timbre message before the note-on
// - the note should be turned on with a default value for pitchbend/timbre,
// and *not* the last value received on channel.
// and *not* the last value received on channel
test.noteOn (3, 60, MPEValue::from7BitInt (100));
test.pitchbend (3, MPEValue::from14BitInt (5555));
@ -1938,15 +1938,15 @@ public:
test.noteOn (15, 63, MPEValue::from7BitInt (100));
expectEquals (test.getNumPlayingNotes(), 4);
// on note channel: ignore.
// on note channel: ignore
test.processNextMidiEvent (MidiMessage::allControllersOff (3));
expectEquals (test.getNumPlayingNotes(), 4);
// on unused channel: ignore.
// on unused channel: ignore
test.processNextMidiEvent (MidiMessage::allControllersOff (9));
expectEquals (test.getNumPlayingNotes(), 4);
// on master channel: release notes in that zone only.
// on master channel: release notes in that zone only
test.processNextMidiEvent (MidiMessage::allControllersOff (1));
expectEquals (test.getNumPlayingNotes(), 2);
test.processNextMidiEvent (MidiMessage::allControllersOff (16));
@ -2136,7 +2136,7 @@ public:
}
}
{
// custom pitchbend range in legacy mode.
// custom pitchbend range in legacy mode
UnitTestInstrument test;
test.enableLegacyMode (11);
@ -2145,7 +2145,7 @@ public:
expectDoubleWithinRelativeError (test.getMostRecentNote (1).totalPitchbendInSemitones, -5.5, 0.01);
}
{
// sustain pedal should be per channel in legacy mode.
// sustain pedal should be per channel in legacy mode
UnitTestInstrument test;
test.enableLegacyMode();
@ -2168,7 +2168,7 @@ public:
}
{
// sostenuto pedal should be per channel in legacy mode.
// sostenuto pedal should be per channel in legacy mode
UnitTestInstrument test;
test.enableLegacyMode();

View file

@ -211,7 +211,7 @@ MPESynthesiserVoice* MPESynthesiser::findVoiceToSteal (MPENote noteToStealVoiceF
usableVoicesToStealArray.add (voice);
// NB: Using a functor rather than a lambda here due to scare-stories about
// compilers generating code containing heap allocations..
// compilers generating code containing heap allocations.
struct Sorter
{
bool operator() (const MPESynthesiserVoice* a, const MPESynthesiserVoice* b) const noexcept { return a->noteOnTime < b->noteOnTime; }
@ -334,7 +334,7 @@ void MPESynthesiser::turnOffAllVoices (bool allowTailOff)
}
}
// finally make sure the MPE Instrument also doesn't have any notes anymore.
// finally make sure the MPE Instrument also doesn't have any notes anymore
instrument.releaseAllNotes();
}

View file

@ -50,7 +50,7 @@ BufferingAudioSource::BufferingAudioSource (PositionableAudioSource* s,
jassert (source != nullptr);
jassert (numberOfSamplesToBuffer > 1024); // not much point using this class if you're
// not using a larger buffer..
// not using a larger buffer
}
BufferingAudioSource::~BufferingAudioSource()

View file

@ -134,7 +134,7 @@ void ResamplingAudioSource::getNextAudioBlock (const AudioSourceChannelInfo& inf
if (localRatio > 1.0001)
{
// for down-sampling, pre-apply the filter..
// for down-sampling, pre-apply the filter
for (int i = channelsToProcess; --i >= 0;)
applyFilter (buffer.getWritePointer (i, endOfBufferPos), numToDo, filterStates[i]);
@ -178,7 +178,7 @@ void ResamplingAudioSource::getNextAudioBlock (const AudioSourceChannelInfo& inf
if (localRatio < 0.9999)
{
// for up-sampling, apply the filter after transposing..
// for up-sampling, apply the filter after transposing
for (int i = channelsToProcess; --i >= 0;)
applyFilter (info.buffer->getWritePointer (i, info.startSample), info.numSamples, filterStates[i]);
}

View file

@ -553,7 +553,7 @@ SynthesiserVoice* Synthesiser::findVoiceToSteal (SynthesiserSound* soundToPlay,
usableVoicesToStealArray.add (voice);
// NB: Using a functor rather than a lambda here due to scare-stories about
// compilers generating code containing heap allocations..
// compilers generating code containing heap allocations.
struct Sorter
{
bool operator() (const SynthesiserVoice* a, const SynthesiserVoice* b) const noexcept { return a->wasStartedBefore (*b); }
@ -578,7 +578,7 @@ SynthesiserVoice* Synthesiser::findVoiceToSteal (SynthesiserSound* soundToPlay,
if (top == low)
top = nullptr;
// The oldest note that's playing with the target pitch is ideal..
// The oldest note that's playing with the target pitch is ideal.
for (auto* voice : usableVoicesToStealArray)
if (voice->getCurrentlyPlayingNote() == midiNoteNumber)
return voice;

View file

@ -132,7 +132,7 @@ private:
//==============================================================================
enum { defaultMinusInfinitydB = -100 };
Decibels() = delete; // This class can't be instantiated, it's just a holder for static methods..
Decibels() = delete; // This class can't be instantiated, it's just a holder for static methods.
};
} // namespace juce

View file

@ -1350,7 +1350,7 @@ double AudioDeviceManager::LevelMeter::getCurrentLevel() const noexcept
void AudioDeviceManager::playTestSound()
{
{ // cunningly nested to swap, unlock and delete in that order.
{ // cunningly nested to swap, unlock and delete in that order
std::unique_ptr<AudioBuffer<float>> oldSound;
{

View file

@ -105,7 +105,7 @@ void MidiMessageCollector::removeNextBlockOfMessages (MidiBuffer& destBuffer,
if (numSourceSamples > numSamples)
{
// if our list of events is longer than the buffer we're being
// asked for, scale them down to squeeze them all in..
// asked for, scale them down to squeeze them all in
const int maxBlockLengthToUse = numSamples << 5;
auto iter = incomingMessages.cbegin();

View file

@ -220,7 +220,7 @@ public:
return false;
}
if (snd_pcm_hw_params_set_access (handle, hwParams, SND_PCM_ACCESS_RW_INTERLEAVED) >= 0) // works better for plughw..
if (snd_pcm_hw_params_set_access (handle, hwParams, SND_PCM_ACCESS_RW_INTERLEAVED) >= 0) // works better for plughw
isInterleaved = true;
else if (snd_pcm_hw_params_set_access (handle, hwParams, SND_PCM_ACCESS_RW_NONINTERLEAVED) >= 0)
isInterleaved = false;
@ -286,7 +286,7 @@ public:
|| JUCE_ALSA_FAILED (snd_pcm_hw_params_get_periods (hwParams, &periods, &dir)))
latency = 0;
else
latency = (int) frames * ((int) periods - 1); // (this is the method JACK uses to guess the latency..)
latency = (int) frames * ((int) periods - 1); // (this is the method JACK uses to guess the latency)
JUCE_ALSA_LOG ("frames: " << (int) frames << ", periods: " << (int) periods
<< ", samplesPerPeriod: " << (int) samplesPerPeriod);
@ -551,7 +551,7 @@ public:
currentOutputChans.clear();
// Note that the input device is opened before an output, because we've heard
// of drivers where doing it in the reverse order mysteriously fails.. If this
// of drivers where doing it in the reverse order mysteriously fails. If this
// order also causes problems, let us know and we'll see if we can find a compromise!
if (inputChannelDataForCallback.size() > 0 && inputId.isNotEmpty())
@ -660,7 +660,7 @@ public:
if ((! waitForThreadToExit (400)) && audioIoInProgress && numCallbacks == callbacksToStop)
{
JUCE_ALSA_LOG ("Thread is stuck in i/o.. Is pulseaudio suspended?");
JUCE_ALSA_LOG ("Thread is stuck in i/o. Is pulseaudio suspended?");
if (outputDevice != nullptr) outputDevice->closeNow();
if (inputDevice != nullptr) inputDevice->closeNow();
@ -1240,7 +1240,7 @@ private:
bool isInput = (ioid != "Output");
// alsa is stupid here, it advertises dmix and dsnoop as input/output devices, but
// opening dmix as input, or dsnoop as output will trigger errors..
// opening dmix as input, or dsnoop as output will trigger errors
isInput = isInput && ! id.startsWith ("dmix");
isOutput = isOutput && ! id.startsWith ("dsnoop");

View file

@ -119,7 +119,7 @@ struct ASIOSampleFormat
case ASIOSTDSDInt8NER8: break; // (unhandled)
default:
jassertfalse; // (not a valid format code..)
jassertfalse; // (not a valid format code)
break;
}
}
@ -357,7 +357,7 @@ public:
void updateSampleRates()
{
// find a list of sample rates..
// find a list of sample rates
Array<double> newRates;
if (asioObject != nullptr)
@ -586,7 +586,7 @@ public:
if (! calledback)
{
error = "Device didn't start correctly";
JUCE_ASIO_LOG ("no callbacks - stopping..");
JUCE_ASIO_LOG ("no callbacks - stopping");
asioObject->stop();
}
}
@ -862,7 +862,7 @@ private:
if (shouldUsePreferredSize)
{
JUCE_ASIO_LOG ("Using preferred size for buffer..");
JUCE_ASIO_LOG ("using preferred size for buffer");
auto err = refreshBufferSizes();
if (err == ASE_OK)
@ -919,7 +919,7 @@ private:
void addBufferSizes (long minSize, long maxSize, long preferredSize, long granularity)
{
// find a list of buffer sizes..
// find a list of buffer sizes
JUCE_ASIO_LOG (String ((int) minSize) + "->" + String ((int) maxSize) + ", "
+ String ((int) preferredSize) + ", " + String ((int) granularity));
@ -964,7 +964,7 @@ private:
if (err == ASE_NoClock && numClockSources > 0)
{
JUCE_ASIO_LOG ("trying to set a clock source..");
JUCE_ASIO_LOG ("trying to set a clock source");
err = asioObject->setClockSource (clocks[0].index);
JUCE_ASIO_LOG_ERROR ("setClockSource2", err);
Thread::sleep (10);
@ -976,7 +976,7 @@ private:
if (err == 0)
currentSampleRate = newRate;
// on fail, ignore the attempt to change rate, and run with the current one..
// on fail, ignore the attempt to change rate, and run with the current one
}
}
@ -1170,7 +1170,7 @@ private:
if (driverError.isEmpty())
{
char buffer[512] = {};
asioObject->getDriverName (buffer); // just in case any flimsy drivers expect this to be called..
asioObject->getDriverName (buffer); // just in case any flimsy drivers expect this to be called
}
return driverError;
@ -1178,7 +1178,7 @@ private:
String openDevice()
{
// open the device and get its info..
// open the device and get its info
JUCE_ASIO_LOG ("opening device: " + getName());
needToReset = false;
@ -1241,11 +1241,11 @@ private:
JUCE_ASIO_LOG ("outputReady true");
updateSampleRates();
readLatencies(); // ..doing these steps because cubase does so at this stage
createDummyBuffers (preferredBufferSize); // in initialisation, and some devices fail if we don't.
readLatencies(); // doing these steps because cubase does so at this stage
createDummyBuffers (preferredBufferSize); // in initialisation, and some devices fail if we don't
readLatencies();
// start and stop because cubase does it..
// start and stop because cubase does it
err = asioObject->start();
// ignore an error here, as it might start later after setting other stuff up
JUCE_ASIO_LOG_ERROR ("start", err);
@ -1485,7 +1485,7 @@ public:
for (int i = deviceNames.size(); --i >= 0;)
if (deviceNames[i].containsIgnoreCase ("asio4all"))
return i; // asio4all is a safe choice for a default..
return i; // asio4all is a safe choice for a default
#if JUCE_DEBUG
if (deviceNames.size() > 1 && deviceNames[0].containsIgnoreCase ("digidesign"))
@ -1503,7 +1503,7 @@ public:
return i;
jassertfalse; // unfortunately you can only have a finite number
// of ASIO devices open at the same time..
// of ASIO devices open at the same time
return -1;
}
@ -1579,7 +1579,7 @@ private:
if (RegQueryValueEx (pathKey, 0, 0, &dtype, (LPBYTE) pathName, &dsize) == ERROR_SUCCESS)
// In older code, this used to check for the existence of the file, but there are situations
// where our process doesn't have access to it, but where the driver still loads ok..
// where our process doesn't have access to it, but where the driver still loads ok.
ok = (pathName[0] != 0);
RegCloseKey (pathKey);

View file

@ -671,7 +671,7 @@ public:
// Annoyingly, after changing the rate and buffer size, some devices fail to
// correctly report their new settings until some random time in the future, so
// after calling updateDetailsFromDevice, we need to manually bodge these values
// to make sure we're using the correct numbers..
// to make sure we're using the correct numbers.
updateDetailsFromDevice (ins, outs);
sampleRate = newSampleRate;
bufferSize = bufferSizeSamples;
@ -2298,7 +2298,7 @@ public:
jassert (hasScanned); // need to call scanForDevices() before doing this
// if they're asking for any input channels at all, use the default input, so we
// get the built-in mic rather than the built-in output with no inputs..
// get the built-in mic rather than the built-in output with no inputs
AudioObjectPropertyAddress pa;
auto selector = forInput ? kAudioHardwarePropertyDefaultInputDevice

View file

@ -34,7 +34,7 @@
extern "C"
{
// Declare just the minimum number of interfaces for the DSound objects that we need..
// Declare just the minimum number of interfaces for the DSound objects that we need.
struct DSBUFFERDESC
{
DWORD dwSize;
@ -857,7 +857,7 @@ public:
{
if (! isThreadRunning())
{
// something gone wrong and the thread's stopped..
// something gone wrong and the thread's stopped
isOpen_ = false;
return;
}
@ -1119,7 +1119,7 @@ String DSoundAudioIODevice::openDevice (const BigInteger& inputChannels,
sampleRate = sampleRate_ > 0.0 ? sampleRate_ : 44100.0;
if (bufferSizeSamples_ <= 0)
bufferSizeSamples_ = 960; // use as a default size if none is set.
bufferSizeSamples_ = 960; // use as a default size if none is set
bufferSizeSamples = bufferSizeSamples_ & ~7;

View file

@ -800,11 +800,11 @@ public:
OpenSLAudioIODevice (const String& deviceName) : AudioIODevice (deviceName, openSLTypeName)
{
// OpenSL has piss-poor support for determining latency, so the only way I can find to
// get a number for this is by asking the AudioTrack/AudioRecord classes..
// get a number for this is by asking the AudioTrack/AudioRecord classes.
AndroidAudioIODevice javaDevice (deviceName);
// this is a total guess about how to calculate the latency, but seems to vaguely agree
// with the devices I've tested.. YMMV
// with the devices I've tested. YMMV
inputLatency = (javaDevice.minBufferSizeIn * 2) / 3;
outputLatency = (javaDevice.minBufferSizeOut * 2) / 3;

View file

@ -1474,7 +1474,7 @@ public:
if (! isThreadRunning())
{
// something's gone wrong and the thread's stopped..
// something's gone wrong and the thread's stopped
flags &= ~flagOpen;
return;
}

View file

@ -85,7 +85,7 @@ void AudioSourcePlayer::audioDeviceIOCallbackWithContext (const float* const* in
int numActiveChans = 0, numInputs = 0, numOutputs = 0;
// messy stuff needed to compact the channels down into an array
// of non-zero pointers..
// of non-zero pointers
for (int i = 0; i < totalNumInputChannels; ++i)
{
if (inputChannelData[i] != nullptr)

View file

@ -269,7 +269,7 @@ void AudioTransportSource::getNextAudioBlock (const AudioSourceChannelInfo& info
if (! playing)
{
// just stopped playing, so fade out the last block..
// just stopped playing, so fade out the last block
for (int i = info.buffer->getNumChannels(); --i >= 0;)
info.buffer->applyGainRamp (i, info.startSample, jmin (256, info.numSamples), 1.0f, 0.0f);

View file

@ -707,9 +707,9 @@ public:
if (bytesWritten + bytes >= (size_t) 0xfff00000
|| ! output->write (tempBlock.getData(), bytes))
{
// failed to write to disk, so let's try writing the header.
// Failed to write to disk, so let's try writing the header.
// If it's just run out of disk space, then if it does manage
// to write the header, we'll still have a useable file..
// to write the header, we'll still have a useable file.
writeHeader();
writeFailed = true;
return false;
@ -848,7 +848,7 @@ public:
if (map == nullptr || ! mappedSection.contains (Range<int64> (startSampleInFile, startSampleInFile + numSamples)))
{
jassertfalse; // you must make sure that the window contains all the samples you're going to attempt to read.
jassertfalse; // you must make sure that the window contains all the samples you're going to attempt to read
return false;
}
@ -870,7 +870,7 @@ public:
if (map == nullptr || ! mappedSection.contains (sample))
{
jassertfalse; // you must make sure that the window contains all the samples you're going to attempt to read.
jassertfalse; // you must make sure that the window contains all the samples you're going to attempt to read
zeromem (result, (size_t) num * sizeof (float));
return;
@ -913,7 +913,7 @@ public:
if (map == nullptr || numSamples <= 0 || ! mappedSection.contains (Range<int64> (startSampleInFile, startSampleInFile + numSamples)))
{
jassert (numSamples <= 0); // you must make sure that the window contains all the samples you're going to attempt to read.
jassert (numSamples <= 0); // you must make sure that the window contains all the samples you're going to attempt to read
for (int i = 0; i < numChannelsToRead; ++i)
results[i] = Range<float>();

View file

@ -222,7 +222,7 @@ public:
if (lengthInSamples == 0 && sampleRate > 0)
{
// the length hasn't been stored in the metadata, so we'll need to
// work it out the length the hard way, by scanning the whole file..
// work it out the length the hard way, by scanning the whole file
scanningForLength = true;
FLAC__stream_decoder_process_until_end_of_stream (decoder);
scanningForLength = false;

View file

@ -327,7 +327,7 @@ public:
{
if (ok)
{
// write a zero-length packet to show ogg that we're finished..
// write a zero-length packet to show ogg that we're finished
writeSamples (0);
ogg_stream_clear (&os);

View file

@ -1651,9 +1651,9 @@ public:
if (! output->write (tempBlock.getData(), bytes))
{
// failed to write to disk, so let's try writing the header.
// Failed to write to disk, so let's try writing the header.
// If it's just run out of disk space, then if it does manage
// to write the header, we'll still have a usable file..
// to write the header, we'll still have a usable file.
writeHeader();
writeFailed = true;
return false;
@ -1890,7 +1890,7 @@ public:
if (map == nullptr || ! mappedSection.contains (sample))
{
jassertfalse; // you must make sure that the window contains all the samples you're going to attempt to read.
jassertfalse; // you must make sure that the window contains all the samples you're going to attempt to read
zeromem (result, (size_t) num * sizeof (float));
return;
@ -1917,7 +1917,7 @@ public:
if (map == nullptr || numSamples <= 0 || ! mappedSection.contains (Range<int64> (startSampleInFile, startSampleInFile + numSamples)))
{
jassert (numSamples <= 0); // you must make sure that the window contains all the samples you're going to attempt to read.
jassert (numSamples <= 0); // you must make sure that the window contains all the samples you're going to attempt to read
for (int i = 0; i < numChannelsToRead; ++i)
results[i] = {};
@ -2090,7 +2090,7 @@ bool WavAudioFormat::replaceMetadataInFile (const File& wavFile, const StringPai
if (chunk.getSize() <= (size_t) bwavSize)
{
// the new one will fit in the space available, so write it directly..
// the new one will fit in the space available, so write it directly
auto oldSize = wavFile.getSize();
{

View file

@ -67,7 +67,7 @@ public:
This is the number of samples from the start of an edit that the
file is supposed to begin at. Seems like an obvious mistake to
only allow a file to occur in an edit once, but that's the way
it is..
it is.
@see AudioFormatReader::metadataValues, createWriterFor
*/

View file

@ -188,7 +188,7 @@ bool AudioFormatReader::read (AudioBuffer<float>* buffer,
if (! read (chans, 2, readerStartSample, numSamples, true))
return false;
// if the target's stereo and the source is mono, dupe the first channel..
// if the target's stereo and the source is mono, dupe the first channel
if (numTargetChannels > 1
&& (chans[0] == nullptr || chans[1] == nullptr)
&& (dests[0] != nullptr && dests[1] != nullptr))
@ -439,7 +439,7 @@ void MemoryMappedAudioFormatReader::touchSample (int64 sample) const noexcept
if (map != nullptr && mappedSection.contains (sample))
memoryReadDummyVariable += *(char*) sampleToPointer (sample);
else
jassertfalse; // you must make sure that the window contains all the samples you're going to attempt to read.
jassertfalse; // you must make sure that the window contains all the samples you're going to attempt to read
}
} // namespace juce

View file

@ -140,7 +140,7 @@ void SamplerVoice::renderNextBlock (AudioBuffer<float>& outputBuffer, int startS
auto alpha = (float) (sourceSamplePosition - pos);
auto invAlpha = 1.0f - alpha;
// just using a very simple linear interpolation here..
// just using a very simple linear interpolation here
float l = (inL[pos] * invAlpha + inL[pos + 1] * alpha);
float r = (inR != nullptr) ? (inR[pos] * invAlpha + inR[pos + 1] * alpha)
: l;

View file

@ -33,7 +33,7 @@
*/
// The following checks should cause a compile error if you've forgotten to
// define all your plugin settings properly..
// define all your plugin settings properly.
#if ! (JucePlugin_Build_VST || JucePlugin_Build_VST3 \
|| JucePlugin_Build_AU || JucePlugin_Build_AUv3 \

View file

@ -58,7 +58,7 @@ struct VSTWindowUtilities
: ComponentPeer::windowIgnoresKeyPresses;
comp->addToDesktop (desktopFlags | defaultFlags, parentView);
// (this workaround is because Wavelab provides a zero-size parent view..)
// this workaround is because Wavelab provides a zero-size parent view
if (approximatelyEqual ([parentView frame].size.height, 0.0))
[((NSView*) comp->getWindowHandle()) setFrameOrigin: NSZeroPoint];

View file

@ -931,7 +931,7 @@ namespace AAXClasses
auto numObjects = dataSize / sizeof (PluginInstanceInfo);
auto* objects = static_cast<PluginInstanceInfo*> (data);
jassert (numObjects == 1); // not sure how to handle more than one..
jassert (numObjects == 1); // not sure how to handle more than one
for (size_t i = 0; i < numObjects; ++i)
new (objects + i) PluginInstanceInfo (const_cast<JuceAAX_Processor&> (*this));

View file

@ -1892,7 +1892,7 @@ public:
if (activePlugins.size() + activeUIs.size() == 0)
{
// there's some kind of component currently modal, but the host
// is trying to delete our plugin..
// is trying to delete our plugin
jassert (ModalComponentManager::getInstanceWithoutCreating() == nullptr
|| Component::getCurrentlyModalComponent() == nullptr);
}

View file

@ -1281,7 +1281,7 @@ private:
// In the event that the plugin decides to send all of its parameters in one go,
// we should ensure that the output buffer is large enough to accommodate, with some
// extra room for the sequence header, MIDI messages etc..
// extra room for the sequence header, MIDI messages etc.
const auto patchSetSizeBytes = 72;
const auto additionalSize = 8192;
const auto atomPortMinSize = proc.getParameters().size() * patchSetSizeBytes + additionalSize;

View file

@ -454,10 +454,10 @@ public:
}
}
// if some output channels are disabled, some hosts supply the same buffer
// If some output channels are disabled, some hosts supply the same buffer
// for multiple channels or supply a nullptr - this buggers up our method
// of copying the inputs over the outputs, so we need to create unique temp
// buffers in this case..
// buffers in this case.
if (bufferPointerReusedForOtherChannels || chan == nullptr)
{
chan = new FloatType [(size_t) blockSize * 2];
@ -491,7 +491,7 @@ public:
processor->processBlock (chans, midiEvents);
}
// copy back any temp channels that may have been used..
// copy back any temp channels that may have been used
for (i = 0; i < numOut; ++i)
if (auto* chan = tmpBuffers.tempChannels.getUnchecked (i))
if (auto* dest = outputs[i])
@ -863,8 +863,8 @@ public:
editorComp = nullptr;
// there's some kind of component currently modal, but the host
// is trying to delete our plugin. You should try to avoid this happening..
// There's some kind of component currently modal, but the host
// is trying to delete our plugin. You should try to avoid this happening.
jassert (Component::getCurrentlyModalComponent() == nullptr);
}
}
@ -1084,7 +1084,7 @@ public:
}
}
// some hosts don't support the sizeWindow call, so do it manually..
// some hosts don't support the sizeWindow call, so do it manually
if (! sizeWasSuccessful)
{
const ScopedValueSetter<bool> resizingParentSetter (resizingParent, true);
@ -1354,7 +1354,7 @@ private:
//==============================================================================
#if JUCE_WINDOWS
// Workarounds for hosts which attempt to open editor windows on a non-GUI thread.. (Grrrr...)
// Workarounds for hosts which attempt to open editor windows on a non-GUI thread. (Grrrr...)
static void checkWhetherMessageThreadIsCorrect()
{
auto host = detail::PluginUtilities::getHostType();
@ -1498,7 +1498,7 @@ private:
{
if (auto* param = juceParameters.getParamForIndex (args.index))
{
// length should technically be kVstMaxParamStrLen, which is 8, but hosts will normally allow a bit more.
// length should technically be kVstMaxParamStrLen, which is 8, but hosts will normally allow a bit more
param->getLabel().copyToUTF8 ((char*) args.ptr, 24 + 1);
}
@ -1509,7 +1509,7 @@ private:
{
if (auto* param = juceParameters.getParamForIndex (args.index))
{
// length should technically be kVstMaxParamStrLen, which is 8, but hosts will normally allow a bit more.
// length should technically be kVstMaxParamStrLen, which is 8, but hosts will normally allow a bit more
param->getCurrentValueAsText().copyToUTF8 ((char*) args.ptr, 24 + 1);
}
@ -1520,7 +1520,7 @@ private:
{
if (auto* param = juceParameters.getParamForIndex (args.index))
{
// length should technically be kVstMaxParamStrLen, which is 8, but hosts will normally allow a bit more.
// length should technically be kVstMaxParamStrLen, which is 8, but hosts will normally allow a bit more
param->getName (32).copyToUTF8 ((char*) args.ptr, 32 + 1);
}
@ -2189,7 +2189,7 @@ namespace
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wmissing-prototypes")
//==============================================================================
// Mac startup code..
// Mac startup code
#if JUCE_MAC
JUCE_EXPORTED_FUNCTION Vst2::AEffect* VSTPluginMain (Vst2::audioMasterCallback audioMaster);
@ -2205,7 +2205,7 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wmissing-prototypes")
}
//==============================================================================
// Linux startup code..
// Linux startup code
#elif JUCE_LINUX || JUCE_BSD
JUCE_EXPORTED_FUNCTION Vst2::AEffect* VSTPluginMain (Vst2::audioMasterCallback audioMaster);
@ -2225,7 +2225,7 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wmissing-prototypes")
__attribute__ ((destructor)) void myPluginFini() {}
//==============================================================================
// Win32 startup code..
// Win32 startup code
#else
extern "C" __declspec (dllexport) Vst2::AEffect* VSTPluginMain (Vst2::audioMasterCallback audioMaster)

View file

@ -177,7 +177,7 @@ private:
}
#if JUCE_MODAL_LOOPS_PERMITTED
// Unfortunately, Steinberg's docs explicitly say this should be modal..
// Unfortunately, Steinberg's docs explicitly say this should be modal.
handleResult (topLevelMenu->showMenu (options));
#else
topLevelMenu->showMenuAsync (options,

View file

@ -479,7 +479,7 @@ private:
if ((rw > 50 && rh > 50 && rw < 2000 && rh < 2000 && (! isWithin (w, rw, 2) || ! isWithin (h, rh, 2)))
|| ((w == 0 && rw > 0) || (h == 0 && rh > 0)))
{
// very dodgy logic to decide which size is right.
// very dodgy logic to decide which size is right
if (std::abs (rw - w) > 350 || std::abs (rh - h) > 350)
{
ScopedThreadDPIAwarenessSetter threadDpiAwarenessSetter { pluginHWND };
@ -604,7 +604,7 @@ private:
resizeToFit();
}
// hooks to get keyboard events from VST windows.
// hooks to get keyboard events from VST windows
static LRESULT CALLBACK vstHookWndProc (HWND hW, UINT message, WPARAM wParam, LPARAM lParam)
{
for (int i = activeVSTWindows.size(); --i >= 0;)

View file

@ -42,7 +42,7 @@ AudioProcessorEditor::AudioProcessorEditor (AudioProcessor& p) noexcept : proce
AudioProcessorEditor::AudioProcessorEditor (AudioProcessor* p) noexcept : processor (*p)
{
// the filter must be valid..
// the filter must be valid
jassert (p != nullptr);
initialise();
}
@ -50,7 +50,7 @@ AudioProcessorEditor::AudioProcessorEditor (AudioProcessor* p) noexcept : proce
AudioProcessorEditor::~AudioProcessorEditor()
{
// if this fails, then the wrapper hasn't called editorBeingDeleted() on the
// filter for some reason..
// filter for some reason
jassert (processor.getActiveEditor() != this);
removeComponentListener (resizeListener.get());
}
@ -91,7 +91,7 @@ void AudioProcessorEditor::setResizeLimits (int newMinimumWidth,
{
if (constrainer != nullptr && constrainer != &defaultConstrainer)
{
// if you've set up a custom constrainer then these settings won't have any effect..
// if you've set up a custom constrainer then these settings won't have any effect
jassertfalse;
return;
}

View file

@ -103,7 +103,7 @@ bool KnownPluginList::addType (const PluginDescription& type)
{
if (desc.isDuplicateOf (type))
{
// strange - found a duplicate plugin with different info..
// strange - found a duplicate plugin with different info
jassert (desc.name == type.name);
jassert (desc.isInstrument == type.isInstrument);
@ -489,7 +489,7 @@ struct PluginTreeUtils
{
#if JUCE_MAC
if (path.containsChar (':'))
path = path.fromFirstOccurrenceOf (":", false, false); // avoid the special AU formatting nonsense on Mac..
path = path.fromFirstOccurrenceOf (":", false, false); // avoid the special AU formatting nonsense on Mac
#endif
if (path.isEmpty())

View file

@ -69,7 +69,7 @@ void PluginDirectoryScanner::setFilesOrIdentifiersToScan (const StringArray& fil
filesOrIdentifiersToScan = filesOrIdentifiers;
// If any plugins have crashed recently when being loaded, move them to the
// end of the list to give the others a chance to load correctly..
// end of the list to give the others a chance to load correctly.
for (auto& crashed : readDeadMansPedalFile (deadMansPedalFile))
for (int j = filesOrIdentifiersToScan.size(); --j >= 0;)
if (crashed == filesOrIdentifiersToScan[j])
@ -112,7 +112,7 @@ bool PluginDirectoryScanner::scanNextFile (bool dontRescanIfAlreadyInList,
list.scanAndAddFile (file, dontRescanIfAlreadyInList, typesFound, format);
// Managed to load without crashing, so remove it from the dead-man's-pedal..
// Managed to load without crashing, so remove it from the dead-man's-pedal.
crashedPlugins.removeString (file);
setDeadMansPedalFile (crashedPlugins);
@ -140,7 +140,7 @@ void PluginDirectoryScanner::setDeadMansPedalFile (const StringArray& newContent
void PluginDirectoryScanner::applyBlacklistingsFromDeadMansPedal (KnownPluginList& list, const File& file)
{
// If any plugins have crashed recently when being loaded, move them to the
// end of the list to give the others a chance to load correctly..
// end of the list to give the others a chance to load correctly.
for (auto& crashedPlugin : readDeadMansPedalFile (file))
list.addToBlacklist (crashedPlugin);
}

View file

@ -35,7 +35,7 @@
#pragma once
/** @cond */
// This macro can be set if you need to override this internal name for some reason..
// This macro can be set if you need to override this internal name for some reason.
#ifndef JUCE_STATE_DICTIONARY_KEY
#define JUCE_STATE_DICTIONARY_KEY "jucePluginState"
#endif

View file

@ -1428,7 +1428,7 @@ public:
}
else
{
// Plugin not working correctly, so just bypass..
// Plugin not working correctly, so just bypass.
for (int i = getTotalNumOutputChannels(); --i >= 0;)
buffer.clear (i, 0, buffer.getNumSamples());
}

View file

@ -278,7 +278,7 @@ public:
{
tempBuffer.setSize (jmax (1, outputs.size()), samplesPerBlockExpected);
// dodgy hack to force some plugins to initialise the sample rate..
// dodgy hack to force some plugins to initialise the sample rate
if (auto* firstParam = getParameters()[0])
{
const auto old = firstParam->getValue();

View file

@ -1387,7 +1387,7 @@ struct VSTPluginInstanceHeadless : public AudioPluginInstance
if (! isPowerOn)
setPower (true);
// dodgy hack to force some plugins to initialise the sample rate.
// dodgy hack to force some plugins to initialise the sample rate
if (! hasEditor())
{
if (auto* firstParam = getParameters()[0])
@ -1670,7 +1670,7 @@ struct VSTPluginInstanceHeadless : public AudioPluginInstance
return 0;
}
// handles non plugin-specific callbacks.
// handles non plugin-specific callbacks
static pointer_sized_int handleGeneralCallback (int32 opcode, int32 /*index*/, pointer_sized_int /*value*/, void* ptr, float /*opt*/)
{
switch (opcode)
@ -2442,7 +2442,7 @@ private:
}
{
// copy any incoming midi.
// Copy any incoming midi.
const ScopedLock sl (midiInLock);
midiMessages.swapWith (incomingMidi);
@ -2557,7 +2557,7 @@ private:
{
char nm[256] = { 0 };
// only do this if the plugin can't use indexed names.
// only do this if the plugin can't use indexed names
if (dispatch (Vst2::effGetProgramNameIndexed, 0, -1, nm, 0) == 0)
{
auto oldProgram = getCurrentProgram();

View file

@ -54,7 +54,7 @@ String AudioPluginInstance::getParameterID (int parameterIndex)
// AudioProcessorParameter class, and the previous behaviour of JUCE's
// plug-in hosting code simply returns a string version of the index; to
// maintain backwards compatibility you should perform the operation below
// this comment. However the caveat is that for plug-ins which change their
// this comment. However, the caveat is that for plug-ins which change their
// number of parameters dynamically at runtime you cannot rely upon the
// returned parameter ID mapping to the correct parameter. A comprehensive
// solution to this problem requires some additional work in JUCE's hosting

View file

@ -62,7 +62,7 @@ AudioProcessor::~AudioProcessor()
{
const ScopedLock sl (activeEditorLock);
// ooh, nasty - the editor should have been deleted before its AudioProcessor.
// ooh, nasty - the editor should have been deleted before its AudioProcessor
jassert (activeEditor == nullptr);
}
@ -955,7 +955,7 @@ void AudioProcessor::copyXmlToBinary (const XmlElement& xml, juce::MemoryBlock&
out.writeByte (0);
}
// go back and write the string length..
// go back and write the string length
static_cast<uint32*> (destData.getData())[1]
= ByteOrder::swapIfBigEndian ((uint32) destData.getSize() - 9);
}

View file

@ -912,7 +912,7 @@ public:
{
suspendProcessing (true);
..do something that takes ages..
...do something that takes ages...
suspendProcessing (false);
}

View file

@ -1178,10 +1178,10 @@ private:
return index;
}
// Handle an input from a single source..
// Handle an input from a single source.
if (sources.size() == 1)
{
// channel with a straightforward single input..
// channel with a straightforward single input
auto src = *sources.begin();
int bufIndex = getBufferContaining (src);
@ -1217,7 +1217,7 @@ private:
return bufIndex;
}
// Handle a mix of several outputs coming into this input..
// Handle a mix of several outputs coming into this input.
int reusableInputIndex = -1;
int bufIndex = -1;
@ -1229,7 +1229,7 @@ private:
if (sourceBufIndex >= 0 && ! isBufferNeededLater (reversed, ourRenderingIndex, inputChan, src))
{
// we've found one of our input chans that can be re-used..
// we've found one of our input chans that can be re-used
reusableInputIndex = i;
bufIndex = sourceBufIndex;
@ -1247,7 +1247,7 @@ private:
if (reusableInputIndex < 0)
{
// can't re-use any of our input chans, so get a new one and copy everything into it..
// can't re-use any of our input chans, so get a new one and copy everything into it
bufIndex = getFreeBuffer (audioBuffers);
jassert (bufIndex != 0);
@ -1315,7 +1315,7 @@ private:
auto& processor = *node.getProcessor();
auto sources = c.getSourcesForDestination ({ node.nodeID, midiChannelIndex });
// No midi inputs..
// no midi inputs
if (sources.empty())
{
auto midiBufferToUse = getFreeBuffer (midiBuffers); // need to pick a buffer even if the processor doesn't use midi
@ -1326,7 +1326,7 @@ private:
return midiBufferToUse;
}
// One midi input..
// one midi input
if (sources.size() == 1)
{
auto src = *sources.begin();
@ -1337,7 +1337,7 @@ private:
if (isBufferNeededLater (reversed, ourRenderingIndex, midiChannelIndex, src))
{
// can't mess up this channel because it's needed later by another node, so we
// need to use a copy of it..
// need to use a copy of it
auto newFreeBuffer = getFreeBuffer (midiBuffers);
sequence.addCopyMidiBufferOp (midiBufferToUse, newFreeBuffer);
midiBufferToUse = newFreeBuffer;
@ -1345,14 +1345,14 @@ private:
}
else
{
// probably a feedback loop, so just use an empty one..
// probably a feedback loop, so just use an empty one
midiBufferToUse = getFreeBuffer (midiBuffers); // need to pick a buffer even if the processor doesn't use midi
}
return midiBufferToUse;
}
// Multiple midi inputs..
// multiple midi inputs
int midiBufferToUse = -1;
int reusableInputIndex = -1;
@ -1365,7 +1365,7 @@ private:
if (sourceBufIndex >= 0
&& ! isBufferNeededLater (reversed, ourRenderingIndex, midiChannelIndex, src))
{
// we've found one of our input buffers that can be re-used..
// we've found one of our input buffers that can be re-used
reusableInputIndex = i;
midiBufferToUse = sourceBufIndex;
break;
@ -1377,7 +1377,7 @@ private:
if (reusableInputIndex < 0)
{
// can't re-use any of our input buffers, so get a new one and copy everything into it..
// can't re-use any of our input buffers, so get a new one and copy everything into it
midiBufferToUse = getFreeBuffer (midiBuffers);
jassert (midiBufferToUse >= 0);

View file

@ -41,7 +41,7 @@ MidiKeyboardComponent::MidiKeyboardComponent (MidiKeyboardState& stateToUse, Ori
{
state.addListener (this);
// initialise with a default set of qwerty key-mappings.
// initialise with a default set of qwerty key-mappings
const std::string_view keys { "awsedftgyhujkolp;" };
for (const char& c : keys)

View file

@ -427,7 +427,7 @@ DWORD performScsiPassThroughCommand (SRB_ExecSCSICmd* const srb, const char driv
//==============================================================================
// Controller types..
// controller types
class ControllerType1 final : public CDController
{
@ -1130,7 +1130,7 @@ bool AudioCDReader::readSamples (int* const* destSamples, int numDestChannels, i
}
// sometimes the read fails for just the very last couple of blocks, so
// we'll ignore and errors in the last half-second of the disk..
// we'll ignore and errors in the last half-second of the disk
ok = startSampleInFile > (trackStartSamples [getNumTracks()] - 20000);
break;
}
@ -1241,7 +1241,7 @@ Array<int> AudioCDReader::findIndexesInTrack (const int trackNumber)
if (index == 0)
{
// lead-out, so skip back a bit if we've not found any indexes yet..
// lead-out, so skip back a bit if we've not found any indexes yet
if (seenAnIndex)
break;

View file

@ -1074,7 +1074,7 @@ public:
int compareElements (ElementType first, ElementType second);
@endcode
..and this method must return:
...and this method must return:
- a value of < 0 if the first comes before the second
- a value of 0 if the two objects are equivalent
- a value of > 0 if the second comes before the first

View file

@ -69,7 +69,7 @@ private:
int compareElements (ElementType first, ElementType second);
@endcode
..and this method must return:
...and this method must return:
- a value of < 0 if the first comes before the second
- a value of 0 if the two objects are equivalent
- a value of > 0 if the second comes before the first
@ -119,7 +119,7 @@ static void sortArray (ElementComparator& comparator,
int compareElements (ElementType first, ElementType second);
@endcode
..and this method must return:
...and this method must return:
- a value of < 0 if the first comes before the second
- a value of 0 if the two objects are equivalent
- a value of > 0 if the second comes before the first

View file

@ -98,7 +98,7 @@ struct DefaultHashFunctions
DBG (hash [1]); // prints "item1"
DBG (hash [2]); // prints "item2"
// This iterates the map, printing all of its key -> value pairs..
// This iterates the map, printing all of its key -> value pairs.
for (HashMap<int, String>::Iterator i (hash); i.next();)
DBG (i.getKey() << " -> " << i.getValue());
@endcode

View file

@ -115,7 +115,7 @@ bool NamedValueSet::operator== (const NamedValueSet& other) const noexcept
}
else
{
// if we encounter keys that are in a different order, search remaining items by brute force..
// if we encounter keys that are in a different order, search remaining items by brute force
for (int j = i; j < num; ++j)
{
if (auto* otherVal = other.getVarPointer (values.getReference (j).name))

View file

@ -44,7 +44,7 @@ namespace juce
Declare it in the form: OwnedArray<MyObjectClass>
..and then add new objects, e.g. myOwnedArray.add (new MyObjectClass());
...and then add new objects, e.g. myOwnedArray.add (new MyObjectClass());
After adding objects, they are 'owned' by the array and will be deleted when
removed or replaced.
@ -440,7 +440,7 @@ public:
else
{
jassertfalse; // you're trying to set an object at a negative index, which doesn't have
// any effect - but since the object is not being added, it may be leaking..
// any effect - but since the object is not being added, it may be leaking
}
return newObject;
@ -775,7 +775,7 @@ public:
int compareElements (ElementType* first, ElementType* second);
@endcode
..and this method must return:
...and this method must return:
- a value of < 0 if the first comes before the second
- a value of 0 if the two objects are equivalent
- a value of > 0 if the second comes before the first

View file

@ -797,7 +797,7 @@ public:
int compareElements (ElementType first, ElementType second);
@endcode
..and this method must return:
...and this method must return:
- a value of < 0 if the first comes before the second
- a value of 0 if the two objects are equivalent
- a value of > 0 if the second comes before the first

View file

@ -293,7 +293,7 @@ public:
if (newElement == elem)
{
elem = newElement; // force an update in case operator== permits differences.
elem = newElement; // force an update in case operator== permits differences
return false;
}

View file

@ -114,7 +114,7 @@ bool DirectoryIterator::next (bool* isDirResult, bool* isHiddenResult, int64* fi
matches = (whatToLookFor & File::findFiles) != 0;
}
// if we're not relying on the OS iterator to do the wildcard match, do it now..
// if we're not relying on the OS iterator to do the wildcard match, do it now
if (matches && (isRecursive || wildCards.size() > 1))
matches = fileMatches (wildCards, filename);

View file

@ -145,7 +145,7 @@ String File::parseAbsolutePath (const String& p)
return {};
#if JUCE_WINDOWS
// Windows..
// Windows
auto path = normaliseSeparators (removeEllipsis (p.replaceCharacter ('/', '\\')));
if (path.startsWithChar (getSeparatorChar()))
@ -178,7 +178,7 @@ String File::parseAbsolutePath (const String& p)
return File::getCurrentWorkingDirectory().getChildFile (path).getFullPathName();
}
#else
// Mac or Linux..
// Mac or Linux
// Yes, I know it's legal for a unix pathname to contain a backslash, but this assertion is here
// to catch anyone who's trying to run code that was written on Windows with hard-coded path names.
@ -228,7 +228,7 @@ String File::parseAbsolutePath (const String& p)
}
#endif
while (path.endsWithChar (getSeparatorChar()) && path != getSeparatorString()) // careful not to turn a single "/" into an empty string.
while (path.endsWithChar (getSeparatorChar()) && path != getSeparatorString()) // careful not to turn a single "/" into an empty string
path = path.dropLastCharacters (1);
return path;
@ -629,7 +629,7 @@ File File::getNonexistentChildFile (const String& suggestedPrefix,
int number = 1;
auto prefix = suggestedPrefix;
// remove any bracketed numbers that may already be on the end..
// remove any bracketed numbers that may already be on the end
if (prefix.trim().endsWithChar (')'))
{
putNumbersInBrackets = true;
@ -941,7 +941,7 @@ String File::getRelativePathFrom (const File& dir) const
}
}
// if the only common bit is the root, then just return the full path..
// if the only common bit is the root, then just return the full path
if (commonBitLength == 0 || (commonBitLength == 1 && thisPath[1] == getSeparatorChar()))
return fullPath;
@ -1118,7 +1118,7 @@ public:
if (roots[i].exists())
++numRootsExisting;
// (on windows, some of the drives may not contain media, so as long as at least one is ok..)
// on windows, some of the drives may not contain media, so as long as at least one is ok
expect (numRootsExisting > 0);
}

View file

@ -756,7 +756,7 @@ public:
the file first and then re-writing it, it creates a new temporary file,
writes the data to that, and then moves the new file to replace the existing
file. This means that if the power gets pulled out or something crashes,
you're a lot less likely to end up with a corrupted or unfinished file..
you're a lot less likely to end up with a corrupted or unfinished file.
Returns true if the operation succeeds, or false if it fails.
@ -791,7 +791,7 @@ public:
the file first and then re-writing it, it creates a new temporary file,
writes the text to that, and then moves the new file to replace the existing
file. This means that if the power gets pulled out or something crashes,
you're a lot less likely to end up with an empty file..
you're a lot less likely to end up with an empty file.
For an explanation of the parameters here, see the appendText() method.

View file

@ -99,7 +99,7 @@ bool TemporaryFile::overwriteTargetFileWithTemporary() const
if (temporaryFile.exists())
{
// Have a few attempts at overwriting the file before giving up..
// Have a few attempts at overwriting the file before giving up.
for (int i = 5; --i >= 0;)
{
if (temporaryFile.replaceFileIn (targetFile))
@ -120,7 +120,7 @@ bool TemporaryFile::overwriteTargetFileWithTemporary() const
bool TemporaryFile::deleteTemporaryFile() const
{
// Have a few attempts at deleting the file before giving up..
// Have a few attempts at deleting the file before giving up.
for (int i = 5; --i >= 0;)
{
if (temporaryFile.isDirectory() ? temporaryFile.deleteRecursively() : temporaryFile.deleteFile())

View file

@ -58,12 +58,12 @@ namespace juce
out->write ( ...etc )
out.reset(); // (deletes the stream)
// ..now we've finished writing, this will rename the temp file to
// make it replace the target file we specified above.
// ...now we've finished writing, this will rename the temp file to
// make it replace the target file we specified above
bool succeeded = temp.overwriteTargetFileWithTemporary();
}
// ..and even if something went wrong and our overwrite failed,
// ...and even if something went wrong and our overwrite failed,
// as the TemporaryFile object goes out of scope here, it'll make sure
// that the temp file gets deleted.
}

View file

@ -250,7 +250,7 @@ uint32 BigInteger::getBitRangeAsInt (const int startBit, int numBits) const noex
{
if (numBits > 32)
{
jassertfalse; // use getBitRange() if you need more than 32 bits..
jassertfalse; // use getBitRange() if you need more than 32 bits
numBits = 32;
}
@ -646,7 +646,7 @@ BigInteger& BigInteger::operator|= (const BigInteger& other)
if (this == &other)
return *this;
// this operation doesn't take into account negative values..
// this operation doesn't take into account negative values
jassert (isNegative() == other.isNegative());
if (other.highestBit >= 0)
@ -673,7 +673,7 @@ BigInteger& BigInteger::operator&= (const BigInteger& other)
if (this == &other)
return *this;
// this operation doesn't take into account negative values..
// this operation doesn't take into account negative values
jassert (isNegative() == other.isNegative());
auto* values = getValues();

View file

@ -909,7 +909,7 @@ struct Expression::Helpers
return *new DotOperator (new SymbolTerm (identifier), rhs);
}
// just a symbol..
// just a symbol
jassert (identifier.trim() == identifier);
return *new SymbolTerm (identifier);
}

View file

@ -521,7 +521,7 @@ Type jlimit (Type lowerLimit,
Type upperLimit,
Type valueToConstrain) noexcept
{
jassert (lowerLimit <= upperLimit); // if these are in the wrong order, results are unpredictable..
jassert (lowerLimit <= upperLimit); // if these are in the wrong order, results are unpredictable
return valueToConstrain < lowerLimit ? lowerLimit
: (upperLimit < valueToConstrain ? upperLimit
@ -536,14 +536,14 @@ Type jlimit (Type lowerLimit,
template <typename Type1, typename Type2>
bool isPositiveAndBelow (Type1 valueToTest, Type2 upperLimit) noexcept
{
jassert (Type1() <= static_cast<Type1> (upperLimit)); // makes no sense to call this if the upper limit is itself below zero..
jassert (Type1() <= static_cast<Type1> (upperLimit)); // makes no sense to call this if the upper limit is itself below zero
return Type1() <= valueToTest && valueToTest < static_cast<Type1> (upperLimit);
}
template <typename Type>
bool isPositiveAndBelow (int valueToTest, Type upperLimit) noexcept
{
jassert (upperLimit >= 0); // makes no sense to call this if the upper limit is itself below zero..
jassert (upperLimit >= 0); // makes no sense to call this if the upper limit is itself below zero
return static_cast<unsigned int> (valueToTest) < static_cast<unsigned int> (upperLimit);
}
@ -555,14 +555,14 @@ bool isPositiveAndBelow (int valueToTest, Type upperLimit) noexcept
template <typename Type1, typename Type2>
bool isPositiveAndNotGreaterThan (Type1 valueToTest, Type2 upperLimit) noexcept
{
jassert (Type1() <= static_cast<Type1> (upperLimit)); // makes no sense to call this if the upper limit is itself below zero..
jassert (Type1() <= static_cast<Type1> (upperLimit)); // makes no sense to call this if the upper limit is itself below zero
return Type1() <= valueToTest && valueToTest <= static_cast<Type1> (upperLimit);
}
template <typename Type>
bool isPositiveAndNotGreaterThan (int valueToTest, Type upperLimit) noexcept
{
jassert (upperLimit >= 0); // makes no sense to call this if the upper limit is itself below zero..
jassert (upperLimit >= 0); // makes no sense to call this if the upper limit is itself below zero
return static_cast<unsigned int> (valueToTest) <= static_cast<unsigned int> (upperLimit);
}

View file

@ -73,7 +73,7 @@ namespace HeapBlockHelper
free (temp);
@endcode
..you could just write this:
...you could just write this:
@code
HeapBlock<int> temp (1024);
memcpy (temp, xyz, 1024 * sizeof (int));
@ -343,7 +343,7 @@ private:
auto* memory = static_cast<ElementType*> (f());
#if JUCE_EXCEPTIONS_DISABLED
jassert (memory != nullptr); // without exceptions, you'll need to find a better way to handle this failure case.
jassert (memory != nullptr); // without exceptions, you'll need to find a better way to handle this failure case
#else
HeapBlockHelper::ThrowOnFail<throwOnFailure>::checkPointer (memory);
#endif

View file

@ -67,7 +67,7 @@ public:
DBG ("*** Dangling pointer deletion! Class: " << getLeakedObjectClassName());
/** If you hit this, then you've managed to delete more instances of this class than you've
created.. That indicates that you're deleting some dangling pointers.
created. That indicates that you're deleting some dangling pointers.
Note that although this assertion will have been triggered during a destructor, it might
not be this particular deletion that's at fault - the incorrect one may have happened

View file

@ -369,7 +369,7 @@ String MemoryBlock::toBase64Encoding() const
{
auto numChars = ((size << 3) + 5) / 6;
String destString ((unsigned int) size); // store the length, followed by a '.', and then the data.
String destString ((unsigned int) size); // store the length, followed by a '.', and then the data
auto initialLen = destString.length();
destString.preallocateBytes ((size_t) initialLen * sizeof (String::CharPointerType::CharType) + 2 + numChars);

View file

@ -48,7 +48,7 @@ namespace juce
void foo();
// This is a neat way of declaring a typedef for a pointer class,
// rather than typing out the full templated name each time..
// rather than typing out the full templated name each time.
using Ptr = ReferenceCountedObjectPtr<MyClass>;
};

View file

@ -178,7 +178,7 @@ struct SingletonHolder : private MutexType // (inherited so we can use the empt
JUCE_DECLARE_SINGLETON (MySingleton, false)
};
// ..and this goes in a suitable .cpp file:
// ...and this goes in a suitable .cpp file:
JUCE_IMPLEMENT_SINGLETON (MySingleton)
@ -187,7 +187,7 @@ struct SingletonHolder : private MutexType // (inherited so we can use the empt
...
MySingleton::deleteInstance(); // safely deletes the singleton (if it's been created).
MySingleton::deleteInstance(); // safely deletes the singleton (if it's been created)
@endcode

View file

@ -71,7 +71,7 @@ namespace juce
OR: just use the handy JUCE_DECLARE_WEAK_REFERENCEABLE macro to do all this for you.
// Here's an example of using a pointer..
// Here's an example of using a pointer.
auto* n = new MyObject();
WeakReference<MyObject> myObjectRef = n;

View file

@ -276,7 +276,7 @@
#include <cpu-features.h>
#endif
// Need to clear various moronic redefinitions made by system headers..
// Need to clear various moronic redefinitions made by system headers.
#undef max
#undef min
#undef direct

View file

@ -477,7 +477,7 @@ OSType File::getMacOSType() const
bool File::isBundle() const
{
#if JUCE_IOS
return false; // xxx can't find a sensible way to do this without trying to open the bundle..
return false; // xxx can't find a sensible way to do this without trying to open the bundle
#else
JUCE_AUTORELEASEPOOL
{

View file

@ -342,7 +342,7 @@ bool File::moveToTrash() const
if (! exists())
return true;
// The string we pass in must be double null terminated..
// The string we pass in must be double null terminated.
const size_t numBytes = CharPointer_UTF16::getBytesRequiredFor (fullPath.getCharPointer()) + 8;
HeapBlock<WCHAR> doubleNullTermPath;
doubleNullTermPath.calloc (numBytes, 1);

View file

@ -401,7 +401,7 @@ public:
LocalRef<jobject> responseHeaderBuffer (env->NewObject (StringBuffer, StringBuffer.constructor));
// Annoyingly, the android HTTP functions will choke on this call if you try to do it on the message
// thread. You'll need to move your networking code to a background thread to keep it happy..
// thread. You'll need to move your networking code to a background thread to keep it happy.
jassert (Thread::getCurrentThread() != nullptr);
jintArray statusCodeArray = env->NewIntArray (1);

View file

@ -292,7 +292,7 @@ private:
if (sessionHandle != nullptr)
{
// break up the url..
// break up the url
const int fileNumChars = 65536;
const int serverNumChars = 2048;
const int usernameNumChars = 1024;

View file

@ -190,7 +190,7 @@ namespace
}
#if ! JUCE_WASM
// if this file doesn't exist, find a parent of it that does..
// if this file doesn't exist, find a parent of it that does
bool juce_doStatFS (File f, struct statfs& result)
{
for (int i = 5; --i >= 0;)
@ -318,7 +318,7 @@ static bool setFileModeFlags (const String& fullPath, mode_t flags, bool shouldS
bool File::setFileReadOnlyInternal (bool shouldBeReadOnly) const
{
// Hmm.. should we give global write permission or just the current user?
// Should we give global write permission or just the current user?
return setFileModeFlags (fullPath, S_IWUSR | S_IWGRP | S_IWOTH, ! shouldBeReadOnly);
}
@ -707,7 +707,7 @@ void juce_runSystemCommand (const String& command)
String juce_getOutputFromCommand (const String&);
String juce_getOutputFromCommand (const String& command)
{
// slight bodge here, as we just pipe the output into a temp file and read it...
// slight bodge here, as we just pipe the output into a temp file and read it
auto tempFile = File::getSpecialLocation (File::tempDirectory)
.getNonexistentChildFile (String::toHexString (Random::getSystemRandom().nextInt()), ".tmp", false);
@ -726,7 +726,7 @@ class InterProcessLock::Pimpl
public:
Pimpl (const String&, int) {}
int handle = 1, refCount = 1; // On iOS just fake success..
int handle = 1, refCount = 1; // on iOS just fake success
};
#else
@ -738,7 +738,7 @@ public:
{
#if JUCE_MAC
if (! createLockFile (File ("~/Library/Caches/com.juce.locks").getChildFile (lockName), timeOutMillisecs))
// Fallback if the user's home folder is on a network drive with no ability to lock..
// fallback if the user's home folder is on a network drive with no ability to lock
createLockFile (File ("/tmp/com.juce.locks").getChildFile (lockName), timeOutMillisecs);
#else
@ -795,7 +795,7 @@ public:
}
closeFile();
return true; // only false if there's a file system error. Failure to lock still returns true.
return true; // only false if there's a file system error. Failure to lock still returns true
}
void closeFile()
@ -1127,7 +1127,7 @@ public:
}
else if (result == 0)
{
// we're the child process..
// we're the child process
close (pipeHandles[0]); // close the read handle
if ((streamFlags & wantStdOut) != 0)
@ -1155,7 +1155,7 @@ public:
}
else
{
// we're the parent process..
// we're the parent process
childPID = result;
pipeHandle = pipeHandles[0];
close (pipeHandles[1]); // close the write handle

View file

@ -73,7 +73,6 @@ bool SystemStats::isOperatingSystem64Bit()
#if JUCE_64BIT
return true;
#else
//xxx not sure how to find this out?..
return false;
#endif
}

View file

@ -233,7 +233,7 @@ static int lastProcessPriority = -1;
void juce_repeatLastProcessPriority();
void juce_repeatLastProcessPriority()
{
if (lastProcessPriority >= 0) // (avoid changing this if it's not been explicitly set by the app..)
if (lastProcessPriority >= 0) // avoid changing this if it's not been explicitly set by the app
{
DWORD p;
@ -295,7 +295,7 @@ void JUCE_CALLTYPE Process::terminate()
_CrtDumpMemoryLeaks();
#endif
// bullet in the head in case there's a problem shutting down..
// bullet in the head in case there's a problem shutting down
ExitProcess (1);
}

View file

@ -153,7 +153,7 @@ namespace SocketHelpers
if (isListener)
{
// need to do this to interrupt the accept() function..
// need to do this to interrupt the accept() function
StreamingSocket temp;
temp.connect (IPAddress::local().toString(), portNumber, 1000);
}

View file

@ -507,7 +507,7 @@ void URL::createHeadersAndPostData (String& headers,
if (filesToUpload.size() > 0)
{
// (this doesn't currently support mixing custom post-data with uploads..)
// this doesn't currently support mixing custom post-data with uploads
jassert (postData.isEmpty());
auto boundary = String::toHexString (Random::getSystemRandom().nextInt64());
@ -550,7 +550,7 @@ void URL::createHeadersAndPostData (String& headers,
data << postData;
// if the user-supplied headers didn't contain a content-type, add one now..
// if the user-supplied headers didn't contain a content-type, add one now
if (! headers.containsIgnoreCase ("Content-Type"))
headers << "Content-Type: application/x-www-form-urlencoded\r\n";

View file

@ -177,13 +177,13 @@ bool MemoryOutputStream::setPosition (int64 newPosition)
return true;
}
// can't move beyond the end of the stream..
// can't move beyond the end of the stream
return false;
}
int64 MemoryOutputStream::writeFromInputStream (InputStream& source, int64 maxNumBytesToWrite)
{
// before writing from an input, see if we can preallocate to make it more efficient..
// before writing from an input, see if we can preallocate to make it more efficient
const auto availableData = source.getTotalLength() - source.getPosition();
if (availableData > 0)

View file

@ -48,7 +48,7 @@ struct DanglingStreamChecker
It's always a bad idea to leak any object, but if you're leaking output
streams, then there's a good chance that you're failing to flush a file
to disk properly, which could result in corrupted data and other similar
nastiness..
nastiness.
*/
jassert (activeStreams.size() == 0);

View file

@ -187,7 +187,7 @@ namespace juce
#else
//==============================================================================
// If debugging is disabled, these dummy debug and assertion macros are used..
// If debugging is disabled, these dummy debug and assertion macros are used.
#define DBG(textToWrite)
#define jassertfalse JUCE_BLOCK_WITH_FORCED_SEMICOLON (JUCE_LOG_CURRENT_ASSERTION;)
@ -228,19 +228,19 @@ namespace juce
@code
class MyClass
{
etc..
etc.
private:
MyClass (const MyClass&);
MyClass& operator= (const MyClass&);
};@endcode
..you can just write:
...you can just write:
@code
class MyClass
{
etc..
etc.
private:
JUCE_DECLARE_NON_COPYABLE (MyClass)

View file

@ -95,7 +95,7 @@
#include "juce_PlatformDefs.h"
//==============================================================================
// Now we'll include some common OS headers..
// Now we'll include some common OS headers.
JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4514 4245 4100)
#if JUCE_MSVC
@ -134,7 +134,7 @@ JUCE_END_IGNORE_WARNINGS_MSVC
#include <byteswap.h>
#endif
// undef symbols that are sometimes set by misguided 3rd-party headers..
// undef symbols that are sometimes set by misguided 3rd-party headers
#undef TYPE_BOOL
#undef max
#undef min

View file

@ -204,7 +204,7 @@ public:
static StringArray getMachineIdentifiers (MachineIdFlags flags);
//==============================================================================
// CPU and memory information..
// CPU and memory information
/** Returns the number of logical CPU cores. */
static int getNumCpus() noexcept;

View file

@ -84,7 +84,7 @@ namespace
// before the currentMappings object, we can force the static order-of-destruction to
// delete the currentMappings object first, which avoids a bogus leak warning.
// (Oddly, just creating a LocalisedStrings on the stack doesn't work in gcc, it
// has to be created with 'new' for this to work..)
// has to be created with 'new' for this to work.)
struct LeakAvoidanceTrick
{
LeakAvoidanceTrick()

View file

@ -314,7 +314,7 @@ String::String (const char* const t)
To get around this problem, you must be more explicit when you pass an ambiguous 8-bit
string to the String class - so for example if your source data is actually UTF-8,
you'd call String (CharPointer_UTF8 ("my utf8 string..")), and it would be able to
you'd call String (CharPointer_UTF8 ("my utf8 string.")), and it would be able to
correctly convert the multi-byte characters to unicode. It's *highly* recommended that
you use UTF-8 with escape characters in your source code to represent extended characters,
because there's no other way to represent these strings in a way that isn't dependent on
@ -337,7 +337,7 @@ String::String (const char* const t, const size_t maxChars)
To get around this problem, you must be more explicit when you pass an ambiguous 8-bit
string to the String class - so for example if your source data is actually UTF-8,
you'd call String (CharPointer_UTF8 ("my utf8 string..")), and it would be able to
you'd call String (CharPointer_UTF8 ("my utf8 string.")), and it would be able to
correctly convert the multi-byte characters to unicode. It's *highly* recommended that
you use UTF-8 with escape characters in your source code to represent extended characters,
because there's no other way to represent these strings in a way that isn't dependent on
@ -419,7 +419,7 @@ namespace NumberToStringConverters
return t;
}
// pass in a pointer to the END of a buffer..
// pass in a pointer to the END of a buffer
static char* numberToString (char* t, int64 n) noexcept
{
if (n >= 0)
@ -2058,7 +2058,7 @@ struct StringEncodingConverter
void* const newSpace = addBytesToPointer (text.getAddress(), (int) endOffset);
const CharPointerType_Dest extraSpace (static_cast<DestChar*> (newSpace));
#if JUCE_DEBUG // (This just avoids spurious warnings from valgrind about the uninitialised bytes at the end of the buffer..)
#if JUCE_DEBUG // This just avoids spurious warnings from valgrind about the uninitialised bytes at the end of the buffer.
auto bytesToClear = (size_t) jmin ((int) extraBytesNeeded, 4);
zeromem (addBytesToPointer (newSpace, extraBytesNeeded - bytesToClear), bytesToClear);
#endif
@ -2191,7 +2191,7 @@ StringRef::StringRef (const char* stringLiteral) noexcept
To get around this problem, you must be more explicit when you pass an ambiguous 8-bit
string to the StringRef class - so for example if your source data is actually UTF-8,
you'd call StringRef (CharPointer_UTF8 ("my utf8 string..")), and it would be able to
you'd call StringRef (CharPointer_UTF8 ("my utf8 string.")), and it would be able to
correctly convert the multi-byte characters to unicode. It's *highly* recommended that
you use UTF-8 with escape characters in your source code to represent extended characters,
because there's no other way to represent these strings in a way that isn't dependent on

View file

@ -86,7 +86,7 @@ public:
assertion.
To create strings with extended characters from UTF-8, you should explicitly call
String (CharPointer_UTF8 ("my utf8 string..")). It's *highly* recommended that you
String (CharPointer_UTF8 ("my utf8 string.")). It's *highly* recommended that you
use UTF-8 with escape characters in your source code to represent extended characters,
because there's no other way to represent unicode strings in a way that isn't dependent
on the compiler, source code editor and platform.
@ -101,7 +101,7 @@ public:
assertion.
To create strings with extended characters from UTF-8, you should explicitly call
String (CharPointer_UTF8 ("my utf8 string..")). In C++20 or later, you may alternatively
String (CharPointer_UTF8 ("my utf8 string.")). In C++20 or later, you may alternatively
pass a char8_t string to indicate a UTF-8 encoding. It's *highly* recommended that you
use UTF-8 with escape characters in your source code to represent extended characters,
because there's no other way to represent unicode strings in a way that isn't dependent
@ -217,7 +217,7 @@ public:
int length() const noexcept;
//==============================================================================
// Assignment and concatenation operators..
// Assignment and concatenation operators
/** Replaces this string's contents with another string. */
String& operator= (const String& other) noexcept;
@ -328,7 +328,7 @@ public:
}
//==============================================================================
// Comparison methods..
// Comparison methods
/** Returns true if the string contains no characters.
Note that there's also an isNotEmpty() method to help write readable code.
@ -513,7 +513,7 @@ public:
bool matchesWildcard (StringRef wildcard, bool ignoreCase) const noexcept;
//==============================================================================
// Substring location methods..
// Substring location methods
/** Searches for a character inside this string.
Uses a case-sensitive comparison.
@ -616,7 +616,7 @@ public:
//==============================================================================
// Substring extraction and manipulation methods..
// Substring extraction and manipulation methods
/** Returns the character at this index in the string.
In a release build, no checks are made to see if the index is within a valid range, so be
@ -976,7 +976,7 @@ public:
CharPointerType end() const { return begin().findTerminatingNull(); }
//==============================================================================
// Numeric conversions..
// Numeric conversions
/** Creates a string containing this signed 32-bit integer as a decimal number.
@see getIntValue, getFloatValue, getDoubleValue, toHexString

View file

@ -69,7 +69,7 @@ bool StringPairArray::operator== (const StringPairArray& other) const
}
else
{
// if we encounter keys that are in a different order, search remaining items by brute force..
// if we encounter keys that are in a different order, search remaining items by brute force
for (int j = i; j < num; ++j)
{
auto otherIndex = other.keys.indexOf (keys[j], other.ignoreCase);

View file

@ -183,11 +183,11 @@ private:
{
const ScopedLock myScopedLock (objectLock);
// objectLock is now locked..
// objectLock is now locked...
...do some thread-safe work here...
// ..and objectLock gets unlocked here, as myScopedLock goes out of
// ...and objectLock gets unlocked here, as myScopedLock goes out of
// scope at the end of the block
}
};
@ -217,18 +217,18 @@ using ScopedLock = CriticalSection::ScopedLockType;
{
const ScopedLock myScopedLock (objectLock);
// objectLock is now locked..
// objectLock is now locked...
{
ScopedUnlock myUnlocker (objectLock);
// ..and now unlocked..
// ...and now unlocked...
}
// ..and now locked again..
// ...and now locked again...
}
// ..and finally unlocked.
// ...and finally unlocked.
}
};
@endcode
@ -254,14 +254,14 @@ using ScopedUnlock = CriticalSection::ScopedUnlockType;
const ScopedTryLock myScopedTryLock (objectLock);
// Unlike using a ScopedLock, this may fail to actually get the lock, so you
// must call the isLocked() method before making any assumptions..
// must call the isLocked() method before making any assumptions.
if (myScopedTryLock.isLocked())
{
...safely do some work...
}
else
{
// If we get here, then our attempt at locking failed because another thread had already locked it..
// If we get here, then our attempt at locking failed because another thread had already locked it.
}
}
};

View file

@ -101,7 +101,7 @@ void ReadWriteLock::exitRead() const noexcept
}
}
jassertfalse; // unlocking a lock that wasn't locked..
jassertfalse; // unlocking a lock that wasn't locked
}
//==============================================================================
@ -144,7 +144,7 @@ void ReadWriteLock::exitWrite() const noexcept
{
const SpinLock::ScopedLockType sl (accessLock);
// check this thread actually had the lock..
// check this thread actually had the lock
jassert (numWriters > 0 && writerThreadId == Thread::getCurrentThreadId());
if (--numWriters == 0)

View file

@ -54,7 +54,7 @@ namespace juce
...do some stuff...
// myCriticalSection gets unlocked here.
// myCriticalSection gets unlocked here
}
@endcode
@ -111,11 +111,11 @@ private:
const GenericScopedLock<CriticalSection> myScopedLock (myCriticalSection);
// myCriticalSection is now locked
... do some stuff with it locked ..
... do some stuff with it locked...
while (xyz)
{
... do some stuff with it locked ..
... do some stuff with it locked...
const GenericScopedUnlock<CriticalSection> unlocker (myCriticalSection);
@ -125,7 +125,7 @@ private:
...do some stuff with it unlocked ...
}
// myCriticalSection gets unlocked here.
// myCriticalSection gets unlocked here
}
@endcode
@ -187,14 +187,14 @@ private:
// Unlike using a ScopedLock, this may fail to actually get the lock, so you
// should test this with the isLocked() method before doing your thread-unsafe
// action..
// action.
if (myScopedTryLock.isLocked())
{
...do some stuff...
}
else
{
..our attempt at locking failed because another thread had already locked it..
...our attempt at locking failed because another thread had already locked it...
}
// myCriticalSection gets unlocked here (if it was locked)

View file

@ -52,7 +52,7 @@ namespace juce
...do some stuff...
// myLock gets unlocked here.
// myLock gets unlocked here
}
@endcode
@ -117,10 +117,10 @@ private:
}
else
{
..our attempt at locking failed because a write lock has already been issued..
...our attempt at locking failed because a write lock has already been issued...
}
// myLock gets unlocked here (if it was locked).
// myLock gets unlocked here (if it was locked)
}
@endcode

View file

@ -52,7 +52,7 @@ namespace juce
...do some stuff...
// myLock gets unlocked here.
// myLock gets unlocked here
}
@endcode
@ -117,10 +117,10 @@ private:
}
else
{
..our attempt at locking failed because some other thread has already locked the object..
...our attempt at locking failed because some other thread has already locked the object...
}
// myLock gets unlocked here (if it was locked).
// myLock gets unlocked here (if it was locked)
}
@endcode

View file

@ -261,7 +261,7 @@ bool Thread::stopThread (const int timeOutMilliseconds)
if (isThreadRunning())
{
// very bad karma if this point is reached, as there are bound to be
// locks and events left in silly states when a thread is killed by force..
// locks and events left in silly states when a thread is killed by force
jassertfalse;
Logger::writeToLog ("!! killing thread by force !!");

View file

@ -82,10 +82,10 @@ public:
enum JobStatus
{
jobHasFinished = 0, /**< indicates that the job has finished and can be
removed from the pool. */
removed from the pool */
jobNeedsRunningAgain /**< indicates that the job would like to be called
again when a thread is free. */
again when a thread is free */
};
/** Performs the actual work that this job needs to do.

View file

@ -61,10 +61,10 @@ void TimeSliceThread::removeTimeSliceClient (TimeSliceClient* const client)
const ScopedLock sl1 (listLock);
// if there's a chance we're in the middle of calling this client, we need to
// also lock the outer lock..
// also lock the outer lock
if (clientBeingCalled == client)
{
const ScopedUnlock ul (listLock); // unlock first to get the order right..
const ScopedUnlock ul (listLock); // unlock first to get the order right
const ScopedLock sl2 (callbackLock);
const ScopedLock sl3 (listLock);

View file

@ -142,7 +142,7 @@ namespace TimeHelpers
}
// There's no posix function that does a UTC version of mktime,
// so annoyingly we need to implement this manually..
// so annoyingly we need to implement this manually.
static int64 mktime_utc (const std::tm& t) noexcept
{
return 24 * 3600 * (daysFrom1970 (t.tm_year + 1900, t.tm_mon) + (t.tm_mday - 1))
@ -244,9 +244,9 @@ uint32 Time::getMillisecondCounter() noexcept
if (now < TimeHelpers::lastMSCounterValue.get())
{
// in multi-threaded apps this might be called concurrently, so
// In multi-threaded apps this might be called concurrently, so
// make sure that our last counter value only increases and doesn't
// go backwards..
// go backwards.
if (now < TimeHelpers::lastMSCounterValue.get() - (uint32) 1000)
TimeHelpers::lastMSCounterValue = now;
}

View file

@ -293,7 +293,7 @@ public:
static String getMonthName (int monthNumber, bool threeLetterVersion);
//==============================================================================
// Static methods for getting system timers directly..
// Static methods for getting system timers directly
/** Returns the current system time.
@ -345,7 +345,7 @@ public:
static uint32 getApproximateMillisecondCounter() noexcept;
//==============================================================================
// High-resolution timers..
// High-resolution timers
/** Returns the current high-resolution counter's tick-count.

View file

@ -62,7 +62,7 @@ class UnitTestRunner;
expect (myOtherFoobar.doesSomething());
expect (myOtherFoobar.doesSomethingElse());
...etc..
...etc...
}
};

Some files were not shown because too many files have changed in this diff Show more