Add default audio file that plays once on standalone

pre-release-3
James H Ball 2025-01-07 20:51:24 +00:00
rodzic 09014614e5
commit 5f237df693
6 zmienionych plików z 20 dodań i 3 usunięć

Plik binarny nie jest wyświetlany.

Wyświetl plik

@ -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));

Wyświetl plik

@ -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);

Wyświetl plik

@ -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();
}

Wyświetl plik

@ -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);

Wyświetl plik

@ -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"/>