Remove indentation in LuaParser

pull/223/head v2.1.2
James Ball 2024-03-03 14:05:29 +00:00 zatwierdzone przez James H Ball
rodzic 8f6a9f7ed8
commit 4db2fcc293
1 zmienionych plików z 74 dodań i 74 usunięć

Wyświetl plik

@ -1,87 +1,87 @@
#pragma once #pragma once
#include <JuceHeader.h> #include <JuceHeader.h>
#include <regex> #include <regex>
#include <numbers> #include <numbers>
#include "../shape/Shape.h" #include "../shape/Shape.h"
class ErrorListener { class ErrorListener {
public: public:
virtual void onError(int lineNumber, juce::String error) = 0; virtual void onError(int lineNumber, juce::String error) = 0;
virtual juce::String getFileName() = 0; virtual juce::String getFileName() = 0;
}; };
const int NUM_SLIDERS = 26; const int NUM_SLIDERS = 26;
const char SLIDER_NAMES[NUM_SLIDERS][9] = { const char SLIDER_NAMES[NUM_SLIDERS][9] = {
"slider_a", "slider_a",
"slider_b", "slider_b",
"slider_c", "slider_c",
"slider_d", "slider_d",
"slider_e", "slider_e",
"slider_f", "slider_f",
"slider_g", "slider_g",
"slider_h", "slider_h",
"slider_i", "slider_i",
"slider_j", "slider_j",
"slider_k", "slider_k",
"slider_l", "slider_l",
"slider_m", "slider_m",
"slider_n", "slider_n",
"slider_o", "slider_o",
"slider_p", "slider_p",
"slider_q", "slider_q",
"slider_r", "slider_r",
"slider_s", "slider_s",
"slider_t", "slider_t",
"slider_u", "slider_u",
"slider_v", "slider_v",
"slider_w", "slider_w",
"slider_x", "slider_x",
"slider_y", "slider_y",
"slider_z", "slider_z",
}; };
struct LuaVariables { struct LuaVariables {
double sliders[NUM_SLIDERS] = { 0.0 }; double sliders[NUM_SLIDERS] = { 0.0 };
double step = 1; double step = 1;
double phase = 0; double phase = 0;
double sampleRate = 0; double sampleRate = 0;
double frequency = 0; double frequency = 0;
// x, y, z are only used for effects // x, y, z are only used for effects
bool isEffect = false; bool isEffect = false;
double x = 0; double x = 0;
double y = 0; double y = 0;
double z = 0; double z = 0;
}; };
struct lua_State; struct lua_State;
class LuaParser { class LuaParser {
public: public:
LuaParser(juce::String fileName, juce::String script, std::function<void(int, juce::String, juce::String)> errorCallback, juce::String fallbackScript = "return { 0.0, 0.0 }"); LuaParser(juce::String fileName, juce::String script, std::function<void(int, juce::String, juce::String)> errorCallback, juce::String fallbackScript = "return { 0.0, 0.0 }");
std::vector<float> run(lua_State*& L, LuaVariables& vars); std::vector<float> run(lua_State*& L, LuaVariables& vars);
bool isFunctionValid(); bool isFunctionValid();
juce::String getScript(); juce::String getScript();
void resetErrors(); void resetErrors();
void close(lua_State*& L); void close(lua_State*& L);
static std::function<void(const std::string&)> onPrint; static std::function<void(const std::string&)> onPrint;
private: private:
void reset(lua_State*& L, juce::String script); void reset(lua_State*& L, juce::String script);
void reportError(const char* error); void reportError(const char* error);
void parse(lua_State*& L); void parse(lua_State*& L);
int functionRef = -1; int functionRef = -1;
bool usingFallbackScript = false; bool usingFallbackScript = false;
juce::String script; juce::String script;
juce::String fallbackScript; juce::String fallbackScript;
std::atomic<bool> updateVariables = false; std::atomic<bool> updateVariables = false;
std::function<void(int, juce::String, juce::String)> errorCallback; std::function<void(int, juce::String, juce::String)> errorCallback;
juce::String fileName; juce::String fileName;
std::vector<lua_State*> seenStates; std::vector<lua_State*> seenStates;
}; };