1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-25 02:04:23 +00:00

Fix a build error and some warnings when building the SamplerPluginDemo example on Windows

This commit is contained in:
ed 2018-03-16 15:27:05 +00:00
parent 5cfc2d24ea
commit 563869300e

View file

@ -56,6 +56,7 @@
#include <iomanip>
#include <sstream>
#include <functional>
#include <mutex>
namespace IDs
{
@ -350,9 +351,9 @@ private:
auto invAlpha = 1.0f - alpha;
// just using a very simple linear interpolation here..
auto l = currentLevel * (inL[pos] * invAlpha + inL[nextPos] * alpha);
auto r = (inR != nullptr) ? currentLevel * (inR[pos] * invAlpha + inR[nextPos] * alpha)
: l;
auto l = static_cast<float> (currentLevel * (inL[pos] * invAlpha + inL[nextPos] * alpha));
auto r = static_cast<float> ((inR != nullptr) ? currentLevel * (inR[pos] * invAlpha + inR[nextPos] * alpha)
: l);
if (outR != nullptr)
{
@ -360,7 +361,9 @@ private:
outR[writePos] += r;
}
else
{
outL[writePos] += (l + r) * 0.5f;
}
std::tie (currentSamplePos, currentDirection) = getNextState (currentFrequency,
currentLoopBegin,
@ -394,11 +397,11 @@ private:
backward
};
std::tuple<double, Direction> getNextState (double frequency,
double loopBegin,
double loopEnd) const
std::tuple<double, Direction> getNextState (double freq,
double begin,
double end) const
{
auto nextPitchRatio = frequency / samplerSound->getCentreFrequencyInHz();
auto nextPitchRatio = freq / samplerSound->getCentreFrequencyInHz();
auto nextSamplePos = currentSamplePos;
auto nextDirection = currentDirection;
@ -418,9 +421,9 @@ private:
// Update current sample position, taking loop mode into account
// If the loop mode was changed while we were travelling backwards, deal
// with it gracefully.
if (nextDirection == Direction::backward && nextSamplePos < loopBegin)
if (nextDirection == Direction::backward && nextSamplePos < begin)
{
nextSamplePos = loopBegin;
nextSamplePos = begin;
nextDirection = Direction::forward;
return { nextSamplePos, nextDirection };
@ -429,13 +432,13 @@ private:
if (samplerSound->getLoopMode() == LoopMode::none)
return { nextSamplePos, nextDirection };
if (nextDirection == Direction::forward && loopEnd < nextSamplePos && !isTailingOff())
if (nextDirection == Direction::forward && end < nextSamplePos && !isTailingOff())
{
if (samplerSound->getLoopMode() == LoopMode::forward)
nextSamplePos = loopBegin;
nextSamplePos = begin;
else if (samplerSound->getLoopMode() == LoopMode::pingpong)
{
nextSamplePos = loopEnd;
nextSamplePos = end;
nextDirection = Direction::backward;
}
}
@ -625,8 +628,8 @@ public:
{
public:
virtual ~Listener() noexcept = default;
virtual void totalRangeChanged (Range<double> value) {}
virtual void visibleRangeChanged (Range<double> value) {}
virtual void totalRangeChanged (Range<double>) {}
virtual void visibleRangeChanged (Range<double>) {}
};
VisibleRangeDataModel()
@ -691,8 +694,7 @@ public:
}
private:
void valueTreePropertyChanged (ValueTree &treeWhosePropertyHasChanged,
const Identifier &property) override
void valueTreePropertyChanged (ValueTree &, const Identifier &property) override
{
if (property == IDs::totalRange)
{
@ -727,13 +729,13 @@ public:
{
public:
virtual ~Listener() noexcept = default;
virtual void synthVoicesChanged (int value) {}
virtual void voiceStealingEnabledChanged (bool value) {}
virtual void legacyModeEnabledChanged (bool value) {}
virtual void mpeZoneLayoutChanged (const MPEZoneLayout& value) {}
virtual void legacyFirstChannelChanged (int value) {}
virtual void legacyLastChannelChanged (int value) {}
virtual void legacyPitchbendRangeChanged (int value) {}
virtual void synthVoicesChanged (int) {}
virtual void voiceStealingEnabledChanged (bool) {}
virtual void legacyModeEnabledChanged (bool) {}
virtual void mpeZoneLayoutChanged (const MPEZoneLayout&) {}
virtual void legacyFirstChannelChanged (int) {}
virtual void legacyLastChannelChanged (int) {}
virtual void legacyPitchbendRangeChanged (int) {}
};
MPESettingsDataModel()
@ -852,8 +854,7 @@ public:
}
private:
void valueTreePropertyChanged (ValueTree &treeWhosePropertyHasChanged,
const Identifier &property) override
void valueTreePropertyChanged (ValueTree&, const Identifier &property) override
{
if (property == IDs::synthVoices)
{
@ -918,10 +919,10 @@ public:
{
public:
virtual ~Listener() noexcept = default;
virtual void sampleReaderChanged (std::shared_ptr<AudioFormatReaderFactory> value) {}
virtual void centreFrequencyHzChanged (double value) {}
virtual void loopModeChanged (LoopMode value) {}
virtual void loopPointsSecondsChanged (Range<double> value) {}
virtual void sampleReaderChanged (std::shared_ptr<AudioFormatReaderFactory>) {}
virtual void centreFrequencyHzChanged (double) {}
virtual void loopModeChanged (LoopMode) {}
virtual void loopPointsSecondsChanged (Range<double>) {}
};
explicit DataModel (AudioFormatManager& audioFormatManager)
@ -966,8 +967,8 @@ public:
double getSampleLengthSeconds() const
{
if (auto sampleReader = getSampleReader())
return sampleReader->lengthInSamples / sampleReader->sampleRate;
if (auto r = getSampleReader())
return r->lengthInSamples / r->sampleRate;
return 1.0;
}
@ -1031,8 +1032,7 @@ public:
}
private:
void valueTreePropertyChanged (ValueTree &treeWhosePropertyHasChanged,
const Identifier &property) override
void valueTreePropertyChanged (ValueTree&, const Identifier& property) override
{
if (property == IDs::sampleReader)
{
@ -1438,7 +1438,8 @@ private:
newPath.startNewSubPath (bounds.getBottomLeft().toFloat());
newPath.lineTo (bounds.getBottomRight().toFloat());
Point<float> apex (bounds.getX() + (bounds.getWidth() / 2), bounds.getBottom() - triHeight);
Point<float> apex (static_cast<float> (bounds.getX() + (bounds.getWidth() / 2)),
static_cast<float> (bounds.getBottom() - triHeight));
newPath.lineTo (apex);
newPath.closeSubPath();
@ -1459,7 +1460,7 @@ private:
bool hitTest (int x, int y) override
{
return path.contains (x, y);
return path.contains ((float) x, (float) y);
}
void mouseDown (const MouseEvent& e) override
@ -1511,14 +1512,14 @@ private:
0,
bg.darker(),
0,
getHeight(),
(float) getHeight(),
false));
g.fillAll();
g.setColour (bg.brighter());
g.drawHorizontalLine (0, 0, getWidth());
g.drawHorizontalLine (0, 0.0f, (float) getWidth());
g.setColour (bg.darker());
g.drawHorizontalLine (1, 0, getWidth());
g.drawHorizontalLine (1, 0.0f, (float) getWidth());
g.setColour (Colours::lightgrey);
auto minLog = std::ceil (std::log10 (visibleRange.getVisibleRange().getLength() / maxDivisions));
@ -1533,15 +1534,15 @@ private:
/ visibleRange.getVisibleRange().getLength();
std::ostringstream out_stream;
out_stream << std::setprecision (precision) << time;
out_stream << std::setprecision (roundToInt (precision)) << roundToInt (time);
g.drawText (out_stream.str(),
Rectangle<int> (Point<int> (xPos + 3, 0),
Point<int> (xPos + minDivisionWidth, getHeight())),
Rectangle<int> (Point<int> (roundToInt (xPos) + 3, 0),
Point<int> (roundToInt (xPos + minDivisionWidth), getHeight())),
Justification::centredLeft,
false);
g.drawVerticalLine (xPos, 2, getHeight());
g.drawVerticalLine (roundToInt (xPos), 2.0f, (float) getHeight());
}
}
@ -1566,7 +1567,7 @@ private:
visibleRange.setVisibleRange (range, nullptr);
}
void visibleRangeChanged (Range<double> value) override
void visibleRangeChanged (Range<double>) override
{
repaint();
}
@ -1610,7 +1611,7 @@ private:
positionLoopPointMarkers();
}
void loopPointMouseDown (LoopPointMarker& marker, const MouseEvent& e)
void loopPointMouseDown (LoopPointMarker&, const MouseEvent&)
{
loopPointsOnMouseDown = dataModel.getLoopPointsSeconds();
undoManager->beginNewTransaction();
@ -1634,12 +1635,12 @@ private:
dataModel.setLoopPointsSeconds (newLoopRange, undoManager);
}
void loopPointsSecondsChanged (Range<double> value) override
void loopPointsSecondsChanged (Range<double>) override
{
positionLoopPointMarkers();
}
void visibleRangeChanged (Range<double> value) override
void visibleRangeChanged (Range<double>) override
{
positionLoopPointMarkers();
}
@ -1666,7 +1667,7 @@ private:
auto ptr = std::get<0> (tup);
auto time = std::get<1> (tup);
ptr->setSize (halfMarkerWidth * 2, getHeight());
ptr->setTopLeftPosition (timeToXPosition (time) - halfMarkerWidth, 0);
ptr->setTopLeftPosition (roundToInt (timeToXPosition (time) - halfMarkerWidth), 0);
}
}
@ -1700,7 +1701,7 @@ private:
for (auto position : provider())
{
g.drawVerticalLine (timeToXPosition (position), 0, getHeight());
g.drawVerticalLine (roundToInt (timeToXPosition (position)), 0.0f, (float) getHeight());
}
}
@ -1753,7 +1754,7 @@ private:
if (numChannels == 0)
{
g.setColour (Colours::white);
g.drawFittedText ("No File Loaded", getLocalBounds(), Justification::centred, 1.0f);
g.drawFittedText ("No File Loaded", getLocalBounds(), Justification::centred, 1);
return;
}
@ -2085,7 +2086,7 @@ public:
synthesiser.addVoice (new MPESamplerVoice (sound));
}
void prepareToPlay (double sampleRate, int samplesPerBlock) override
void prepareToPlay (double sampleRate, int) override
{
synthesiser.setCurrentPlaybackSampleRate (sampleRate);
}
@ -2180,25 +2181,26 @@ public:
// Update the current playback positions
for (auto i = 0; i != maxVoices; ++i)
{
MPESamplerVoice* voicePtr = nullptr;
playbackPositions[i] = (i < numVoices && (voicePtr = dynamic_cast<MPESamplerVoice*> (synthesiser.getVoice (i))))
? voicePtr->getCurrentSamplePosition() / loadedSamplerSound->getSample()->getSampleRate()
: 0;
auto* voicePtr = dynamic_cast<MPESamplerVoice*> (synthesiser.getVoice (i));
if (i < numVoices && voicePtr != nullptr)
playbackPositions[i] = static_cast<float> (voicePtr->getCurrentSamplePosition() / loadedSamplerSound->getSample()->getSampleRate());
else
playbackPositions[i] = 0.0f;
}
}
// These should be called from the GUI thread, and will block until the
// command buffer has enough room to accept a command.
void setSample (std::unique_ptr<AudioFormatReaderFactory> readerFactory,
AudioFormatManager& formatManager)
void setSample (std::unique_ptr<AudioFormatReaderFactory> fact, AudioFormatManager& formatManager)
{
class SetSampleCommand
{
public:
SetSampleCommand (std::unique_ptr<AudioFormatReaderFactory> readerFactory,
SetSampleCommand (std::unique_ptr<AudioFormatReaderFactory> r,
std::unique_ptr<Sample> sample,
std::vector<std::unique_ptr<MPESamplerVoice>> newVoices)
: readerFactory (move (readerFactory)),
: readerFactory (move (r)),
sample (move (sample)),
newVoices (move (newVoices))
{}
@ -2232,16 +2234,16 @@ public:
for (auto i = 0; i != maxVoices; ++i)
newSamplerVoices.emplace_back (new MPESamplerVoice (loadedSamplerSound));
if (readerFactory == nullptr)
if (fact == nullptr)
{
pushCommand (SetSampleCommand (move (readerFactory),
pushCommand (SetSampleCommand (move (fact),
nullptr,
move (newSamplerVoices)));
}
else
{
auto reader = readerFactory->make (formatManager);
pushCommand (SetSampleCommand (move (readerFactory),
auto reader = fact->make (formatManager);
pushCommand (SetSampleCommand (move (fact),
std::unique_ptr<Sample> (new Sample (*reader, 10.0)),
move (newSamplerVoices)));
}
@ -2448,8 +2450,8 @@ private:
{
jassert (files.size() == 1);
undoManager.beginNewTransaction();
auto readerFactory = new FileAudioFormatReaderFactory (files[0]);
dataModel.setSampleReader (std::unique_ptr<AudioFormatReaderFactory> (readerFactory),
auto r = new FileAudioFormatReaderFactory (files[0]);
dataModel.setSampleReader (std::unique_ptr<AudioFormatReaderFactory> (r),
&undoManager);
}
@ -2493,22 +2495,22 @@ private:
setProcessorMPEMode();
}
void mpeZoneLayoutChanged (const MPEZoneLayout& value) override
void mpeZoneLayoutChanged (const MPEZoneLayout&) override
{
setProcessorMPEMode();
}
void legacyFirstChannelChanged (int value) override
void legacyFirstChannelChanged (int) override
{
setProcessorLegacyMode();
}
void legacyLastChannelChanged (int value) override
void legacyLastChannelChanged (int) override
{
setProcessorLegacyMode();
}
void legacyPitchbendRangeChanged (int value) override
void legacyPitchbendRangeChanged (int) override
{
setProcessorLegacyMode();
}