kopia lustrzana https://github.com/jameshball/osci-render
Add default audio file that plays once on standalone
rodzic
09014614e5
commit
5f237df693
Plik binarny nie jest wyświetlany.
|
@ -39,6 +39,8 @@ CommonAudioProcessor::CommonAudioProcessor()
|
|||
permanentEffects.push_back(thresholdEffect);
|
||||
effects.push_back(volumeEffect);
|
||||
effects.push_back(thresholdEffect);
|
||||
|
||||
wavParser.setLooping(false);
|
||||
}
|
||||
|
||||
void CommonAudioProcessor::addAllParameters() {
|
||||
|
@ -187,6 +189,12 @@ double CommonAudioProcessor::getSampleRate() {
|
|||
void CommonAudioProcessor::loadAudioFile(const juce::File& file) {
|
||||
auto stream = std::make_unique<juce::FileInputStream>(file);
|
||||
if (stream->openedOk()) {
|
||||
loadAudioFile(std::move(stream));
|
||||
}
|
||||
}
|
||||
|
||||
void CommonAudioProcessor::loadAudioFile(std::unique_ptr<juce::InputStream> stream) {
|
||||
if (stream != nullptr) {
|
||||
juce::SpinLock::ScopedLockType lock(wavParserLock);
|
||||
wavParser.parse(std::move(stream));
|
||||
|
||||
|
|
|
@ -55,6 +55,7 @@ public:
|
|||
void changeProgramName(int index, const juce::String& newName) override;
|
||||
double getSampleRate() override;
|
||||
void loadAudioFile(const juce::File& file);
|
||||
void loadAudioFile(std::unique_ptr<juce::InputStream> stream);
|
||||
void stopAudioFile();
|
||||
void addAudioPlayerListener(AudioPlayerListener* listener);
|
||||
void removeAudioPlayerListener(AudioPlayerListener* listener);
|
||||
|
|
|
@ -3,6 +3,12 @@
|
|||
#include "audio/EffectParameter.h"
|
||||
|
||||
SosciAudioProcessor::SosciAudioProcessor() {
|
||||
// demo audio file on standalone only
|
||||
if (juce::JUCEApplicationBase::isStandaloneApp()) {
|
||||
std::unique_ptr<juce::InputStream> stream = std::make_unique<juce::MemoryInputStream>(BinaryData::sosci_flac, BinaryData::sosci_flacSize, false);
|
||||
loadAudioFile(std::move(stream));
|
||||
}
|
||||
|
||||
addAllParameters();
|
||||
}
|
||||
|
||||
|
|
|
@ -26,8 +26,6 @@ AudioPlayerComponent::AudioPlayerComponent(CommonAudioProcessor& processor) : au
|
|||
playButton.setTooltip("Play audio file");
|
||||
pauseButton.setTooltip("Pause audio file");
|
||||
|
||||
repeatButton.setToggleState(true, juce::dontSendNotification);
|
||||
|
||||
playButton.onClick = [this]() {
|
||||
audioProcessor.wavParser.setPaused(false);
|
||||
if (audioProcessor.wavParser.isInitialised()) {
|
||||
|
@ -73,6 +71,8 @@ AudioPlayerComponent::~AudioPlayerComponent() {
|
|||
|
||||
// must hold lock
|
||||
void AudioPlayerComponent::setup() {
|
||||
repeatButton.setToggleState(audioProcessor.wavParser.isLooping(), juce::dontSendNotification);
|
||||
|
||||
if (audioProcessor.wavParser.isInitialised()) {
|
||||
slider.setVisible(true);
|
||||
repeatButton.setVisible(true);
|
||||
|
@ -88,7 +88,6 @@ void AudioPlayerComponent::setup() {
|
|||
};
|
||||
playButton.setVisible(audioProcessor.wavParser.isPaused());
|
||||
pauseButton.setVisible(!audioProcessor.wavParser.isPaused());
|
||||
audioProcessor.wavParser.setLooping(repeatButton.getToggleState());
|
||||
} else {
|
||||
slider.setVisible(false);
|
||||
repeatButton.setVisible(false);
|
||||
|
|
|
@ -9,6 +9,9 @@
|
|||
pluginManufacturerCode="Jhba" pluginCode="Sosc" pluginAUMainType="'aufx'">
|
||||
<MAINGROUP id="j5Ge2T" name="sosci">
|
||||
<GROUP id="{5ABCED88-0059-A7AF-9596-DBF91DDB0292}" name="Resources">
|
||||
<GROUP id="{42A9EAA7-6D00-065D-0F8B-755E9B552173}" name="audio">
|
||||
<FILE id="bv80Wk" name="sosci.flac" compile="0" resource="1" file="Resources/audio/sosci.flac"/>
|
||||
</GROUP>
|
||||
<GROUP id="{1C0FC3AA-01F6-8768-381C-200ED18AB5F2}" name="fonts">
|
||||
<FILE id="R0Gs1t" name="FiraSans-Bold.ttf" compile="0" resource="1"
|
||||
file="Resources/fonts/FiraSans-Bold.ttf"/>
|
||||
|
|
Ładowanie…
Reference in New Issue