Fix crash in some DAWs (probably)

pull/241/head
DJLevel3 2024-04-16 10:14:30 -06:00 zatwierdzone przez James H Ball
rodzic 3aa8990e8e
commit 7e8448fc43
3 zmienionych plików z 16 dodań i 12 usunięć

Wyświetl plik

@ -559,14 +559,16 @@ void OscirenderAudioProcessor::processBlock(juce::AudioBuffer<float>& buffer, ju
// Get MIDI transport info
playHead = this->getPlayHead();
auto cpi = playHead->getPosition();
if (cpi == juce::nullopt) {
currentPositionInfo = *cpi;
bpm = *currentPositionInfo.getBpm();
playTimeSeconds = *currentPositionInfo.getTimeInSeconds();
isPlaying = currentPositionInfo.getIsPlaying();
timeSigNum = (*currentPositionInfo.getTimeSignature()).numerator;
timeSigDen = (*currentPositionInfo.getTimeSignature()).denominator;
if (playHead != nullptr) {
auto cpi = playHead->getPosition();
if (cpi != juce::nullopt) {
currentPositionInfo = *cpi;
bpm = *currentPositionInfo.getBpm();
playTimeSeconds = *currentPositionInfo.getTimeInSeconds();
isPlaying = currentPositionInfo.getIsPlaying();
timeSigNum = (*currentPositionInfo.getTimeSignature()).numerator;
timeSigDen = (*currentPositionInfo.getTimeSignature()).denominator;
}
}
// Calculated number of beats
@ -642,7 +644,7 @@ void OscirenderAudioProcessor::processBlock(juce::AudioBuffer<float>& buffer, ju
// Update line art animation
if (animateLineArt) {
if (syncMIDIAnimation) animationTime = playTimeBeats;
else animationTime = playTimeSeconds;
else animationTime = playTimeSeconds;
if ((currentFile >= 0) ? (sounds[currentFile]->parser->isAnimatable) : false) {
int animFrame = (int)(animationTime * animationRate);
sounds[currentFile]->parser->getLineArt()->setFrame(animFrame);

Wyświetl plik

@ -28,8 +28,8 @@ void FileParser::parse(juce::String fileName, juce::String extension, std::uniqu
} else if (extension == ".lua") {
lua = std::make_shared<LuaParser>(fileName, stream->readEntireStreamAsString(), errorCallback, fallbackLuaScript);
} else if (extension == ".gpla") {
isAnimatable = true;
gpla = std::make_shared<LineArtParser>(stream->readEntireStreamAsString());
if (gpla != nullptr) isAnimatable = true;
}
sampleSource = lua != nullptr;

Wyświetl plik

@ -619,9 +619,11 @@
</LINUX_MAKE>
<VS2022 targetFolder="Builds/VisualStudio2022" smallIcon="pSc1mq" bigIcon="pSc1mq">
<CONFIGURATIONS>
<CONFIGURATION isDebug="1" name="Debug" targetName="osci-render" enablePluginBinaryCopyStep="1"/>
<CONFIGURATION isDebug="1" name="Debug" targetName="osci-render" enablePluginBinaryCopyStep="1"
vst3BinaryLocation="C:\Users\DJ_Level_3\Documents\Ableton VSTs\"/>
<CONFIGURATION isDebug="0" name="Release" targetName="osci-render" alwaysGenerateDebugSymbols="1"
debugInformationFormat="ProgramDatabase"/>
debugInformationFormat="ProgramDatabase" enablePluginBinaryCopyStep="1"
vst3BinaryLocation="C:\Users\DJ_Level_3\Documents\Ableton VSTs\"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_audio_basics" path="../../../JUCE/modules"/>