diff --git a/Loris Toolbox/Scripts/LorisProcessor.js b/Loris Toolbox/Scripts/LorisProcessor.js index 669c19f..3215c5f 100644 --- a/Loris Toolbox/Scripts/LorisProcessor.js +++ b/Loris Toolbox/Scripts/LorisProcessor.js @@ -74,6 +74,7 @@ namespace LorisProcessor reg CURRENT_FILE; reg CURRENT_FUNCTION; reg CURRENT_SETUP; + reg CURRENT_POST; reg PENDING = false; const var RetainNoiseButton = Content.getComponent("RetainNoiseButton"); @@ -175,6 +176,11 @@ namespace LorisProcessor lorisManager.processCustom(CURRENT_FILE, CURRENT_FUNCTION); } + if(isDefined(CURRENT_POST)) + { + CURRENT_POST(); + } + worker.setStatusMessage("Resynthesizing..."); worker.setProgress(0.66); diff --git a/Loris Toolbox/Scripts/PitchLock.js b/Loris Toolbox/Scripts/PitchLock.js index 3040bbb..7776c90 100644 --- a/Loris Toolbox/Scripts/PitchLock.js +++ b/Loris Toolbox/Scripts/PitchLock.js @@ -37,11 +37,19 @@ namespace PitchLock s.setControlCallback(onPitchLockSlider); } + inline function postProcess() + { + Console.print("CREATE PATH"); + local pitchPath = LorisProcessor.lorisManager.createEnvelopePaths(LorisProcessor.CURRENT_FILE, "rootFrequency", 0)[0]; + + BufferPreview.setEnvelope(Content.getComponent("PreviewPanel"), pitchPath); + } + inline function pitchLock(obj) { - obj.frequency *= pitchFactor; + obj.bandwidth *= noiseGain; @@ -51,6 +59,7 @@ namespace PitchLock obj.frequency = pitchLockAmount * lockedFrequency + (1.0 - pitchLockAmount) * obj.frequency; + obj.frequency *= pitchFactor; } @@ -58,6 +67,8 @@ namespace PitchLock { if(index == 1) { + LorisProcessor.CURRENT_POST = postProcess; + LorisProcessor.CURRENT_FUNCTION = this; } }); diff --git a/Loris Toolbox/Scripts/UI/BufferPreview.js b/Loris Toolbox/Scripts/UI/BufferPreview.js index 539508f..005e16c 100644 --- a/Loris Toolbox/Scripts/UI/BufferPreview.js +++ b/Loris Toolbox/Scripts/UI/BufferPreview.js @@ -29,6 +29,12 @@ inline function setBuffer(unused, unused, file) } +inline function setEnvelope(panel, env) +{ + panel.data.envelope = env; + panel.repaint(); +} + inline function setResynthesisedBuffer(panel, bufferData, samplerate) { local isMultiChannel = isDefined(bufferData[0].length); @@ -178,6 +184,13 @@ inline function make(name) + } + + if(this.data.envelope) + { + g.setColour(this.get("itemColour")); + g.drawPath(this.data.envelope, this.getLocalBounds(0), 2.0); + } }); diff --git a/Loris Toolbox/XmlPresetBackups/Loris Toolbox.xml b/Loris Toolbox/XmlPresetBackups/Loris Toolbox.xml index 1005319..dc19bb7 100644 --- a/Loris Toolbox/XmlPresetBackups/Loris Toolbox.xml +++ b/Loris Toolbox/XmlPresetBackups/Loris Toolbox.xml @@ -28,8 +28,8 @@ + Reversed="0.0" FileName="{PROJECT_FOLDER}sound_examples/rhodes.wav" + min="0" max="392913" loopStart="0" loopEnd="392913"> diff --git a/Loris Toolbox/XmlPresetBackups/Loris ToolboxUIData/Loris ToolboxDesktop.xml b/Loris Toolbox/XmlPresetBackups/Loris ToolboxUIData/Loris ToolboxDesktop.xml index 6c7ea7c..e89b259 100644 --- a/Loris Toolbox/XmlPresetBackups/Loris ToolboxUIData/Loris ToolboxDesktop.xml +++ b/Loris Toolbox/XmlPresetBackups/Loris ToolboxUIData/Loris ToolboxDesktop.xml @@ -62,7 +62,7 @@ height="340.0" parentComponent="BG" bgColour="0" itemColour="0" itemColour2="0" textColour="0" borderSize="0.0" borderRadius="0.0" visible="0"> - @@ -118,9 +118,9 @@ tooltip="Add the noise component from the original sound to the resynthesised sound" saveInPreset="0"/> + max="14"/>