Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Basics/foleys_AudioFifo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ void AudioFifo::pushSamples (const juce::AudioBuffer<float>& samples)
void AudioFifo::setNumSamples (int samples)
{
audioFifo.setTotalSize (samples);
audioBuffer.setSize (2, samples);
audioBuffer.setSize (audioBuffer.getNumChannels(), samples);
}

void AudioFifo::pullSamples (const juce::AudioSourceChannelInfo& info)
Expand Down
2 changes: 1 addition & 1 deletion Basics/foleys_VideoEngine.h
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ class VideoEngine : private juce::Timer

juce::OptionalScopedPointer<juce::UndoManager> undoManager { new juce::UndoManager(), true };

juce::ThreadPool jobThreads { std::max (4, juce::SystemStats::getNumCpus()) };
juce::ThreadPool jobThreads{ (std::max)(4, juce::SystemStats::getNumCpus()) };
std::vector<std::unique_ptr<juce::TimeSliceThread>> readingThreads;

std::vector<std::shared_ptr<AVClip>> releasePool;
Expand Down
2 changes: 2 additions & 0 deletions Clips/foleys_AVClip.h
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,8 @@ class AVClip : public juce::PositionableAudioSource,
/** Returns true, if this clip will produce audio */
virtual bool hasAudio() const = 0;

virtual int getNumChannels() const = 0;

/**
This is the samplerate supplied from prepareToPlay and the sample rate
this clip will produce audio and use as clock source. */
Expand Down
2 changes: 2 additions & 0 deletions Clips/foleys_AudioClip.h
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,8 @@ class AudioClip : public AVClip

std::shared_ptr<AVClip> createCopy (StreamTypes types) override;

int getNumChannels() const override { return reader.get() ? reader->numChannels : 0; }

double getSampleRate() const override { return sampleRate; }

private:
Expand Down
5 changes: 5 additions & 0 deletions Clips/foleys_ComposedClip.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,11 @@ std::shared_ptr<AVClip> ComposedClip::createCopy (StreamTypes)
return clipCopy;
}

int ComposedClip::getNumChannels() const
{
return audioSettings.numChannels;
}

double ComposedClip::getSampleRate() const
{
return audioSettings.timebase;
Expand Down
2 changes: 2 additions & 0 deletions Clips/foleys_ComposedClip.h
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,8 @@ class ComposedClip : public AVClip,

std::shared_ptr<AVClip> createCopy (StreamTypes types) override;

int getNumChannels() const override;

double getSampleRate() const override;

/** When rendering non realtime (bounce), use this to wait for background
Expand Down
6 changes: 6 additions & 0 deletions Clips/foleys_ImageClip.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,12 @@ std::shared_ptr<AVClip> ImageClip::createCopy (StreamTypes types)
return engine->createClipFromFile (getMediaFile(), types);
}


int ImageClip::getNumChannels() const
{
return 0;
}

double ImageClip::getSampleRate() const
{
return sampleRate;
Expand Down
2 changes: 2 additions & 0 deletions Clips/foleys_ImageClip.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ class ImageClip : public AVClip

std::shared_ptr<AVClip> createCopy (StreamTypes types) override;

int getNumChannels() const override;

double getSampleRate() const override;

private:
Expand Down
5 changes: 5 additions & 0 deletions Clips/foleys_MovieClip.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,11 @@ double MovieClip::getSampleRate() const
return sampleRate;
}

int MovieClip::getNumChannels() const
{
return movieReader ? movieReader->numChannels : 0;
}

void MovieClip::handleAsyncUpdate()
{
if (sampleRate > 0 && hasVideo())
Expand Down
2 changes: 2 additions & 0 deletions Clips/foleys_MovieClip.h
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@ class MovieClip : public AVClip,

std::shared_ptr<AVClip> createCopy (StreamTypes types) override;

int getNumChannels() const override;

double getSampleRate() const override;

/** When rendering non realtime (bounce), use this to wait for background
Expand Down
1 change: 1 addition & 0 deletions Widgets/foleys_OpenGLDraw.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ namespace foleys

namespace OpenGLDrawing
{
using namespace juce::gl;

#if JUCE_DEBUG
static const char* getGLErrorMessage (const GLenum e) noexcept
Expand Down
1 change: 1 addition & 0 deletions Widgets/foleys_OpenGLView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@

namespace foleys
{
using namespace juce::gl;

OpenGLView::OpenGLView()
{
Expand Down