kopia lustrzana https://github.com/jameshball/osci-render
implement .gpla animation
rodzic
0615a46c5d
commit
d23216ac51
|
@ -0,0 +1,45 @@
|
|||
#include "LineArtComponent.h"
|
||||
#include "PluginEditor.h"
|
||||
|
||||
LineArtComponent::LineArtComponent(OscirenderAudioProcessor& p, OscirenderAudioProcessorEditor& editor) : audioProcessor(p), pluginEditor(editor) {
|
||||
setText("Line Art Settings");
|
||||
|
||||
|
||||
addAndMakeVisible(animate);
|
||||
addAndMakeVisible(sync);
|
||||
addAndMakeVisible(rate);
|
||||
rate.setText("10", false);
|
||||
rate.setInputRestrictions(6, "0123456789.");
|
||||
|
||||
update();
|
||||
|
||||
auto updateAnimation = [this]() {
|
||||
audioProcessor.animateLineArt = animate.getToggleState();
|
||||
audioProcessor.syncMIDIAnimation = sync.getToggleState();
|
||||
try {
|
||||
audioProcessor.animationRate = std::stof(rate.getText().toStdString());
|
||||
}
|
||||
catch (std::exception e) {
|
||||
audioProcessor.animationRate = 10.f;
|
||||
}
|
||||
audioProcessor.openFile(audioProcessor.currentFile);
|
||||
};
|
||||
|
||||
animate.onClick = updateAnimation;
|
||||
sync.onClick = updateAnimation;
|
||||
rate.onFocusLost = updateAnimation;
|
||||
}
|
||||
|
||||
void LineArtComponent::resized() {
|
||||
auto area = getLocalBounds().withTrimmedTop(20).reduced(20);
|
||||
double rowHeight = 30;
|
||||
animate.setBounds(area.removeFromTop(rowHeight));
|
||||
sync.setBounds(area.removeFromTop(rowHeight));
|
||||
rate.setBounds(area.removeFromTop(rowHeight));
|
||||
}
|
||||
|
||||
void LineArtComponent::update() {
|
||||
rate.setText(juce::String(audioProcessor.animationRate));
|
||||
animate.setToggleState(audioProcessor.animateLineArt, false);
|
||||
sync.setToggleState(audioProcessor.syncMIDIAnimation, false);
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
#pragma once
|
||||
|
||||
#include <JuceHeader.h>
|
||||
#include "PluginProcessor.h"
|
||||
|
||||
class OscirenderAudioProcessorEditor;
|
||||
class LineArtComponent : public juce::GroupComponent, public juce::MouseListener {
|
||||
public:
|
||||
LineArtComponent(OscirenderAudioProcessor&, OscirenderAudioProcessorEditor&);
|
||||
|
||||
void resized() override;
|
||||
void update();
|
||||
private:
|
||||
OscirenderAudioProcessor& audioProcessor;
|
||||
OscirenderAudioProcessorEditor& pluginEditor;
|
||||
|
||||
juce::ToggleButton animate{"Animate"};
|
||||
juce::ToggleButton sync{"MIDI Sync"};
|
||||
juce::TextEditor rate{"Framerate"};
|
||||
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(LineArtComponent)
|
||||
};
|
|
@ -10,7 +10,7 @@ MainComponent::MainComponent(OscirenderAudioProcessor& p, OscirenderAudioProcess
|
|||
fileButton.setButtonText("Choose File(s)");
|
||||
|
||||
fileButton.onClick = [this] {
|
||||
chooser = std::make_unique<juce::FileChooser>("Open", juce::File::getSpecialLocation(juce::File::userHomeDirectory), "*.obj;*.svg;*.lua;*.txt");
|
||||
chooser = std::make_unique<juce::FileChooser>("Open", juce::File::getSpecialLocation(juce::File::userHomeDirectory), "*.obj;*.svg;*.lua;*.txt;*.gpla");
|
||||
auto flags = juce::FileBrowserComponent::openMode | juce::FileBrowserComponent::canSelectMultipleItems |
|
||||
juce::FileBrowserComponent::canSelectFiles;
|
||||
|
||||
|
|
|
@ -545,8 +545,34 @@ void OscirenderAudioProcessor::setObjectServerRendering(bool enabled) {
|
|||
|
||||
void OscirenderAudioProcessor::processBlock(juce::AudioBuffer<float>& buffer, juce::MidiBuffer& midiMessages) {
|
||||
juce::ScopedNoDenormals noDenormals;
|
||||
auto totalNumInputChannels = getTotalNumInputChannels();
|
||||
auto totalNumOutputChannels = getTotalNumOutputChannels();
|
||||
// Audio info variables
|
||||
int totalNumInputChannels = getTotalNumInputChannels();
|
||||
int totalNumOutputChannels = getTotalNumOutputChannels();
|
||||
double sampleRate = getSampleRate();
|
||||
|
||||
// MIDI transport info variables (defaults to 120bpm, 4/4 time signature at zero seconds and not playing)
|
||||
double bpm = 120;
|
||||
double playTimeSeconds = 0;
|
||||
bool isPlaying = false;
|
||||
int timeSigNum = 4;
|
||||
int timeSigDen = 4;
|
||||
|
||||
// Get MIDI transport info
|
||||
playHead = this->getPlayHead();
|
||||
if (playHead->getCurrentPosition(currentPositionInfo)) {
|
||||
bpm = currentPositionInfo.bpm;
|
||||
playTimeSeconds = currentPositionInfo.timeInSeconds;
|
||||
isPlaying = currentPositionInfo.isPlaying;
|
||||
timeSigNum = currentPositionInfo.timeSigNumerator;
|
||||
timeSigDen = currentPositionInfo.timeSigDenominator;
|
||||
}
|
||||
|
||||
// Calculated number of beats
|
||||
double playTimeBeats = bpm * playTimeSeconds / 60;
|
||||
|
||||
// Calculated time per sample in seconds and beats
|
||||
double sTimeSec = 1.f / sampleRate;
|
||||
double sTimeBeats = bpm * sTimeSec / 60;
|
||||
|
||||
// merge keyboard state and midi messages
|
||||
keyboardState.processNextMidiBuffer(midiMessages, 0, buffer.getNumSamples(), true);
|
||||
|
@ -610,8 +636,20 @@ void OscirenderAudioProcessor::processBlock(juce::AudioBuffer<float>& buffer, ju
|
|||
midiMessages.clear();
|
||||
|
||||
auto* channelData = buffer.getArrayOfWritePointers();
|
||||
|
||||
// Update line art animation
|
||||
if (animateLineArt) {
|
||||
if (syncMIDIAnimation) animationTime = playTimeBeats;
|
||||
else animationTime = playTimeSeconds;
|
||||
if ((currentFile >= 0) ? (sounds[currentFile]->parser->isAnimatable) : false) {
|
||||
int animFrame = (int)(animationTime * animationRate);
|
||||
sounds[currentFile]->parser->getLineArt()->setFrame(animFrame);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for (auto sample = 0; sample < buffer.getNumSamples(); ++sample) {
|
||||
|
||||
auto left = 0.0;
|
||||
auto right = 0.0;
|
||||
if (totalNumInputChannels >= 2) {
|
||||
|
@ -679,6 +717,11 @@ void OscirenderAudioProcessor::processBlock(juce::AudioBuffer<float>& buffer, ju
|
|||
consumer->notifyIfFull();
|
||||
}
|
||||
}
|
||||
|
||||
if (isPlaying) {
|
||||
playTimeSeconds += sTimeSec;
|
||||
playTimeBeats += sTimeBeats;
|
||||
}
|
||||
}
|
||||
|
||||
// used for any callback that must guarantee all audio is recieved (e.g. when recording to a file)
|
||||
|
|
|
@ -198,6 +198,11 @@ public:
|
|||
|
||||
IntParameter* voices = new IntParameter("Voices", "voices", VERSION_HINT, 4, 1, 16);
|
||||
|
||||
bool animateLineArt = false;
|
||||
bool syncMIDIAnimation = false;
|
||||
float animationRate = 10.f;
|
||||
double animationTime = 0.f;
|
||||
|
||||
private:
|
||||
juce::SpinLock consumerLock;
|
||||
std::vector<std::shared_ptr<BufferConsumer>> consumers;
|
||||
|
@ -279,6 +284,9 @@ private:
|
|||
|
||||
const double MIN_LENGTH_INCREMENT = 0.000001;
|
||||
|
||||
juce::AudioPlayHead* playHead;
|
||||
juce::AudioPlayHead::CurrentPositionInfo currentPositionInfo;
|
||||
|
||||
//==============================================================================
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (OscirenderAudioProcessor)
|
||||
};
|
||||
|
|
|
@ -9,6 +9,7 @@ SettingsComponent::SettingsComponent(OscirenderAudioProcessor& p, OscirenderAudi
|
|||
addAndMakeVisible(mainResizerBar);
|
||||
addAndMakeVisible(midi);
|
||||
addChildComponent(txt);
|
||||
addChildComponent(gpla);
|
||||
|
||||
midiLayout.setItemLayout(0, -0.1, -1.0, -1.0);
|
||||
midiLayout.setItemLayout(1, pluginEditor.RESIZER_BAR_SIZE, pluginEditor.RESIZER_BAR_SIZE, pluginEditor.RESIZER_BAR_SIZE);
|
||||
|
@ -46,6 +47,8 @@ void SettingsComponent::resized() {
|
|||
|
||||
if (txt.isVisible()) {
|
||||
effectSettings = &txt;
|
||||
} else if (gpla.isVisible()) {
|
||||
effectSettings = &gpla;
|
||||
}
|
||||
|
||||
auto dummyBounds = dummy.getBounds();
|
||||
|
@ -63,17 +66,22 @@ void SettingsComponent::resized() {
|
|||
void SettingsComponent::fileUpdated(juce::String fileName) {
|
||||
juce::String extension = fileName.fromLastOccurrenceOf(".", true, false);
|
||||
txt.setVisible(false);
|
||||
gpla.setVisible(false);
|
||||
if (fileName.isEmpty() || audioProcessor.objectServerRendering) {
|
||||
// do nothing
|
||||
} if (extension == ".txt") {
|
||||
} else if (extension == ".txt") {
|
||||
txt.setVisible(true);
|
||||
}
|
||||
else if (extension == ".gpla") {
|
||||
gpla.setVisible(true);
|
||||
}
|
||||
main.updateFileLabel();
|
||||
resized();
|
||||
}
|
||||
|
||||
void SettingsComponent::update() {
|
||||
txt.update();
|
||||
gpla.update();
|
||||
}
|
||||
|
||||
void SettingsComponent::mouseMove(const juce::MouseEvent& event) {
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include <JuceHeader.h>
|
||||
#include "PluginProcessor.h"
|
||||
#include "MainComponent.h"
|
||||
#include "LineArtComponent.h"
|
||||
#include "LuaComponent.h"
|
||||
#include "PerspectiveComponent.h"
|
||||
#include "TxtComponent.h"
|
||||
|
@ -27,6 +28,7 @@ private:
|
|||
MainComponent main{audioProcessor, pluginEditor};
|
||||
PerspectiveComponent perspective{audioProcessor, pluginEditor};
|
||||
TxtComponent txt{audioProcessor, pluginEditor};
|
||||
LineArtComponent gpla{ audioProcessor, pluginEditor };
|
||||
EffectsComponent effects{audioProcessor, pluginEditor};
|
||||
MidiComponent midi{audioProcessor, pluginEditor};
|
||||
|
||||
|
|
|
@ -0,0 +1,166 @@
|
|||
#include "LineArtParser.h"
|
||||
|
||||
|
||||
LineArtParser::LineArtParser(juce::String json) {
|
||||
parseJsonFrames(json);
|
||||
}
|
||||
|
||||
LineArtParser::~LineArtParser() {
|
||||
frames.clear();
|
||||
}
|
||||
|
||||
void LineArtParser::parseJsonFrames(juce::String jsonStr) {
|
||||
frames.clear();
|
||||
numFrames = 0;
|
||||
|
||||
// format of json is:
|
||||
// {
|
||||
// "frames":[
|
||||
// "objects": [
|
||||
// {
|
||||
// "name": "Line Art",
|
||||
// "vertices": [
|
||||
// [
|
||||
// {
|
||||
// "x": double value,
|
||||
// "y": double value,
|
||||
// "z": double value
|
||||
// },
|
||||
// ...
|
||||
// ],
|
||||
// ...
|
||||
// ],
|
||||
// "matrix": [
|
||||
// 16 double values
|
||||
// ]
|
||||
// }
|
||||
// ],
|
||||
// "focalLength": double value
|
||||
// },
|
||||
// ...
|
||||
// ]
|
||||
// }
|
||||
|
||||
auto json = juce::JSON::parse(jsonStr);
|
||||
|
||||
auto jsonFrames = *json.getProperty("frames", juce::Array<juce::var>()).getArray();
|
||||
numFrames = jsonFrames.size();
|
||||
|
||||
for (int f = 0; f < numFrames; f++) {
|
||||
auto objects = *jsonFrames[f].getProperty("objects", juce::Array<juce::var>()).getArray();
|
||||
std::vector<std::vector<double>> allMatrices;
|
||||
std::vector<std::vector<std::vector<Point>>> allVertices;
|
||||
|
||||
double focalLength = jsonFrames[f].getProperty("focalLength", 1);
|
||||
|
||||
for (int i = 0; i < objects.size(); i++) {
|
||||
auto verticesArray = *objects[i].getProperty("vertices", juce::Array<juce::var>()).getArray();
|
||||
std::vector<std::vector<Point>> vertices;
|
||||
|
||||
for (auto& vertexArrayVar : verticesArray) {
|
||||
vertices.push_back(std::vector<Point>());
|
||||
auto& vertexArray = *vertexArrayVar.getArray();
|
||||
for (auto& vertex : vertexArray) {
|
||||
double x = vertex.getProperty("x", 0);
|
||||
double y = vertex.getProperty("y", 0);
|
||||
double z = vertex.getProperty("z", 0);
|
||||
vertices[vertices.size() - 1].push_back(Point(x, y, z));
|
||||
}
|
||||
}
|
||||
auto matrix = *objects[i].getProperty("matrix", juce::Array<juce::var>()).getArray();
|
||||
|
||||
allMatrices.push_back(std::vector<double>());
|
||||
for (auto& value : matrix) {
|
||||
allMatrices[i].push_back(value);
|
||||
}
|
||||
|
||||
std::vector<std::vector<Point>> reorderedVertices;
|
||||
|
||||
if (vertices.size() > 0 && matrix.size() == 16) {
|
||||
std::vector<bool> visited = std::vector<bool>(vertices.size(), false);
|
||||
std::vector<int> order = std::vector<int>(vertices.size(), 0);
|
||||
visited[0] = true;
|
||||
|
||||
auto endPoint = vertices[0].back();
|
||||
|
||||
for (int i = 1; i < vertices.size(); i++) {
|
||||
int minPath = 0;
|
||||
double minDistance = 9999999;
|
||||
for (int j = 0; j < vertices.size(); j++) {
|
||||
if (!visited[j]) {
|
||||
auto startPoint = vertices[j][0];
|
||||
|
||||
double diffX = endPoint.x - startPoint.x;
|
||||
double diffY = endPoint.y - startPoint.y;
|
||||
double diffZ = endPoint.z - startPoint.z;
|
||||
|
||||
double distance = std::sqrt(diffX * diffX + diffY * diffY + diffZ * diffZ);
|
||||
if (distance < minDistance) {
|
||||
minPath = j;
|
||||
minDistance = distance;
|
||||
}
|
||||
}
|
||||
}
|
||||
visited[minPath] = true;
|
||||
order[i] = minPath;
|
||||
endPoint = vertices[minPath].back();
|
||||
}
|
||||
|
||||
for (int i = 0; i < vertices.size(); i++) {
|
||||
std::vector<Point> reorderedVertex;
|
||||
int index = order[i];
|
||||
for (int j = 0; j < vertices[index].size(); j++) {
|
||||
reorderedVertex.push_back(vertices[index][j]);
|
||||
}
|
||||
reorderedVertices.push_back(reorderedVertex);
|
||||
}
|
||||
}
|
||||
|
||||
allVertices.push_back(reorderedVertices);
|
||||
}
|
||||
|
||||
// generate a frame from the vertices and matrix
|
||||
std::vector<Line> frame;
|
||||
|
||||
for (int i = 0; i < objects.size(); i++) {
|
||||
for (int j = 0; j < allVertices[i].size(); j++) {
|
||||
for (int k = 0; k < allVertices[i][j].size() - 1; k++) {
|
||||
auto start = allVertices[i][j][k];
|
||||
auto end = allVertices[i][j][k + 1];
|
||||
|
||||
// multiply the start and end points by the matrix
|
||||
double rotatedX = start.x * allMatrices[i][0] + start.y * allMatrices[i][1] + start.z * allMatrices[i][2] + allMatrices[i][3];
|
||||
double rotatedY = start.x * allMatrices[i][4] + start.y * allMatrices[i][5] + start.z * allMatrices[i][6] + allMatrices[i][7];
|
||||
double rotatedZ = start.x * allMatrices[i][8] + start.y * allMatrices[i][9] + start.z * allMatrices[i][10] + allMatrices[i][11];
|
||||
|
||||
double rotatedX2 = end.x * allMatrices[i][0] + end.y * allMatrices[i][1] + end.z * allMatrices[i][2] + allMatrices[i][3];
|
||||
double rotatedY2 = end.x * allMatrices[i][4] + end.y * allMatrices[i][5] + end.z * allMatrices[i][6] + allMatrices[i][7];
|
||||
double rotatedZ2 = end.x * allMatrices[i][8] + end.y * allMatrices[i][9] + end.z * allMatrices[i][10] + allMatrices[i][11];
|
||||
|
||||
double x = rotatedX * focalLength / rotatedZ;
|
||||
double y = rotatedY * focalLength / rotatedZ;
|
||||
|
||||
double x2 = rotatedX2 * focalLength / rotatedZ2;
|
||||
double y2 = rotatedY2 * focalLength / rotatedZ2;
|
||||
|
||||
frame.push_back(Line(x, y, x2, y2));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
frames.push_back(frame);
|
||||
}
|
||||
}
|
||||
|
||||
void LineArtParser::setFrame(int fNum) {
|
||||
frameNumber = fNum % numFrames;
|
||||
}
|
||||
|
||||
std::vector<std::unique_ptr<Shape>> LineArtParser::draw() {
|
||||
std::vector<std::unique_ptr<Shape>> tempShapes;
|
||||
|
||||
for (Line shape : frames[frameNumber]) {
|
||||
tempShapes.push_back(shape.clone());
|
||||
}
|
||||
return tempShapes;
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
#pragma once
|
||||
#include "../shape/Point.h"
|
||||
#include <JuceHeader.h>
|
||||
#include "../shape/Shape.h"
|
||||
#include "../svg/SvgParser.h"
|
||||
#include "../shape/Line.h"
|
||||
|
||||
class LineArtParser {
|
||||
public:
|
||||
LineArtParser(juce::String json);
|
||||
~LineArtParser();
|
||||
|
||||
void setFrame(int fNum);
|
||||
std::vector<std::unique_ptr<Shape>> draw();
|
||||
private:
|
||||
void parseJsonFrames(juce::String jsonStr);
|
||||
int frameNumber = 0;
|
||||
std::vector<std::vector<Line>> frames;
|
||||
int numFrames = 0;
|
||||
|
||||
};
|
|
@ -15,7 +15,9 @@ void FileParser::parse(juce::String fileName, juce::String extension, std::uniqu
|
|||
object = nullptr;
|
||||
svg = nullptr;
|
||||
text = nullptr;
|
||||
gpla = nullptr;
|
||||
lua = nullptr;
|
||||
isAnimatable = false;
|
||||
|
||||
if (extension == ".obj") {
|
||||
object = std::make_shared<WorldObject>(stream->readEntireStreamAsString().toStdString());
|
||||
|
@ -25,6 +27,9 @@ void FileParser::parse(juce::String fileName, juce::String extension, std::uniqu
|
|||
text = std::make_shared<TextParser>(stream->readEntireStreamAsString(), font);
|
||||
} 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());
|
||||
}
|
||||
|
||||
sampleSource = lua != nullptr;
|
||||
|
@ -39,6 +44,8 @@ std::vector<std::unique_ptr<Shape>> FileParser::nextFrame() {
|
|||
return svg->draw();
|
||||
} else if (text != nullptr) {
|
||||
return text->draw();
|
||||
} else if (gpla != nullptr) {
|
||||
return gpla->draw();
|
||||
}
|
||||
auto tempShapes = std::vector<std::unique_ptr<Shape>>();
|
||||
// return a square
|
||||
|
@ -98,6 +105,10 @@ std::shared_ptr<TextParser> FileParser::getText() {
|
|||
return text;
|
||||
}
|
||||
|
||||
std::shared_ptr<LineArtParser> FileParser::getLineArt() {
|
||||
return gpla;
|
||||
}
|
||||
|
||||
std::shared_ptr<LuaParser> FileParser::getLua() {
|
||||
return lua;
|
||||
}
|
||||
|
|
|
@ -5,13 +5,14 @@
|
|||
#include "../obj/WorldObject.h"
|
||||
#include "../svg/SvgParser.h"
|
||||
#include "../txt/TextParser.h"
|
||||
#include "../gpla/LineArtParser.h"
|
||||
#include "../lua/LuaParser.h"
|
||||
|
||||
class FileParser {
|
||||
public:
|
||||
FileParser(std::function<void(int, juce::String, juce::String)> errorCallback = nullptr);
|
||||
|
||||
void parse(juce::String fileName, juce::String extension, std::unique_ptr<juce::InputStream>, juce::Font);
|
||||
void parse(juce::String fileName, juce::String extension, std::unique_ptr<juce::InputStream> stream, juce::Font font);
|
||||
std::vector<std::unique_ptr<Shape>> nextFrame();
|
||||
Point nextSample(lua_State*& L, LuaVariables& vars);
|
||||
void closeLua(lua_State*& L);
|
||||
|
@ -23,8 +24,11 @@ public:
|
|||
std::shared_ptr<WorldObject> getObject();
|
||||
std::shared_ptr<SvgParser> getSvg();
|
||||
std::shared_ptr<TextParser> getText();
|
||||
std::shared_ptr<LineArtParser> getLineArt();
|
||||
std::shared_ptr<LuaParser> getLua();
|
||||
|
||||
bool isAnimatable = false;
|
||||
|
||||
private:
|
||||
bool active = true;
|
||||
bool sampleSource = false;
|
||||
|
@ -34,6 +38,7 @@ private:
|
|||
std::shared_ptr<WorldObject> object;
|
||||
std::shared_ptr<SvgParser> svg;
|
||||
std::shared_ptr<TextParser> text;
|
||||
std::shared_ptr<LineArtParser> gpla;
|
||||
std::shared_ptr<LuaParser> lua;
|
||||
|
||||
juce::String fallbackLuaScript = "return { 0.0, 0.0 }";
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<JUCERPROJECT id="HH2E72" name="osci-render" projectType="audioplug" useAppConfig="0"
|
||||
addUsingNamespaceToJuceHeader="0" displaySplashScreen="0" jucerFormatVersion="1"
|
||||
addUsingNamespaceToJuceHeader="0" displaySplashScreen="1" jucerFormatVersion="1"
|
||||
pluginCharacteristicsValue="pluginWantsMidiIn" pluginManufacturer="jameshball"
|
||||
aaxIdentifier="sh.ball.oscirender" cppLanguageStandard="20" projectLineFeed=" "
|
||||
headerPath="./include" version="2.1.6" companyName="James H Ball"
|
||||
|
@ -39,98 +39,6 @@
|
|||
</GROUP>
|
||||
</GROUP>
|
||||
<GROUP id="{75439074-E50C-362F-1EDF-8B4BE9011259}" name="Source">
|
||||
<GROUP id="{50F56072-D264-AC8C-EAC9-A073059CDE27}" name="mathter">
|
||||
<GROUP id="{60CE44FE-26F8-4CE0-3BFF-5475F8E0BD75}" name="Common">
|
||||
<FILE id="XY4AlJ" name="Approx.hpp" compile="0" resource="0" file="Source/mathter/Common/Approx.hpp"/>
|
||||
<FILE id="LeuGwE" name="Definitions.hpp" compile="0" resource="0" file="Source/mathter/Common/Definitions.hpp"/>
|
||||
<FILE id="HcUnQp" name="DeterministicInitializer.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Common/DeterministicInitializer.hpp"/>
|
||||
<FILE id="qvzdH7" name="MathUtil.hpp" compile="0" resource="0" file="Source/mathter/Common/MathUtil.hpp"/>
|
||||
<FILE id="wy5V3L" name="Range.hpp" compile="0" resource="0" file="Source/mathter/Common/Range.hpp"/>
|
||||
<FILE id="hsfx9V" name="Traits.hpp" compile="0" resource="0" file="Source/mathter/Common/Traits.hpp"/>
|
||||
</GROUP>
|
||||
<GROUP id="{AA5719C4-2684-8629-96C2-ACCCC846741E}" name="Decompositions">
|
||||
<FILE id="mqUNTZ" name="DecomposeLU.hpp" compile="0" resource="0" file="Source/mathter/Decompositions/DecomposeLU.hpp"/>
|
||||
<FILE id="bajVyN" name="DecomposeQR.hpp" compile="0" resource="0" file="Source/mathter/Decompositions/DecomposeQR.hpp"/>
|
||||
<FILE id="LVojfW" name="DecomposeSVD.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Decompositions/DecomposeSVD.hpp"/>
|
||||
</GROUP>
|
||||
<GROUP id="{5223A16D-BBB0-7277-2DA2-5F83E36AF6D7}" name="Matrix">
|
||||
<FILE id="NiMdHn" name="MatrixArithmetic.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Matrix/MatrixArithmetic.hpp"/>
|
||||
<FILE id="OG3XE0" name="MatrixCast.hpp" compile="0" resource="0" file="Source/mathter/Matrix/MatrixCast.hpp"/>
|
||||
<FILE id="hzHEZU" name="MatrixCompare.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Matrix/MatrixCompare.hpp"/>
|
||||
<FILE id="TKewDV" name="MatrixFunction.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Matrix/MatrixFunction.hpp"/>
|
||||
<FILE id="az9Zbs" name="MatrixImpl.hpp" compile="0" resource="0" file="Source/mathter/Matrix/MatrixImpl.hpp"/>
|
||||
<FILE id="ZApObW" name="MatrixVectorArithmetic.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Matrix/MatrixVectorArithmetic.hpp"/>
|
||||
</GROUP>
|
||||
<GROUP id="{9ED17B79-C8AF-B25C-1B0D-01C8A868E93B}" name="Quaternion">
|
||||
<FILE id="Pg5bBV" name="QuaternionArithmetic.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Quaternion/QuaternionArithmetic.hpp"/>
|
||||
<FILE id="Q40Fdf" name="QuaternionCompare.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Quaternion/QuaternionCompare.hpp"/>
|
||||
<FILE id="lnp7Lb" name="QuaternionFunction.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Quaternion/QuaternionFunction.hpp"/>
|
||||
<FILE id="qDNOvo" name="QuaternionImpl.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Quaternion/QuaternionImpl.hpp"/>
|
||||
<FILE id="eXgZ46" name="QuaternionLiterals.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Quaternion/QuaternionLiterals.hpp"/>
|
||||
<FILE id="oMB7Jr" name="QuaternionVectorArithmetic.hpp" compile="0"
|
||||
resource="0" file="Source/mathter/Quaternion/QuaternionVectorArithmetic.hpp"/>
|
||||
</GROUP>
|
||||
<GROUP id="{D82CFD72-F5BE-1024-94AB-5C2503423E4D}" name="Swizzle">
|
||||
<FILE id="CeOGVV" name="Swizzle_1.inc.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Swizzle/Swizzle_1.inc.hpp"/>
|
||||
<FILE id="jwhhIz" name="Swizzle_2.inc.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Swizzle/Swizzle_2.inc.hpp"/>
|
||||
<FILE id="fPNnzc" name="Swizzle_3.inc.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Swizzle/Swizzle_3.inc.hpp"/>
|
||||
<FILE id="gU43mt" name="Swizzle_4.inc.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Swizzle/Swizzle_4.inc.hpp"/>
|
||||
</GROUP>
|
||||
<GROUP id="{2F08F8FD-A6D7-6DE3-CAD4-564E35A9F0B9}" name="Transforms">
|
||||
<FILE id="pltHW9" name="IdentityBuilder.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Transforms/IdentityBuilder.hpp"/>
|
||||
<FILE id="g2kgGu" name="OrthographicBuilder.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Transforms/OrthographicBuilder.hpp"/>
|
||||
<FILE id="DBDXmX" name="PerspectiveBuilder.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Transforms/PerspectiveBuilder.hpp"/>
|
||||
<FILE id="Gj9MnE" name="Rotation2DBuilder.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Transforms/Rotation2DBuilder.hpp"/>
|
||||
<FILE id="Hq0ZLD" name="Rotation3DBuilder.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Transforms/Rotation3DBuilder.hpp"/>
|
||||
<FILE id="An6eDN" name="ScaleBuilder.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Transforms/ScaleBuilder.hpp"/>
|
||||
<FILE id="xzgGHN" name="ShearBuilder.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Transforms/ShearBuilder.hpp"/>
|
||||
<FILE id="OVvc6Z" name="TranslationBuilder.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Transforms/TranslationBuilder.hpp"/>
|
||||
<FILE id="TzGfIt" name="ViewBuilder.hpp" compile="0" resource="0" file="Source/mathter/Transforms/ViewBuilder.hpp"/>
|
||||
<FILE id="VTTCpk" name="ZeroBuilder.hpp" compile="0" resource="0" file="Source/mathter/Transforms/ZeroBuilder.hpp"/>
|
||||
</GROUP>
|
||||
<GROUP id="{BA088AC1-AC2B-B70C-582E-EDF9E38ABC20}" name="Vector">
|
||||
<FILE id="KDVsvP" name="VectorArithmetic.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Vector/VectorArithmetic.hpp"/>
|
||||
<FILE id="qBpF7X" name="VectorCompare.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Vector/VectorCompare.hpp"/>
|
||||
<FILE id="IinHSU" name="VectorConcat.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Vector/VectorConcat.hpp"/>
|
||||
<FILE id="aVRyP9" name="VectorFunction.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Vector/VectorFunction.hpp"/>
|
||||
<FILE id="af10kl" name="VectorImpl.hpp" compile="0" resource="0" file="Source/mathter/Vector/VectorImpl.hpp"/>
|
||||
</GROUP>
|
||||
<FILE id="vOLhwO" name="CMakeLists.txt" compile="0" resource="1" file="Source/mathter/CMakeLists.txt"/>
|
||||
<FILE id="d4t0xm" name="Geometry.hpp" compile="0" resource="0" file="Source/mathter/Geometry.hpp"/>
|
||||
<FILE id="AZxH75" name="IoStream.hpp" compile="0" resource="0" file="Source/mathter/IoStream.hpp"/>
|
||||
<FILE id="ev6gxl" name="Mathter.natvis" compile="0" resource="1" file="Source/mathter/Mathter.natvis"/>
|
||||
<FILE id="VBewvB" name="Matrix.hpp" compile="0" resource="0" file="Source/mathter/Matrix.hpp"/>
|
||||
<FILE id="vlSQrm" name="Quaternion.hpp" compile="0" resource="0" file="Source/mathter/Quaternion.hpp"/>
|
||||
<FILE id="Aos8s3" name="Utility.hpp" compile="0" resource="0" file="Source/mathter/Utility.hpp"/>
|
||||
<FILE id="T6rqIo" name="Vector.hpp" compile="0" resource="0" file="Source/mathter/Vector.hpp"/>
|
||||
</GROUP>
|
||||
<GROUP id="{85A33213-D880-BD92-70D8-1901DA6D23F0}" name="audio">
|
||||
<FILE id="WDV6eI" name="AudioWebSocketServer.cpp" compile="1" resource="0"
|
||||
file="Source/audio/AudioWebSocketServer.cpp"/>
|
||||
|
@ -254,10 +162,11 @@
|
|||
<FILE id="WQ2W15" name="BufferConsumer.h" compile="0" resource="0"
|
||||
file="Source/concurrency/BufferConsumer.h"/>
|
||||
</GROUP>
|
||||
<FILE id="I44EdJ" name="EffectsComponent.cpp" compile="1" resource="0"
|
||||
file="Source/EffectsComponent.cpp"/>
|
||||
<FILE id="qxxNX3" name="EffectsComponent.h" compile="0" resource="0"
|
||||
file="Source/EffectsComponent.h"/>
|
||||
<GROUP id="{A3E24187-62A5-AB8D-8837-14043B89A640}" name="gpla">
|
||||
<FILE id="KvDV8j" name="LineArtParser.cpp" compile="1" resource="0"
|
||||
file="Source/gpla/LineArtParser.cpp"/>
|
||||
<FILE id="t008RG" name="LineArtParser.h" compile="0" resource="0" file="Source/gpla/LineArtParser.h"/>
|
||||
</GROUP>
|
||||
<GROUP id="{D0D95F57-3D9D-46D9-C126-25C3C7459AC5}" name="ixwebsocket">
|
||||
<FILE id="pPOkoj" name="IXBase64.h" compile="0" resource="0" file="Source/ixwebsocket/IXBase64.h"/>
|
||||
<FILE id="qVI3x2" name="IXBench.cpp" compile="1" resource="0" file="Source/ixwebsocket/IXBench.cpp"/>
|
||||
|
@ -356,6 +265,8 @@
|
|||
<FILE id="ZXs1Pm" name="IXUserAgent.h" compile="0" resource="0" file="Source/ixwebsocket/IXUserAgent.h"/>
|
||||
<FILE id="GQ7boW" name="IXUtf8Validator.h" compile="0" resource="0"
|
||||
file="Source/ixwebsocket/IXUtf8Validator.h"/>
|
||||
<FILE id="NkmVRB" name="IXWebSocketOpenInfo.h" compile="0" resource="0"
|
||||
file="Source/ixwebsocket/IXWebSocketOpenInfo.h"/>
|
||||
<FILE id="rnALh0" name="IXUuid.cpp" compile="1" resource="0" file="Source/ixwebsocket/IXUuid.cpp"/>
|
||||
<FILE id="WcfqnP" name="IXUuid.h" compile="0" resource="0" file="Source/ixwebsocket/IXUuid.h"/>
|
||||
<FILE id="P6VcmE" name="IXWebSocket.cpp" compile="1" resource="0" file="Source/ixwebsocket/IXWebSocket.cpp"/>
|
||||
|
@ -384,8 +295,6 @@
|
|||
file="Source/ixwebsocket/IXWebSocketMessage.h"/>
|
||||
<FILE id="Zibknu" name="IXWebSocketMessageType.h" compile="0" resource="0"
|
||||
file="Source/ixwebsocket/IXWebSocketMessageType.h"/>
|
||||
<FILE id="NkmVRB" name="IXWebSocketOpenInfo.h" compile="0" resource="0"
|
||||
file="Source/ixwebsocket/IXWebSocketOpenInfo.h"/>
|
||||
<FILE id="ulTERZ" name="IXWebSocketPerMessageDeflate.cpp" compile="1"
|
||||
resource="0" file="Source/ixwebsocket/IXWebSocketPerMessageDeflate.cpp"/>
|
||||
<FILE id="k27DKW" name="IXWebSocketPerMessageDeflate.h" compile="0"
|
||||
|
@ -417,10 +326,6 @@
|
|||
<FILE id="eAqAle" name="IXWebSocketVersion.h" compile="0" resource="0"
|
||||
file="Source/ixwebsocket/IXWebSocketVersion.h"/>
|
||||
</GROUP>
|
||||
<FILE id="uyOdTl" name="LegacyProject.cpp" compile="1" resource="0"
|
||||
file="Source/LegacyProject.cpp"/>
|
||||
<FILE id="d2zFqF" name="LookAndFeel.cpp" compile="1" resource="0" file="Source/LookAndFeel.cpp"/>
|
||||
<FILE id="TJDqWs" name="LookAndFeel.h" compile="0" resource="0" file="Source/LookAndFeel.h"/>
|
||||
<GROUP id="{75F6236A-68A5-85DA-EDAE-23D1621601DB}" name="lua">
|
||||
<FILE id="X5i9iw" name="lapi.c" compile="1" resource="0" file="Source/lua/lapi.c"/>
|
||||
<FILE id="J62WSE" name="lapi.h" compile="0" resource="0" file="Source/lua/lapi.h"/>
|
||||
|
@ -490,16 +395,98 @@
|
|||
<FILE id="vYPcZP" name="lzio.h" compile="0" resource="0" file="Source/lua/lzio.h"/>
|
||||
<FILE id="ktpcF1" name="onelua.c" compile="1" resource="0" file="Source/lua/onelua.c"/>
|
||||
</GROUP>
|
||||
<FILE id="X26RjJ" name="LuaComponent.cpp" compile="1" resource="0"
|
||||
file="Source/LuaComponent.cpp"/>
|
||||
<FILE id="g5xRHT" name="LuaComponent.h" compile="0" resource="0" file="Source/LuaComponent.h"/>
|
||||
<FILE id="GKBQ8j" name="MainComponent.cpp" compile="1" resource="0"
|
||||
file="Source/MainComponent.cpp"/>
|
||||
<FILE id="RU8fGr" name="MainComponent.h" compile="0" resource="0" file="Source/MainComponent.h"/>
|
||||
<FILE id="cFVaxu" name="MathUtil.h" compile="0" resource="0" file="Source/MathUtil.h"/>
|
||||
<FILE id="eB92KJ" name="MidiComponent.cpp" compile="1" resource="0"
|
||||
file="Source/MidiComponent.cpp"/>
|
||||
<FILE id="GJqoJa" name="MidiComponent.h" compile="0" resource="0" file="Source/MidiComponent.h"/>
|
||||
<GROUP id="{50F56072-D264-AC8C-EAC9-A073059CDE27}" name="mathter">
|
||||
<GROUP id="{60CE44FE-26F8-4CE0-3BFF-5475F8E0BD75}" name="Common">
|
||||
<FILE id="XY4AlJ" name="Approx.hpp" compile="0" resource="0" file="Source/mathter/Common/Approx.hpp"/>
|
||||
<FILE id="LeuGwE" name="Definitions.hpp" compile="0" resource="0" file="Source/mathter/Common/Definitions.hpp"/>
|
||||
<FILE id="HcUnQp" name="DeterministicInitializer.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Common/DeterministicInitializer.hpp"/>
|
||||
<FILE id="qvzdH7" name="MathUtil.hpp" compile="0" resource="0" file="Source/mathter/Common/MathUtil.hpp"/>
|
||||
<FILE id="wy5V3L" name="Range.hpp" compile="0" resource="0" file="Source/mathter/Common/Range.hpp"/>
|
||||
<FILE id="hsfx9V" name="Traits.hpp" compile="0" resource="0" file="Source/mathter/Common/Traits.hpp"/>
|
||||
</GROUP>
|
||||
<GROUP id="{AA5719C4-2684-8629-96C2-ACCCC846741E}" name="Decompositions">
|
||||
<FILE id="mqUNTZ" name="DecomposeLU.hpp" compile="0" resource="0" file="Source/mathter/Decompositions/DecomposeLU.hpp"/>
|
||||
<FILE id="bajVyN" name="DecomposeQR.hpp" compile="0" resource="0" file="Source/mathter/Decompositions/DecomposeQR.hpp"/>
|
||||
<FILE id="LVojfW" name="DecomposeSVD.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Decompositions/DecomposeSVD.hpp"/>
|
||||
</GROUP>
|
||||
<GROUP id="{5223A16D-BBB0-7277-2DA2-5F83E36AF6D7}" name="Matrix">
|
||||
<FILE id="NiMdHn" name="MatrixArithmetic.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Matrix/MatrixArithmetic.hpp"/>
|
||||
<FILE id="OG3XE0" name="MatrixCast.hpp" compile="0" resource="0" file="Source/mathter/Matrix/MatrixCast.hpp"/>
|
||||
<FILE id="hzHEZU" name="MatrixCompare.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Matrix/MatrixCompare.hpp"/>
|
||||
<FILE id="TKewDV" name="MatrixFunction.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Matrix/MatrixFunction.hpp"/>
|
||||
<FILE id="az9Zbs" name="MatrixImpl.hpp" compile="0" resource="0" file="Source/mathter/Matrix/MatrixImpl.hpp"/>
|
||||
<FILE id="ZApObW" name="MatrixVectorArithmetic.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Matrix/MatrixVectorArithmetic.hpp"/>
|
||||
</GROUP>
|
||||
<GROUP id="{9ED17B79-C8AF-B25C-1B0D-01C8A868E93B}" name="Quaternion">
|
||||
<FILE id="Pg5bBV" name="QuaternionArithmetic.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Quaternion/QuaternionArithmetic.hpp"/>
|
||||
<FILE id="Q40Fdf" name="QuaternionCompare.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Quaternion/QuaternionCompare.hpp"/>
|
||||
<FILE id="lnp7Lb" name="QuaternionFunction.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Quaternion/QuaternionFunction.hpp"/>
|
||||
<FILE id="qDNOvo" name="QuaternionImpl.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Quaternion/QuaternionImpl.hpp"/>
|
||||
<FILE id="eXgZ46" name="QuaternionLiterals.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Quaternion/QuaternionLiterals.hpp"/>
|
||||
<FILE id="oMB7Jr" name="QuaternionVectorArithmetic.hpp" compile="0"
|
||||
resource="0" file="Source/mathter/Quaternion/QuaternionVectorArithmetic.hpp"/>
|
||||
</GROUP>
|
||||
<GROUP id="{D82CFD72-F5BE-1024-94AB-5C2503423E4D}" name="Swizzle">
|
||||
<FILE id="CeOGVV" name="Swizzle_1.inc.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Swizzle/Swizzle_1.inc.hpp"/>
|
||||
<FILE id="jwhhIz" name="Swizzle_2.inc.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Swizzle/Swizzle_2.inc.hpp"/>
|
||||
<FILE id="fPNnzc" name="Swizzle_3.inc.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Swizzle/Swizzle_3.inc.hpp"/>
|
||||
<FILE id="gU43mt" name="Swizzle_4.inc.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Swizzle/Swizzle_4.inc.hpp"/>
|
||||
</GROUP>
|
||||
<GROUP id="{2F08F8FD-A6D7-6DE3-CAD4-564E35A9F0B9}" name="Transforms">
|
||||
<FILE id="pltHW9" name="IdentityBuilder.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Transforms/IdentityBuilder.hpp"/>
|
||||
<FILE id="g2kgGu" name="OrthographicBuilder.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Transforms/OrthographicBuilder.hpp"/>
|
||||
<FILE id="DBDXmX" name="PerspectiveBuilder.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Transforms/PerspectiveBuilder.hpp"/>
|
||||
<FILE id="Gj9MnE" name="Rotation2DBuilder.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Transforms/Rotation2DBuilder.hpp"/>
|
||||
<FILE id="Hq0ZLD" name="Rotation3DBuilder.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Transforms/Rotation3DBuilder.hpp"/>
|
||||
<FILE id="An6eDN" name="ScaleBuilder.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Transforms/ScaleBuilder.hpp"/>
|
||||
<FILE id="xzgGHN" name="ShearBuilder.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Transforms/ShearBuilder.hpp"/>
|
||||
<FILE id="OVvc6Z" name="TranslationBuilder.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Transforms/TranslationBuilder.hpp"/>
|
||||
<FILE id="TzGfIt" name="ViewBuilder.hpp" compile="0" resource="0" file="Source/mathter/Transforms/ViewBuilder.hpp"/>
|
||||
<FILE id="VTTCpk" name="ZeroBuilder.hpp" compile="0" resource="0" file="Source/mathter/Transforms/ZeroBuilder.hpp"/>
|
||||
</GROUP>
|
||||
<GROUP id="{BA088AC1-AC2B-B70C-582E-EDF9E38ABC20}" name="Vector">
|
||||
<FILE id="KDVsvP" name="VectorArithmetic.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Vector/VectorArithmetic.hpp"/>
|
||||
<FILE id="qBpF7X" name="VectorCompare.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Vector/VectorCompare.hpp"/>
|
||||
<FILE id="IinHSU" name="VectorConcat.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Vector/VectorConcat.hpp"/>
|
||||
<FILE id="aVRyP9" name="VectorFunction.hpp" compile="0" resource="0"
|
||||
file="Source/mathter/Vector/VectorFunction.hpp"/>
|
||||
<FILE id="af10kl" name="VectorImpl.hpp" compile="0" resource="0" file="Source/mathter/Vector/VectorImpl.hpp"/>
|
||||
</GROUP>
|
||||
<FILE id="vOLhwO" name="CMakeLists.txt" compile="0" resource="1" file="Source/mathter/CMakeLists.txt"/>
|
||||
<FILE id="d4t0xm" name="Geometry.hpp" compile="0" resource="0" file="Source/mathter/Geometry.hpp"/>
|
||||
<FILE id="AZxH75" name="IoStream.hpp" compile="0" resource="0" file="Source/mathter/IoStream.hpp"/>
|
||||
<FILE id="ev6gxl" name="Mathter.natvis" compile="0" resource="1" file="Source/mathter/Mathter.natvis"/>
|
||||
<FILE id="VBewvB" name="Matrix.hpp" compile="0" resource="0" file="Source/mathter/Matrix.hpp"/>
|
||||
<FILE id="vlSQrm" name="Quaternion.hpp" compile="0" resource="0" file="Source/mathter/Quaternion.hpp"/>
|
||||
<FILE id="Aos8s3" name="Utility.hpp" compile="0" resource="0" file="Source/mathter/Utility.hpp"/>
|
||||
<FILE id="T6rqIo" name="Vector.hpp" compile="0" resource="0" file="Source/mathter/Vector.hpp"/>
|
||||
</GROUP>
|
||||
<GROUP id="{E6ED85A9-3843-825F-EF48-BCF81E38F8AD}" name="obj">
|
||||
<FILE id="ahOy0q" name="Camera.cpp" compile="1" resource="0" file="Source/obj/Camera.cpp"/>
|
||||
<FILE id="dUDESs" name="Camera.h" compile="0" resource="0" file="Source/obj/Camera.h"/>
|
||||
|
@ -515,10 +502,6 @@
|
|||
<FILE id="YNsbe9" name="WorldObject.cpp" compile="1" resource="0" file="Source/obj/WorldObject.cpp"/>
|
||||
<FILE id="SZBVI9" name="WorldObject.h" compile="0" resource="0" file="Source/obj/WorldObject.h"/>
|
||||
</GROUP>
|
||||
<FILE id="RHHuXP" name="PerspectiveComponent.cpp" compile="1" resource="0"
|
||||
file="Source/PerspectiveComponent.cpp"/>
|
||||
<FILE id="mliVoS" name="PerspectiveComponent.h" compile="0" resource="0"
|
||||
file="Source/PerspectiveComponent.h"/>
|
||||
<GROUP id="{2AE40B10-2C85-6401-644A-D5F36BCC5BC1}" name="parser">
|
||||
<FILE id="q22Fiw" name="FileParser.cpp" compile="1" resource="0" file="Source/parser/FileParser.cpp"/>
|
||||
<FILE id="HWSJK8" name="FileParser.h" compile="0" resource="0" file="Source/parser/FileParser.h"/>
|
||||
|
@ -528,17 +511,6 @@
|
|||
<FILE id="JEcNPP" name="FrameProducer.h" compile="0" resource="0" file="Source/parser/FrameProducer.h"/>
|
||||
<FILE id="hCrVUD" name="FrameSource.h" compile="0" resource="0" file="Source/parser/FrameSource.h"/>
|
||||
</GROUP>
|
||||
<FILE id="GF4uFx" name="PluginEditor.cpp" compile="1" resource="0"
|
||||
file="Source/PluginEditor.cpp"/>
|
||||
<FILE id="iySMgE" name="PluginEditor.h" compile="0" resource="0" file="Source/PluginEditor.h"/>
|
||||
<FILE id="N4YgAT" name="PluginProcessor.cpp" compile="1" resource="0"
|
||||
file="Source/PluginProcessor.cpp"/>
|
||||
<FILE id="G4mTsK" name="PluginProcessor.h" compile="0" resource="0"
|
||||
file="Source/PluginProcessor.h"/>
|
||||
<FILE id="x57ccs" name="SettingsComponent.cpp" compile="1" resource="0"
|
||||
file="Source/SettingsComponent.cpp"/>
|
||||
<FILE id="Vlmozi" name="SettingsComponent.h" compile="0" resource="0"
|
||||
file="Source/SettingsComponent.h"/>
|
||||
<GROUP id="{92CEA658-C82C-9CEB-15EB-945EF6B6B5C8}" name="shape">
|
||||
<FILE id="iglTFG" name="CircleArc.cpp" compile="1" resource="0" file="Source/shape/CircleArc.cpp"/>
|
||||
<FILE id="T3S8Sg" name="CircleArc.h" compile="0" resource="0" file="Source/shape/CircleArc.h"/>
|
||||
|
@ -565,9 +537,6 @@
|
|||
<FILE id="vIYWRG" name="TextParser.cpp" compile="1" resource="0" file="Source/txt/TextParser.cpp"/>
|
||||
<FILE id="LlefOK" name="TextParser.h" compile="0" resource="0" file="Source/txt/TextParser.h"/>
|
||||
</GROUP>
|
||||
<FILE id="UxZu4n" name="TxtComponent.cpp" compile="1" resource="0"
|
||||
file="Source/TxtComponent.cpp"/>
|
||||
<FILE id="kxPbsL" name="TxtComponent.h" compile="0" resource="0" file="Source/TxtComponent.h"/>
|
||||
<GROUP id="{0C40BD3D-FDE8-D3CD-E1AB-14CA04799E4A}" name="UGen">
|
||||
<FILE id="zfNA3c" name="Env.cpp" compile="1" resource="0" file="Source/UGen/Env.cpp"/>
|
||||
<FILE id="DHCLp1" name="Env.h" compile="0" resource="0" file="Source/UGen/Env.h"/>
|
||||
|
@ -582,6 +551,46 @@
|
|||
<FILE id="mC1tUv" name="ugen_JuceUtility.h" compile="0" resource="0"
|
||||
file="Source/UGen/ugen_JuceUtility.h"/>
|
||||
</GROUP>
|
||||
<FILE id="I44EdJ" name="EffectsComponent.cpp" compile="1" resource="0"
|
||||
file="Source/EffectsComponent.cpp"/>
|
||||
<FILE id="qxxNX3" name="EffectsComponent.h" compile="0" resource="0"
|
||||
file="Source/EffectsComponent.h"/>
|
||||
<FILE id="uyOdTl" name="LegacyProject.cpp" compile="1" resource="0"
|
||||
file="Source/LegacyProject.cpp"/>
|
||||
<FILE id="u7PWXF" name="LineArtComponent.cpp" compile="1" resource="0"
|
||||
file="Source/LineArtComponent.cpp"/>
|
||||
<FILE id="InL4cZ" name="LineArtComponent.h" compile="0" resource="0"
|
||||
file="Source/LineArtComponent.h"/>
|
||||
<FILE id="d2zFqF" name="LookAndFeel.cpp" compile="1" resource="0" file="Source/LookAndFeel.cpp"/>
|
||||
<FILE id="TJDqWs" name="LookAndFeel.h" compile="0" resource="0" file="Source/LookAndFeel.h"/>
|
||||
<FILE id="X26RjJ" name="LuaComponent.cpp" compile="1" resource="0"
|
||||
file="Source/LuaComponent.cpp"/>
|
||||
<FILE id="g5xRHT" name="LuaComponent.h" compile="0" resource="0" file="Source/LuaComponent.h"/>
|
||||
<FILE id="GKBQ8j" name="MainComponent.cpp" compile="1" resource="0"
|
||||
file="Source/MainComponent.cpp"/>
|
||||
<FILE id="RU8fGr" name="MainComponent.h" compile="0" resource="0" file="Source/MainComponent.h"/>
|
||||
<FILE id="cFVaxu" name="MathUtil.h" compile="0" resource="0" file="Source/MathUtil.h"/>
|
||||
<FILE id="eB92KJ" name="MidiComponent.cpp" compile="1" resource="0"
|
||||
file="Source/MidiComponent.cpp"/>
|
||||
<FILE id="GJqoJa" name="MidiComponent.h" compile="0" resource="0" file="Source/MidiComponent.h"/>
|
||||
<FILE id="RHHuXP" name="PerspectiveComponent.cpp" compile="1" resource="0"
|
||||
file="Source/PerspectiveComponent.cpp"/>
|
||||
<FILE id="mliVoS" name="PerspectiveComponent.h" compile="0" resource="0"
|
||||
file="Source/PerspectiveComponent.h"/>
|
||||
<FILE id="GF4uFx" name="PluginEditor.cpp" compile="1" resource="0"
|
||||
file="Source/PluginEditor.cpp"/>
|
||||
<FILE id="iySMgE" name="PluginEditor.h" compile="0" resource="0" file="Source/PluginEditor.h"/>
|
||||
<FILE id="N4YgAT" name="PluginProcessor.cpp" compile="1" resource="0"
|
||||
file="Source/PluginProcessor.cpp"/>
|
||||
<FILE id="G4mTsK" name="PluginProcessor.h" compile="0" resource="0"
|
||||
file="Source/PluginProcessor.h"/>
|
||||
<FILE id="x57ccs" name="SettingsComponent.cpp" compile="1" resource="0"
|
||||
file="Source/SettingsComponent.cpp"/>
|
||||
<FILE id="Vlmozi" name="SettingsComponent.h" compile="0" resource="0"
|
||||
file="Source/SettingsComponent.h"/>
|
||||
<FILE id="UxZu4n" name="TxtComponent.cpp" compile="1" resource="0"
|
||||
file="Source/TxtComponent.cpp"/>
|
||||
<FILE id="kxPbsL" name="TxtComponent.h" compile="0" resource="0" file="Source/TxtComponent.h"/>
|
||||
</GROUP>
|
||||
</MAINGROUP>
|
||||
<JUCEOPTIONS JUCE_STRICT_REFCOUNTEDPOINTER="1" JUCE_VST3_CAN_REPLACE_VST2="0"
|
||||
|
@ -611,7 +620,7 @@
|
|||
</LINUX_MAKE>
|
||||
<VS2022 targetFolder="Builds/VisualStudio2022" smallIcon="pSc1mq" bigIcon="pSc1mq">
|
||||
<CONFIGURATIONS>
|
||||
<CONFIGURATION isDebug="1" name="Debug" targetName="osci-render"/>
|
||||
<CONFIGURATION isDebug="1" name="Debug" targetName="osci-render" enablePluginBinaryCopyStep="1"/>
|
||||
<CONFIGURATION isDebug="0" name="Release" targetName="osci-render" alwaysGenerateDebugSymbols="1"
|
||||
debugInformationFormat="ProgramDatabase"/>
|
||||
</CONFIGURATIONS>
|
||||
|
|
Ładowanie…
Reference in New Issue