From 0f2448ed1fad6fd4f291ebf3b850d98aaa89afb6 Mon Sep 17 00:00:00 2001 From: w1z7ard Date: Sat, 13 Sep 2008 13:12:06 +0000 Subject: [PATCH] removed init engine from projectm top level, made 32 q varibles pervasive and now use iteration to update them git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/personal/carm/represet@1154 6778bc44-b910-0410-a7a0-be141de4315d --- src/libprojectM/BuiltinParams.cpp | 41 +++++-------------------- src/libprojectM/Common.hpp | 1 + src/libprojectM/CustomShape.cpp | 49 +++++------------------------- src/libprojectM/CustomShape.hpp | 11 ++----- src/libprojectM/CustomWave.cpp | 46 +++++----------------------- src/libprojectM/CustomWave.hpp | 9 +----- src/libprojectM/MilkdropPreset.hpp | 10 ++---- src/libprojectM/projectM.cpp | 4 --- 8 files changed, 30 insertions(+), 141 deletions(-) diff --git a/src/libprojectM/BuiltinParams.cpp b/src/libprojectM/BuiltinParams.cpp index d93b24141..1dc80fe49 100644 --- a/src/libprojectM/BuiltinParams.cpp +++ b/src/libprojectM/BuiltinParams.cpp @@ -6,7 +6,7 @@ #include #include #include "InitCondUtils.hpp" - +#include using namespace Algorithms; @@ -393,38 +393,13 @@ int BuiltinParams::load_all_builtin_param(const PresetInputs & presetInputs, Pre load_builtin_param_float("rad", (void*)&presetInputs.rad_per_pixel, presetInputs.rad_mesh, P_FLAG_PER_PIXEL |P_FLAG_ALWAYS_MATRIX | P_FLAG_READONLY | P_FLAG_NONE, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q1", (void*)&presetOutputs.q[0], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q2", (void*)&presetOutputs.q[1], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q3", (void*)&presetOutputs.q[2], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q4", (void*)&presetOutputs.q[3], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q5", (void*)&presetOutputs.q[4], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q6", (void*)&presetOutputs.q[5], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q7", (void*)&presetOutputs.q[6], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q8", (void*)&presetOutputs.q[7], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q9", (void*)&presetOutputs.q[8], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q10", (void*)&presetOutputs.q[6], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q11", (void*)&presetOutputs.q[10], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q12", (void*)&presetOutputs.q[11], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q13", (void*)&presetOutputs.q[12], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q14", (void*)&presetOutputs.q[13], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q15", (void*)&presetOutputs.q[14], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q16", (void*)&presetOutputs.q[15], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q17", (void*)&presetOutputs.q[16], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q18", (void*)&presetOutputs.q[17], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q19", (void*)&presetOutputs.q[18], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q20", (void*)&presetOutputs.q[19], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q21", (void*)&presetOutputs.q[20], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q22", (void*)&presetOutputs.q[21], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q23", (void*)&presetOutputs.q[22], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q24", (void*)&presetOutputs.q[23], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q25", (void*)&presetOutputs.q[24], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q26", (void*)&presetOutputs.q[25], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q27", (void*)&presetOutputs.q[26], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q28", (void*)&presetOutputs.q[27], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q29", (void*)&presetOutputs.q[28], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q30", (void*)&presetOutputs.q[29], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q31", (void*)&presetOutputs.q[30], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q32", (void*)&presetOutputs.q[31], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); + for (unsigned int i = 0; i < NUM_Q_VARIABLES;i++) { + std::ostringstream os; + os << "q" << i; + load_builtin_param_float(os.str().c_str(), (void*)&presetOutputs.q[i], NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); + + } + //param = Param::new_param_string ( "imageurl", P_FLAG_NONE, &this->imageUrl); diff --git a/src/libprojectM/Common.hpp b/src/libprojectM/Common.hpp index a617c2aac..37ca0b6d7 100755 --- a/src/libprojectM/Common.hpp +++ b/src/libprojectM/Common.hpp @@ -135,6 +135,7 @@ extern FILE *fmemopen(void *buf, size_t len, const char *pMode); #endif /** WIN32 */ #include +const unsigned int NUM_Q_VARIABLES(32); const std::string PROJECTM_FILE_EXTENSION("prjm"); const std::string MILKDROP_FILE_EXTENSION("milk"); const std::string PROJECTM_MODULE_EXTENSION("so"); diff --git a/src/libprojectM/CustomShape.cpp b/src/libprojectM/CustomShape.cpp index a29233691..482d5b0d1 100755 --- a/src/libprojectM/CustomShape.cpp +++ b/src/libprojectM/CustomShape.cpp @@ -19,10 +19,7 @@ * */ -#include -#include -#include - +#include #include "Common.hpp" #include "fatal.h" @@ -213,46 +210,16 @@ CustomShape::CustomShape ( int id ) : Shape() abort(); } - param = Param::new_param_float ( "q1", P_FLAG_QVAR, &this->q1, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( !ParamUtils::insert( param, &this->param_tree ) ) - { - abort(); - } - param = Param::new_param_float ( "q2", P_FLAG_QVAR, &this->q2, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( !ParamUtils::insert( param, &this->param_tree ) ) - { - abort(); - } - param = Param::new_param_float ( "q3", P_FLAG_QVAR, &this->q3, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( !ParamUtils::insert( param, &this->param_tree ) ) - { - abort(); - } - param = Param::new_param_float ( "q4", P_FLAG_QVAR, &this->q4, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( !ParamUtils::insert( param, &this->param_tree ) ) - { - abort(); - } - param = Param::new_param_float ( "q5", P_FLAG_QVAR, &this->q5, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( !ParamUtils::insert( param, &this->param_tree ) ) - { - abort(); - } - param = Param::new_param_float ( "q6", P_FLAG_QVAR, &this->q6, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( !ParamUtils::insert( param, &this->param_tree ) ) - { - abort(); - } - param = Param::new_param_float ( "q7", P_FLAG_QVAR, &this->q7, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( !ParamUtils::insert( param, &this->param_tree ) ) - { - abort(); - } - param = Param::new_param_float ( "q8", P_FLAG_QVAR, &this->q8, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( !ParamUtils::insert( param, &this->param_tree ) ) + for (unsigned int i = 1; i <= NUM_Q_VARIABLES;i++) { + std::ostringstream os; + os << "q" << i; + param = Param::new_param_float ( os.str().c_str(), P_FLAG_QVAR, &this->q[i], NULL, MAX_DOUBLE_SIZE, + -MAX_DOUBLE_SIZE, 0.0 ); + if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) { abort(); } + } param = Param::new_param_string ( "imageurl", P_FLAG_NONE, &this->imageUrl); if ( !ParamUtils::insert( param, &this->text_properties_tree ) ) diff --git a/src/libprojectM/CustomShape.hpp b/src/libprojectM/CustomShape.hpp index e5334bdbc..bf5815dc4 100755 --- a/src/libprojectM/CustomShape.hpp +++ b/src/libprojectM/CustomShape.hpp @@ -63,15 +63,8 @@ public: float t7; float t8; - /* stupider q variables */ - float q1; - float q2; - float q3; - float q4; - float q5; - float q6; - float q7; - float q8; + /* stupider q variables */ + float q[NUM_Q_VARIABLES]; // Data structure to hold per frame / per frame init equations std::map init_cond_tree; diff --git a/src/libprojectM/CustomWave.cpp b/src/libprojectM/CustomWave.cpp index c6e671577..24d1092b8 100755 --- a/src/libprojectM/CustomWave.cpp +++ b/src/libprojectM/CustomWave.cpp @@ -23,6 +23,7 @@ #include #include +#include #include "Common.hpp" #include "fatal.h" @@ -397,47 +398,16 @@ CustomWave::CustomWave(int _id) : Waveform(512), abort(); } - - param = Param::new_param_float ( "q1", P_FLAG_QVAR, &this->q1, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); + for (unsigned int i = 1; i <= NUM_Q_VARIABLES;i++) { + std::ostringstream os; + os << "q" << i; + param = Param::new_param_float ( os.str().c_str(), P_FLAG_QVAR, &this->q[i], NULL, MAX_DOUBLE_SIZE, + -MAX_DOUBLE_SIZE, 0.0 ); if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) { - - } - param = Param::new_param_float ( "q2", P_FLAG_QVAR, &this->q2, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - - } - param = Param::new_param_float ( "q3", P_FLAG_QVAR, &this->q3, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - - } - param = Param::new_param_float ( "q4", P_FLAG_QVAR, &this->q4, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - - } - param = Param::new_param_float ( "q5", P_FLAG_QVAR, &this->q5, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - - } - param = Param::new_param_float ( "q6", P_FLAG_QVAR, &this->q6, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - - } - param = Param::new_param_float ( "q7", P_FLAG_QVAR, &this->q7, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - - } - param = Param::new_param_float ( "q8", P_FLAG_QVAR, &this->q8, NULL, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, 0.0 ); - if ( ParamUtils::insert ( param, &this->param_tree ) < 0 ) - { - + abort(); } + } /* End of parameter loading. Note that the read only parameters associated with custom waves (ie, sample) are variables stored in PresetFrameIO.hpp, diff --git a/src/libprojectM/CustomWave.hpp b/src/libprojectM/CustomWave.hpp index b4bf6f3c4..d5613586c 100755 --- a/src/libprojectM/CustomWave.hpp +++ b/src/libprojectM/CustomWave.hpp @@ -100,14 +100,7 @@ public: /* stupider q variables */ - float q1; - float q2; - float q3; - float q4; - float q5; - float q6; - float q7; - float q8; + float q[NUM_Q_VARIABLES]; float v1,v2; diff --git a/src/libprojectM/MilkdropPreset.hpp b/src/libprojectM/MilkdropPreset.hpp index abdb57e73..d85f048ce 100644 --- a/src/libprojectM/MilkdropPreset.hpp +++ b/src/libprojectM/MilkdropPreset.hpp @@ -188,14 +188,8 @@ void MilkdropPreset::transfer_q_variables(std::vector & customObj for (typename std::vector::iterator pos = customObjects.begin(); pos != customObjects.end();++pos) { custom_object = *pos; - custom_object->q1 = _presetOutputs.q[0]; - custom_object->q2 = _presetOutputs.q[1]; - custom_object->q3 = _presetOutputs.q[2]; - custom_object->q4 = _presetOutputs.q[3]; - custom_object->q5 = _presetOutputs.q[4]; - custom_object->q6 = _presetOutputs.q[5]; - custom_object->q7 = _presetOutputs.q[6]; - custom_object->q8 = _presetOutputs.q[7]; + for (unsigned int i = 0; i < NUM_Q_VARIABLES; i++) + custom_object->q[i] = _presetOutputs.q[i]; } diff --git a/src/libprojectM/projectM.cpp b/src/libprojectM/projectM.cpp index 4436d863e..314a5ae40 100755 --- a/src/libprojectM/projectM.cpp +++ b/src/libprojectM/projectM.cpp @@ -419,10 +419,6 @@ void projectM::projectM_reset() void projectM::projectM_init ( int gx, int gy, int fps, int texsize, int width, int height ) { - /** Initialise engine variables */ - - projectM_initengine(); - /** Initialise start time */ timeKeeper = new TimeKeeper(_settings.presetDuration,_settings.smoothPresetDuration, _settings.easterEgg);