diff --git a/src/projectM-engine/BuiltinFuncs.cpp b/src/projectM-engine/BuiltinFuncs.cpp index 80494efe9..3fd420aec 100644 --- a/src/projectM-engine/BuiltinFuncs.cpp +++ b/src/projectM-engine/BuiltinFuncs.cpp @@ -151,6 +151,7 @@ return PROJECTM_SUCCESS; /* Insert a function into the database */ int BuiltinFuncs::insert_func( Func *func ) { + assert(func); std::pair::iterator, bool> inserteePair = builtin_func_tree->insert(std::make_pair(std::string(func->name), func)); diff --git a/src/projectM-engine/BuiltinParams.cpp b/src/projectM-engine/BuiltinParams.cpp index 0b8c7033b..84d6b12ab 100644 --- a/src/projectM-engine/BuiltinParams.cpp +++ b/src/projectM-engine/BuiltinParams.cpp @@ -28,8 +28,8 @@ BuiltinParams::~BuiltinParams() } /* Loads a float parameter into the builtin database */ -int BuiltinParams::load_builtin_param_float(char * name, void * engine_val, void * matrix, short int flags, - float init_val, float upper_bound, float lower_bound, char * alt_name) +int BuiltinParams::load_builtin_param_float(const std::string & name, void * engine_val, void * matrix, short int flags, + float init_val, float upper_bound, float lower_bound, const std::string & alt_name) { Param * param = NULL; @@ -42,7 +42,7 @@ int BuiltinParams::load_builtin_param_float(char * name, void * engine_val, void /* Create new parameter of type float */ if (BUILTIN_PARAMS_DEBUG == 2) { - printf("load_builtin_param_float: (name \"%s\") (alt_name = \"%s\") ", name, alt_name); + printf("load_builtin_param_float: (name \"%s\") (alt_name = \"%s\") ", name.c_str(), alt_name.c_str()); fflush(stdout); } @@ -73,9 +73,9 @@ int BuiltinParams::load_builtin_param_float(char * name, void * engine_val, void /* If this parameter has an alternate name, insert it into the database as link */ - if (alt_name != NULL) + if (alt_name != "") { - insert_param_alt_name(param,alt_name); + insert_param_alt_name(param, alt_name); if (BUILTIN_PARAMS_DEBUG == 2) { @@ -105,13 +105,12 @@ int BuiltinParams::destroy_builtin_param_db() /* Insert a parameter into the database with an alternate name */ -int BuiltinParams::insert_param_alt_name(Param *param, char * alt_name) +int BuiltinParams::insert_param_alt_name(Param * param, const std::string & alt_name) { assert(param); - assert(alt_name); - - aliasMap.insert(std::make_pair(std::string(alt_name), std::string(param->name))); + + aliasMap.insert(std::make_pair(alt_name, param->name)); return PROJECTM_SUCCESS; } @@ -148,8 +147,8 @@ Param * BuiltinParams::find_builtin_param(const std::string & name) /* Loads a integer parameter into the builtin database */ -int BuiltinParams::load_builtin_param_int(char * name, void * engine_val, short int flags, - int init_val, int upper_bound, int lower_bound, char * alt_name) +int BuiltinParams::load_builtin_param_int(const std::string & name, void * engine_val, short int flags, + int init_val, int upper_bound, int lower_bound, const std::string &alt_name) { Param * param; @@ -172,7 +171,7 @@ int BuiltinParams::load_builtin_param_int(char * name, void * engine_val, short return PROJECTM_ERROR; } - if (alt_name != NULL) + if (alt_name != "") { insert_param_alt_name(param,alt_name); } @@ -182,8 +181,8 @@ int BuiltinParams::load_builtin_param_int(char * name, void * engine_val, short } /* Loads a boolean parameter */ -int BuiltinParams::load_builtin_param_bool(char * name, void * engine_val, short int flags, - int init_val, char * alt_name) +int BuiltinParams::load_builtin_param_bool(const std:: string & name, void * engine_val, short int flags, + int init_val, const std::string &alt_name) { Param * param; @@ -206,7 +205,7 @@ int BuiltinParams::load_builtin_param_bool(char * name, void * engine_val, short return PROJECTM_ERROR; } - if (alt_name != NULL) + if (alt_name != "") { insert_param_alt_name(param,alt_name); } @@ -255,113 +254,113 @@ int BuiltinParams::init_builtin_param_db(const PresetInputs & presetInputs, Pres int BuiltinParams::load_all_builtin_param(const PresetInputs & presetInputs, PresetOutputs & presetOutputs) { - load_builtin_param_float("fRating", (void*)&presetOutputs.fRating, NULL, P_FLAG_NONE, 0.0 , 5.0, 0.0, NULL); - load_builtin_param_float("fWaveScale", (void*)&presetOutputs.fWaveScale, NULL, P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, NULL); + load_builtin_param_float("fRating", (void*)&presetOutputs.fRating, NULL, P_FLAG_NONE, 0.0 , 5.0, 0.0, ""); + load_builtin_param_float("fWaveScale", (void*)&presetOutputs.fWaveScale, NULL, P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); load_builtin_param_float("gamma", (void*)&presetOutputs.fGammaAdj, NULL, P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, 0, "fGammaAdj"); load_builtin_param_float("echo_zoom", (void*)&presetOutputs.fVideoEchoZoom, NULL, P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, 0, "fVideoEchoZoom"); load_builtin_param_float("echo_alpha", (void*)&presetOutputs.fVideoEchoAlpha, NULL, P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, 0, "fVideoEchoAlpha"); load_builtin_param_float("wave_a", (void*)&presetOutputs.fWaveAlpha, NULL, P_FLAG_NONE, 0.0, 1.0, 0, "fWaveAlpha"); - load_builtin_param_float("fWaveSmoothing", (void*)&presetOutputs.fWaveSmoothing, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, NULL); - load_builtin_param_float("fModWaveAlphaStart", (void*)&presetOutputs.fModWaveAlphaStart, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, NULL); - load_builtin_param_float("fModWaveAlphaEnd", (void*)&presetOutputs.fModWaveAlphaEnd, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, NULL); - load_builtin_param_float("fWarpAnimSpeed", (void*)&presetOutputs.fWarpAnimSpeed, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, NULL); - // load_builtin_param_float("warp", (void*)&presetOutputs.warp, warp_mesh, P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, 0, NULL); + load_builtin_param_float("fWaveSmoothing", (void*)&presetOutputs.fWaveSmoothing, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); + load_builtin_param_float("fModWaveAlphaStart", (void*)&presetOutputs.fModWaveAlphaStart, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); + load_builtin_param_float("fModWaveAlphaEnd", (void*)&presetOutputs.fModWaveAlphaEnd, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); + load_builtin_param_float("fWarpAnimSpeed", (void*)&presetOutputs.fWarpAnimSpeed, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); + // load_builtin_param_float("warp", (void*)&presetOutputs.warp, warp_mesh, P_FLAG_NONE, 0.0, MAX_DOUBLE_SIZE, 0, ""); - load_builtin_param_float("fShader", (void*)&presetOutputs.fShader, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, NULL); + load_builtin_param_float("fShader", (void*)&presetOutputs.fShader, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); load_builtin_param_float("decay", (void*)&presetOutputs.decay, NULL, P_FLAG_NONE, 0.0, 1.0, 0, "fDecay"); load_builtin_param_int("echo_orient", (void*)&presetOutputs.nVideoEchoOrientation, P_FLAG_NONE, 0, 3, 0, "nVideoEchoOrientation"); load_builtin_param_int("wave_mode", (void*)&presetOutputs.nWaveMode, P_FLAG_NONE, 0, 7, 0, "nWaveMode"); load_builtin_param_bool("wave_additive", (void*)&presetOutputs.bAdditiveWaves, P_FLAG_NONE, false, "bAdditiveWaves"); - load_builtin_param_bool("bModWaveAlphaByVolume", (void*)&presetOutputs.bModWaveAlphaByVolume, P_FLAG_NONE, false, NULL); + load_builtin_param_bool("bModWaveAlphaByVolume", (void*)&presetOutputs.bModWaveAlphaByVolume, P_FLAG_NONE, false, ""); load_builtin_param_bool("wave_brighten", (void*)&presetOutputs.bMaximizeWaveColor, P_FLAG_NONE, false, "bMaximizeWaveColor"); load_builtin_param_bool("wrap", (void*)&presetOutputs.bTexWrap, P_FLAG_NONE, false, "bTexWrap"); load_builtin_param_bool("darken_center", (void*)&presetOutputs.bDarkenCenter, P_FLAG_NONE, false, "bDarkenCenter"); - load_builtin_param_bool("bRedBlueStereo", (void*)&presetOutputs.bRedBlueStereo, P_FLAG_NONE, false, NULL); + load_builtin_param_bool("bRedBlueStereo", (void*)&presetOutputs.bRedBlueStereo, P_FLAG_NONE, false, ""); load_builtin_param_bool("brighten", (void*)&presetOutputs.bBrighten, P_FLAG_NONE, false, "bBrighten"); load_builtin_param_bool("darken", (void*)&presetOutputs.bDarken, P_FLAG_NONE, false, "bDarken"); load_builtin_param_bool("solarize", (void*)&presetOutputs.bSolarize, P_FLAG_NONE, false, "bSolarize"); load_builtin_param_bool("invert", (void*)&presetOutputs.bInvert, P_FLAG_NONE, false, "bInvert"); - load_builtin_param_bool("bMotionVectorsOn", (void*)&presetOutputs.bMotionVectorsOn, P_FLAG_NONE, false, NULL); + load_builtin_param_bool("bMotionVectorsOn", (void*)&presetOutputs.bMotionVectorsOn, P_FLAG_NONE, false, ""); load_builtin_param_bool("wave_dots", (void*)&presetOutputs.bWaveDots, P_FLAG_NONE, false, "bWaveDots"); load_builtin_param_bool("wave_thick", (void*)&presetOutputs.bWaveThick, P_FLAG_NONE, false, "bWaveThick"); - load_builtin_param_float("zoom", (void*)&presetOutputs.zoom, presetOutputs.zoom_mesh, P_FLAG_PER_PIXEL |P_FLAG_DONT_FREE_MATRIX, 0.0, MAX_DOUBLE_SIZE, 0, NULL); - load_builtin_param_float("rot", (void*)&presetOutputs.rot, presetOutputs.rot_mesh, P_FLAG_PER_PIXEL |P_FLAG_DONT_FREE_MATRIX, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, NULL); + load_builtin_param_float("zoom", (void*)&presetOutputs.zoom, presetOutputs.zoom_mesh, P_FLAG_PER_PIXEL |P_FLAG_DONT_FREE_MATRIX, 0.0, MAX_DOUBLE_SIZE, 0, ""); + load_builtin_param_float("rot", (void*)&presetOutputs.rot, presetOutputs.rot_mesh, P_FLAG_PER_PIXEL |P_FLAG_DONT_FREE_MATRIX, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); /// @note added huge bug fix here potentially by prevening zoomexp_mesh from being freed when presets dealloc load_builtin_param_float("zoomexp", (void*)&presetOutputs.zoomexp, presetOutputs.zoomexp_mesh, P_FLAG_PER_PIXEL |P_FLAG_DONT_FREE_MATRIX , 0.0, MAX_DOUBLE_SIZE, 0, "fZoomExponent"); - load_builtin_param_float("cx", (void*)&presetOutputs.cx, presetOutputs.cx_mesh, P_FLAG_PER_PIXEL | P_FLAG_DONT_FREE_MATRIX, 0.0, 1.0, 0, NULL); - load_builtin_param_float("cy", (void*)&presetOutputs.cy, presetOutputs.cy_mesh, P_FLAG_PER_PIXEL | P_FLAG_DONT_FREE_MATRIX, 0.0, 1.0, 0, NULL); - load_builtin_param_float("dx", (void*)&presetOutputs.dx, presetOutputs.dx_mesh, P_FLAG_PER_PIXEL | P_FLAG_DONT_FREE_MATRIX, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, NULL); - load_builtin_param_float("dy", (void*)&presetOutputs.dy, presetOutputs.dy_mesh, P_FLAG_PER_PIXEL |P_FLAG_DONT_FREE_MATRIX, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, NULL); - load_builtin_param_float("sx", (void*)&presetOutputs.sx, presetOutputs.sx_mesh, P_FLAG_PER_PIXEL |P_FLAG_DONT_FREE_MATRIX, 0.0, MAX_DOUBLE_SIZE, 0, NULL); - load_builtin_param_float("sy", (void*)&presetOutputs.sy, presetOutputs.sy_mesh, P_FLAG_PER_PIXEL |P_FLAG_DONT_FREE_MATRIX, 0.0, MAX_DOUBLE_SIZE, 0, NULL); + load_builtin_param_float("cx", (void*)&presetOutputs.cx, presetOutputs.cx_mesh, P_FLAG_PER_PIXEL | P_FLAG_DONT_FREE_MATRIX, 0.0, 1.0, 0, ""); + load_builtin_param_float("cy", (void*)&presetOutputs.cy, presetOutputs.cy_mesh, P_FLAG_PER_PIXEL | P_FLAG_DONT_FREE_MATRIX, 0.0, 1.0, 0, ""); + load_builtin_param_float("dx", (void*)&presetOutputs.dx, presetOutputs.dx_mesh, P_FLAG_PER_PIXEL | P_FLAG_DONT_FREE_MATRIX, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); + load_builtin_param_float("dy", (void*)&presetOutputs.dy, presetOutputs.dy_mesh, P_FLAG_PER_PIXEL |P_FLAG_DONT_FREE_MATRIX, 0.0, MAX_DOUBLE_SIZE, MIN_DOUBLE_SIZE, ""); + load_builtin_param_float("sx", (void*)&presetOutputs.sx, presetOutputs.sx_mesh, P_FLAG_PER_PIXEL |P_FLAG_DONT_FREE_MATRIX, 0.0, MAX_DOUBLE_SIZE, 0, ""); + load_builtin_param_float("sy", (void*)&presetOutputs.sy, presetOutputs.sy_mesh, P_FLAG_PER_PIXEL |P_FLAG_DONT_FREE_MATRIX, 0.0, MAX_DOUBLE_SIZE, 0, ""); - load_builtin_param_float("wave_r", (void*)&presetOutputs.wave_r, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, NULL); - load_builtin_param_float("wave_g", (void*)&presetOutputs.wave_g, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, NULL); - load_builtin_param_float("wave_b", (void*)&presetOutputs.wave_b, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, NULL); - load_builtin_param_float("wave_x", (void*)&presetOutputs.wave_x, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, NULL); - load_builtin_param_float("wave_y", (void*)&presetOutputs.wave_y, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, NULL); + load_builtin_param_float("wave_r", (void*)&presetOutputs.wave_r, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("wave_g", (void*)&presetOutputs.wave_g, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("wave_b", (void*)&presetOutputs.wave_b, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("wave_x", (void*)&presetOutputs.wave_x, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("wave_y", (void*)&presetOutputs.wave_y, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); load_builtin_param_float("wave_mystery", (void*)&presetOutputs.wave_mystery, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, "fWaveParam"); - load_builtin_param_float("ob_size", (void*)&presetOutputs.ob_size, NULL, P_FLAG_NONE, 0.0, 0.5, 0, NULL); - load_builtin_param_float("ob_r", (void*)&presetOutputs.ob_r, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, NULL); - load_builtin_param_float("ob_g", (void*)&presetOutputs.ob_g, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, NULL); - load_builtin_param_float("ob_b", (void*)&presetOutputs.ob_b, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, NULL); - load_builtin_param_float("ob_a", (void*)&presetOutputs.ob_a, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, NULL); + load_builtin_param_float("ob_size", (void*)&presetOutputs.ob_size, NULL, P_FLAG_NONE, 0.0, 0.5, 0, ""); + load_builtin_param_float("ob_r", (void*)&presetOutputs.ob_r, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("ob_g", (void*)&presetOutputs.ob_g, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("ob_b", (void*)&presetOutputs.ob_b, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("ob_a", (void*)&presetOutputs.ob_a, NULL, P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - load_builtin_param_float("ib_size", (void*)&presetOutputs.ib_size, NULL,P_FLAG_NONE, 0.0, .5, 0.0, NULL); - load_builtin_param_float("ib_r", (void*)&presetOutputs.ib_r, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, NULL); - load_builtin_param_float("ib_g", (void*)&presetOutputs.ib_g, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, NULL); - load_builtin_param_float("ib_b", (void*)&presetOutputs.ib_b, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, NULL); - load_builtin_param_float("ib_a", (void*)&presetOutputs.ib_a, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, NULL); + load_builtin_param_float("ib_size", (void*)&presetOutputs.ib_size, NULL,P_FLAG_NONE, 0.0, .5, 0.0, ""); + load_builtin_param_float("ib_r", (void*)&presetOutputs.ib_r, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("ib_g", (void*)&presetOutputs.ib_g, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("ib_b", (void*)&presetOutputs.ib_b, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("ib_a", (void*)&presetOutputs.ib_a, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - load_builtin_param_float("mv_r", (void*)&presetOutputs.mv_r, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, NULL); - load_builtin_param_float("mv_g", (void*)&presetOutputs.mv_g, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, NULL); - load_builtin_param_float("mv_b", (void*)&presetOutputs.mv_b, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, NULL); + load_builtin_param_float("mv_r", (void*)&presetOutputs.mv_r, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("mv_g", (void*)&presetOutputs.mv_g, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); + load_builtin_param_float("mv_b", (void*)&presetOutputs.mv_b, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); load_builtin_param_float("mv_x", (void*)&presetOutputs.mv_x, NULL,P_FLAG_NONE, 0.0, 64.0, 0.0, "nMotionVectorsX"); load_builtin_param_float("mv_y", (void*)&presetOutputs.mv_y, NULL,P_FLAG_NONE, 0.0, 48.0, 0.0, "nMotionVectorsY"); - load_builtin_param_float("mv_l", (void*)&presetOutputs.mv_l, NULL,P_FLAG_NONE, 0.0, 5.0, 0.0, NULL); - load_builtin_param_float("mv_dy", (void*)&presetOutputs.mv_dy, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, NULL); - load_builtin_param_float("mv_dx", (void*)&presetOutputs.mv_dx, NULL,P_FLAG_NONE, 0.0, 1.0, -1.0, NULL); - load_builtin_param_float("mv_a", (void*)&presetOutputs.mv_a, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, NULL); + load_builtin_param_float("mv_l", (void*)&presetOutputs.mv_l, NULL,P_FLAG_NONE, 0.0, 5.0, 0.0, ""); + load_builtin_param_float("mv_dy", (void*)&presetOutputs.mv_dy, NULL, P_FLAG_NONE, 0.0, 1.0, -1.0, ""); + load_builtin_param_float("mv_dx", (void*)&presetOutputs.mv_dx, NULL,P_FLAG_NONE, 0.0, 1.0, -1.0, ""); + load_builtin_param_float("mv_a", (void*)&presetOutputs.mv_a, NULL,P_FLAG_NONE, 0.0, 1.0, 0.0, ""); - load_builtin_param_float("time", (void*)&presetInputs.time, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0.0, NULL); - load_builtin_param_float("bass", (void*)&presetInputs.bass, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0.0, NULL); - load_builtin_param_float("mid", (void*)&presetInputs.mid, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, NULL); + load_builtin_param_float("time", (void*)&presetInputs.time, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0.0, ""); + load_builtin_param_float("bass", (void*)&presetInputs.bass, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0.0, ""); + load_builtin_param_float("mid", (void*)&presetInputs.mid, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, ""); - load_builtin_param_float("treb", (void*)&presetInputs.treb, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, NULL); + load_builtin_param_float("treb", (void*)&presetInputs.treb, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, ""); - load_builtin_param_float("bass_att", (void*)&presetInputs.bass_att, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, NULL); - load_builtin_param_float("mid_att", (void*)&presetInputs.mid_att, NULL, P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, NULL); - load_builtin_param_float("treb_att", (void*)&presetInputs.treb_att, NULL, P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, NULL); - load_builtin_param_int("frame", (void*)&presetInputs.frame, P_FLAG_READONLY, 0, MAX_INT_SIZE, 0, NULL); - load_builtin_param_float("progress", (void*)&presetInputs.progress, NULL,P_FLAG_READONLY, 0.0, 1, 0, NULL); - load_builtin_param_int("fps", (void*)&presetInputs.fps, P_FLAG_READONLY, 15, MAX_INT_SIZE, 0, NULL); + load_builtin_param_float("bass_att", (void*)&presetInputs.bass_att, NULL,P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, ""); + load_builtin_param_float("mid_att", (void*)&presetInputs.mid_att, NULL, P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, ""); + load_builtin_param_float("treb_att", (void*)&presetInputs.treb_att, NULL, P_FLAG_READONLY, 0.0, MAX_DOUBLE_SIZE, 0, ""); + load_builtin_param_int("frame", (void*)&presetInputs.frame, P_FLAG_READONLY, 0, MAX_INT_SIZE, 0, ""); + load_builtin_param_float("progress", (void*)&presetInputs.progress, NULL,P_FLAG_READONLY, 0.0, 1, 0, ""); + load_builtin_param_int("fps", (void*)&presetInputs.fps, P_FLAG_READONLY, 15, MAX_INT_SIZE, 0, ""); load_builtin_param_float("x", (void*)&presetInputs.x_per_pixel, presetInputs.x_mesh, P_FLAG_PER_PIXEL |P_FLAG_ALWAYS_MATRIX | P_FLAG_READONLY | P_FLAG_DONT_FREE_MATRIX, - 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, NULL); + 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); load_builtin_param_float("y", (void*)&presetInputs.y_per_pixel, presetInputs.y_mesh, P_FLAG_PER_PIXEL |P_FLAG_ALWAYS_MATRIX |P_FLAG_READONLY | P_FLAG_DONT_FREE_MATRIX, - 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, NULL); + 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); load_builtin_param_float("ang", (void*)&presetInputs.ang_per_pixel, presetInputs.theta_mesh, P_FLAG_PER_PIXEL |P_FLAG_ALWAYS_MATRIX | P_FLAG_READONLY | P_FLAG_DONT_FREE_MATRIX, - 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, NULL); + 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); 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_DONT_FREE_MATRIX, - 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, NULL); + 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); - load_builtin_param_float("q1", (void*)&presetOutputs.q1, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, NULL); - load_builtin_param_float("q2", (void*)&presetOutputs.q2, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, NULL); - load_builtin_param_float("q3", (void*)&presetOutputs.q3, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, NULL); - load_builtin_param_float("q4", (void*)&presetOutputs.q4, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, NULL); - load_builtin_param_float("q5", (void*)&presetOutputs.q5, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, NULL); - load_builtin_param_float("q6", (void*)&presetOutputs.q6, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, NULL); - load_builtin_param_float("q7", (void*)&presetOutputs.q7, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, NULL); - load_builtin_param_float("q8", (void*)&presetOutputs.q8, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, NULL); + load_builtin_param_float("q1", (void*)&presetOutputs.q1, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); + load_builtin_param_float("q2", (void*)&presetOutputs.q2, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); + load_builtin_param_float("q3", (void*)&presetOutputs.q3, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); + load_builtin_param_float("q4", (void*)&presetOutputs.q4, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); + load_builtin_param_float("q5", (void*)&presetOutputs.q5, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); + load_builtin_param_float("q6", (void*)&presetOutputs.q6, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); + load_builtin_param_float("q7", (void*)&presetOutputs.q7, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); + load_builtin_param_float("q8", (void*)&presetOutputs.q8, NULL, P_FLAG_PER_PIXEL |P_FLAG_QVAR, 0, MAX_DOUBLE_SIZE, -MAX_DOUBLE_SIZE, ""); /* variables added in 1.04 */ - load_builtin_param_int("meshx", (void*)&presetInputs.gx, P_FLAG_READONLY, 32, 96, 8, NULL); - load_builtin_param_int("meshy", (void*)&presetInputs.gy, P_FLAG_READONLY, 24, 72, 6, NULL); + load_builtin_param_int("meshx", (void*)&presetInputs.gx, P_FLAG_READONLY, 32, 96, 8, ""); + load_builtin_param_int("meshy", (void*)&presetInputs.gy, P_FLAG_READONLY, 24, 72, 6, ""); return PROJECTM_SUCCESS; diff --git a/src/projectM-engine/BuiltinParams.hpp b/src/projectM-engine/BuiltinParams.hpp index f92dcdc93..b0c943e56 100644 --- a/src/projectM-engine/BuiltinParams.hpp +++ b/src/projectM-engine/BuiltinParams.hpp @@ -52,17 +52,17 @@ public: int load_all_builtin_param(const PresetInputs & presetInputs, PresetOutputs & presetOutputs); int destroy_builtin_param_db(); - int insert_param_alt_name( Param *param, char *alt_name ); + int insert_param_alt_name( Param *param, const std::string& salt_name ); Param *find_builtin_param( const std::string & name ); - int load_builtin_param_float( char *name, void *engine_val, void *matrix, + int load_builtin_param_float( const std::string & name, void *engine_val, void *matrix, short int flags, float init_val, float upper_bound, - float lower_bound, char *alt_name ); - int load_builtin_param_int( char *name, void *engine_val, short int flags, + float lower_bound, const std::string & alt_name ); + int load_builtin_param_int( const std::string & name, void *engine_val, short int flags, int init_val, int upper_bound, - int lower_bound, char *alt_name ); - int load_builtin_param_bool( char *name, void *engine_val, short int flags, - int init_val, char *alt_name ); + int lower_bound, const std::string & alt_name ); + int load_builtin_param_bool( const std::string & name, void *engine_val, short int flags, + int init_val, const std::string & alt_name ); int insert_builtin_param( Param *param ); template diff --git a/src/projectM-engine/Parser.cpp b/src/projectM-engine/Parser.cpp index b41dad62d..05d142b04 100755 --- a/src/projectM-engine/Parser.cpp +++ b/src/projectM-engine/Parser.cpp @@ -441,7 +441,7 @@ int Parser::parse_line(FILE * fs, Preset * preset) { variable called "line_mode" specifies the last type of equation found, and bases any implicitly typed input on this fact - Note added by Carmelo Piccione (cep@andrew.cmu.edu) 10/19/03 + Note added by Carmelo Piccione (carmelo@piccione@gmail.com) 10/19/03 */ /* Per frame line mode previously, try to parse the equation implicitly */ @@ -528,7 +528,7 @@ int Parser::parse_line(FILE * fs, Preset * preset) { } - //if (PARSE_DEBUG) printf("parse_line: found initial condition: name = \"%s\" (LINE %d)\n", eqn_string, line_count); + if (PARSE_DEBUG) printf("parse_line: found initial condition: name = \"%s\" (LINE %d)\n", eqn_string, line_count); /* Evaluate the initial condition */ if ((init_cond = parse_init_cond(fs, eqn_string, preset)) == NULL) { if (PARSE_DEBUG) printf("parse_line: failed to parse initial condition (LINE %d)\n", line_count); @@ -631,7 +631,7 @@ GenExpr * Parser::parse_gen_expr ( FILE * fs, TreeExpr * tree_expr, Preset * pre of operations. So we create a new expression tree */ if ((gen_expr = parse_gen_expr(fs, NULL, preset)) == NULL) { - //if (PARSE_DEBUG) printf("parse_gen_expr: found left parentice, but failed to create new expression tree \n"); + if (PARSE_DEBUG) printf("parse_gen_expr: found left parentice, but failed to create new expression tree \n"); if (tree_expr); delete tree_expr; return NULL; @@ -645,7 +645,7 @@ GenExpr * Parser::parse_gen_expr ( FILE * fs, TreeExpr * tree_expr, Preset * pre case tPlus: if (*string == 0) { - //if (PARSE_DEBUG) printf("parse_gen_expr: plus used as prefix (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_gen_expr: plus used as prefix (LINE %d)\n", line_count); /* Treat prefix plus as implict 0 preceding operator */ gen_expr = GenExpr::const_to_expr(0); @@ -673,7 +673,7 @@ GenExpr * Parser::parse_gen_expr ( FILE * fs, TreeExpr * tree_expr, Preset * pre /* CASE 1 (terminal): string is empty, but not null. Not sure if this will actually happen any more. */ if (*string == 0) { - //if (PARSE_DEBUG) printf("parse_gen_expr: empty string coupled with terminal (LINE %d) \n", line_count); + if (PARSE_DEBUG) printf("parse_gen_expr: empty string coupled with terminal (LINE %d) \n", line_count); return parse_infix_op(fs, token, tree_expr, preset); } @@ -727,7 +727,7 @@ GenExpr * Parser::parse_gen_expr ( FILE * fs, TreeExpr * tree_expr, Preset * pre return NULL; } - //if (PARSE_DEBUG) printf("converted to expression (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("converted to expression (LINE %d)\n", line_count); /* Parse the rest of the line */ return parse_infix_op(fs, token, insert_gen_expr(gen_expr, &tree_expr), preset); @@ -880,7 +880,7 @@ int Parser::insert_gen_rec(GenExpr * gen_expr, TreeExpr * root) { /* Trivial Case: root is null */ if (root == NULL) { - ////if (PARSE_DEBUG) printf("insert_gen_rec: root is null, returning failure\n"); + //if (PARSE_DEBUG) printf("insert_gen_rec: root is null, returning failure\n"); return PROJECTM_FAILURE; } @@ -912,7 +912,7 @@ int Parser::insert_gen_rec(GenExpr * gen_expr, TreeExpr * root) { /* Impossible for control flow to reach here, but in the world of C programming, who knows... */ - //if (PARSE_DEBUG) printf("insert_gen_rec: should never reach here!\n"); + if (PARSE_DEBUG) printf("insert_gen_rec: should never reach here!\n"); return PROJECTM_FAILURE; } @@ -975,31 +975,31 @@ GenExpr * Parser::parse_infix_op(FILE * fs, token_t token, TreeExpr * tree_expr, switch (token) { /* All the infix operators */ case tPlus: - //if (PARSE_DEBUG) printf("parse_infix_op: found addition operator (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_infix_op: found addition operator (LINE %d)\n", line_count); return parse_gen_expr(fs, insert_infix_op(Eval::infix_add, &tree_expr), preset); case tMinus: - //if (PARSE_DEBUG) printf("parse_infix_op: found subtraction operator (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_infix_op: found subtraction operator (LINE %d)\n", line_count); return parse_gen_expr(fs, insert_infix_op(Eval::infix_minus, &tree_expr), preset); case tMult: - //if (PARSE_DEBUG) printf("parse_infix_op: found multiplication operator (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_infix_op: found multiplication operator (LINE %d)\n", line_count); return parse_gen_expr(fs, insert_infix_op(Eval::infix_mult, &tree_expr), preset); case tDiv: - //if (PARSE_DEBUG) printf("parse_infix_op: found division operator (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_infix_op: found division operator (LINE %d)\n", line_count); return parse_gen_expr(fs, insert_infix_op(Eval::infix_div, &tree_expr), preset); case tMod: - //if (PARSE_DEBUG) printf("parse_infix_op: found modulo operator (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_infix_op: found modulo operator (LINE %d)\n", line_count); return parse_gen_expr(fs, insert_infix_op(Eval::infix_mod, &tree_expr), preset); case tOr: - //if (PARSE_DEBUG) printf("parse_infix_op: found bitwise or operator (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_infix_op: found bitwise or operator (LINE %d)\n", line_count); return parse_gen_expr(fs, insert_infix_op(Eval::infix_or, &tree_expr), preset); case tAnd: - //if (PARSE_DEBUG) printf("parse_infix_op: found bitwise and operator (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_infix_op: found bitwise and operator (LINE %d)\n", line_count); return parse_gen_expr(fs, insert_infix_op(Eval::infix_and, &tree_expr), preset); case tPositive: - //if (PARSE_DEBUG) printf("parse_infix_op: found positive operator (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_infix_op: found positive operator (LINE %d)\n", line_count); return parse_gen_expr(fs, insert_infix_op(Eval::infix_positive, &tree_expr), preset); case tNegative: - //if (PARSE_DEBUG) printf("parse_infix_op: found negative operator (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_infix_op: found negative operator (LINE %d)\n", line_count); return parse_gen_expr(fs, insert_infix_op(Eval::infix_negative, &tree_expr), preset); case tEOL: @@ -1007,12 +1007,12 @@ GenExpr * Parser::parse_infix_op(FILE * fs, token_t token, TreeExpr * tree_expr, case tSemiColon: case tRPr: case tComma: - //if (PARSE_DEBUG) printf("parse_infix_op: terminal found (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_infix_op: terminal found (LINE %d)\n", line_count); gen_expr = new GenExpr(TREE_T, (void*)tree_expr); assert(gen_expr); return gen_expr; default: - //if (PARSE_DEBUG) printf("parse_infix_op: operator or terminal expected, but not found (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_infix_op: operator or terminal expected, but not found (LINE %d)\n", line_count); delete tree_expr; return NULL; } @@ -1130,7 +1130,7 @@ int Parser::parse_float(FILE * fs, float * float_ptr) { return PROJECTM_SUCCESS; } - //if (PARSE_DEBUG) printf("parse_float: float conversion failed for string \"%s\"\n", string); + if (PARSE_DEBUG) printf("parse_float: float conversion failed for string \"%s\"\n", string); (*float_ptr) = 0; free(error_ptr); @@ -1148,7 +1148,7 @@ PerFrameEqn * Parser::parse_per_frame_eqn(FILE * fs, int index, Preset * preset) GenExpr * gen_expr; if (parseToken(fs, string) != tEq) { - //if (PARSE_DEBUG) printf("parse_per_frame_eqn: no equal sign after string \"%s\" (LINE %d)\n", string, line_count); + if (PARSE_DEBUG) printf("parse_per_frame_eqn: no equal sign after string \"%s\" (LINE %d)\n", string, line_count); return NULL; } @@ -1159,26 +1159,26 @@ PerFrameEqn * Parser::parse_per_frame_eqn(FILE * fs, int index, Preset * preset) /* Make sure parameter is writable */ if (param->flags & P_FLAG_READONLY) { - //if (PARSE_DEBUG) printf("parse_per_frame_eqn: parameter %s is marked as read only (LINE %d)\n", param->name, line_count); + if (PARSE_DEBUG) std::cerr << "parse_per_frame_eqn: parameter \"" << param->name << "\" %s is marked as read only (LINE " << line_count << ")" << std::endl; return NULL; } /* Parse right side of equation as an expression */ if ((gen_expr = parse_gen_expr(fs, NULL, preset)) == NULL) { - //if (PARSE_DEBUG) printf("parse_per_frame_eqn: equation evaluated to null (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_per_frame_eqn: equation evaluated to null (LINE %d)\n", line_count); return NULL; } - //if (PARSE_DEBUG) printf("parse_per_frame_eqn: finished per frame equation evaluation (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_per_frame_eqn: finished per frame equation evaluation (LINE %d)\n", line_count); /* Create a new per frame equation */ if ((per_frame_eqn = new PerFrameEqn(index, param, gen_expr)) == NULL) { - //if (PARSE_DEBUG) printf("parse_per_frame_eqn: failed to create a new per frame eqn, out of memory?\n"); + if (PARSE_DEBUG) printf("parse_per_frame_eqn: failed to create a new per frame eqn, out of memory?\n"); delete gen_expr; return NULL; } - //if (PARSE_DEBUG) printf("parse_per_frame_eqn: per_frame eqn parsed succesfully\n"); + if (PARSE_DEBUG) printf("parse_per_frame_eqn: per_frame eqn parsed succesfully\n"); return per_frame_eqn; } @@ -1207,26 +1207,26 @@ PerFrameEqn * Parser::parse_implicit_per_frame_eqn(FILE * fs, char * param_strin /* Make sure parameter is writable */ if (param->flags & P_FLAG_READONLY) { - //if (PARSE_DEBUG) printf("parse_implicit_per_frame_eqn: parameter %s is marked as read only (LINE %d)\n", param->name, line_count); + if (PARSE_DEBUG) printf("parse_implicit_per_frame_eqn: parameter %s is marked as read only (LINE %d)\n", param->name.c_str(), line_count); return NULL; } /* Parse right side of equation as an expression */ if ((gen_expr = parse_gen_expr(fs, NULL, preset)) == NULL) { - //if (PARSE_DEBUG) printf("parse_implicit_per_frame_eqn: equation evaluated to null (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_implicit_per_frame_eqn: equation evaluated to null (LINE %d)\n", line_count); return NULL; } - //if (PARSE_DEBUG) printf("parse_implicit_per_frame_eqn: finished per frame equation evaluation (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_implicit_per_frame_eqn: finished per frame equation evaluation (LINE %d)\n", line_count); /* Create a new per frame equation */ if ((per_frame_eqn = new PerFrameEqn(index, param, gen_expr)) == NULL) { - //if (PARSE_DEBUG) printf("parse_implicit_per_frame_eqn: failed to create a new per frame eqn, out of memory?\n"); + if (PARSE_DEBUG) printf("parse_implicit_per_frame_eqn: failed to create a new per frame eqn, out of memory?\n"); delete gen_expr; return NULL; } - //if (PARSE_DEBUG) printf("parse_implicit_per_frame_eqn: per_frame eqn parsed succesfully\n"); + if (PARSE_DEBUG) printf("parse_implicit_per_frame_eqn: per_frame eqn parsed succesfully\n"); return per_frame_eqn; } @@ -1248,22 +1248,22 @@ InitCond * Parser::parse_init_cond(FILE * fs, char * name, Preset * preset) { return NULL; } - //if (PARSE_DEBUG) printf("parse_init_cond: parameter = \"%s\" (LINE %d)\n", param->name, line_count); + if (PARSE_DEBUG) printf("parse_init_cond: parameter = \"%s\" (LINE %d)\n", param->name.c_str(), line_count); if (param->flags & P_FLAG_READONLY) { - //if (PARSE_DEBUG) printf("parse_init_cond: builtin parameter \"%s\" marked as read only!\n", param->name); + if (PARSE_DEBUG) printf("parse_init_cond: builtin parameter \"%s\" marked as read only!\n", param->name.c_str()); return NULL; } /* At this point, a parameter has been created or was found in the database. */ - //if (PARSE_DEBUG) printf("parse_init_cond: parsing initial condition value... (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_init_cond: parsing initial condition value... (LINE %d)\n", line_count); /* integer value (boolean is an integer in C) */ if ((param->type == P_TYPE_INT) || (param->type == P_TYPE_BOOL)) { if ((parse_int(fs, (int*)&init_val.int_val)) == PROJECTM_PARSE_ERROR) { - //if (PARSE_DEBUG) printf("parse_init_cond: error parsing integer!\n"); + if (PARSE_DEBUG) printf("parse_init_cond: error parsing integer!\n"); return NULL; } } @@ -1271,20 +1271,20 @@ InitCond * Parser::parse_init_cond(FILE * fs, char * name, Preset * preset) { /* float value */ else if (param->type == P_TYPE_DOUBLE) { if ((parse_float(fs, (float*)&init_val.float_val)) == PROJECTM_PARSE_ERROR) { - //if (PARSE_DEBUG) printf("parse_init_cond: error parsing float!\n"); + if (PARSE_DEBUG) printf("parse_init_cond: error parsing float!\n"); return NULL; } } /* Unknown value */ else { - //if (PARSE_DEBUG) printf("parse_init_cond: unknown parameter type!\n"); + if (PARSE_DEBUG) printf("parse_init_cond: unknown parameter type!\n"); return NULL; } /* Create new initial condition */ if ((init_cond = new InitCond(param, init_val)) == NULL) { - //if (PARSE_DEBUG) printf("parse_init_cond: new_init_cond failed!\n"); + if (PARSE_DEBUG) printf("parse_init_cond: new_init_cond failed!\n"); return NULL; } @@ -1326,7 +1326,7 @@ InitCond * Parser::parse_per_frame_init_eqn(FILE * fs, Preset * preset, std::map if (PARSE_DEBUG) printf("parse_per_frame_init_eqn: parameter = \"%s\" (LINE %d)\n", param->name.c_str(), line_count); if (param->flags & P_FLAG_READONLY) { - //if (PARSE_DEBUG) printf("pars_per_frame_init_eqn: builtin parameter \"%s\" marked as read only!\n", param->name); + if (PARSE_DEBUG) printf("pars_per_frame_init_eqn: builtin parameter \"%s\" marked as read only!\n", param->name.c_str()); return NULL; } @@ -1395,7 +1395,7 @@ int Parser::parse_wavecode(char * token, FILE * fs, Preset * preset) { last_custom_wave_id = id; - //if (PARSE_DEBUG) printf("parse_wavecode: wavecode id = %d, parameter = \"%s\"\n", id, var_string); + if (PARSE_DEBUG) printf("parse_wavecode: wavecode id = %d, parameter = \"%s\"\n", id, var_string); /* Retrieve custom wave information from preset, allocating new one if necessary */ if ((custom_wave = Preset::find_custom_object(id, preset->customWaves)) == NULL) { @@ -1405,18 +1405,18 @@ int Parser::parse_wavecode(char * token, FILE * fs, Preset * preset) { return PROJECTM_FAILURE; } - //if (PARSE_DEBUG) printf("parse_wavecode: custom wave found (id = %d)\n", custom_wave->id); + if (PARSE_DEBUG) printf("parse_wavecode: custom wave found (id = %d)\n", custom_wave->id); /* Retrieve parameter from this custom waves parameter db */ if ((param = ParamUtils::find(var_string,&custom_wave->param_tree)) == NULL) return PROJECTM_FAILURE; - //if (PARSE_DEBUG) printf("parse_wavecode: custom wave parameter found (name = %s)\n", param->name); + if (PARSE_DEBUG) printf("parse_wavecode: custom wave parameter found (name = %s)\n", param->name.c_str()); /* integer value (boolean is an integer in C) */ if ((param->type == P_TYPE_INT) || (param->type == P_TYPE_BOOL)) { if ((parse_int(fs, (int*)&init_val.int_val)) == PROJECTM_PARSE_ERROR) { - //if (PARSE_DEBUG) printf("parse_wavecode: error parsing integer!\n"); + if (PARSE_DEBUG) printf("parse_wavecode: error parsing integer!\n"); return PROJECTM_PARSE_ERROR; } } @@ -1424,20 +1424,20 @@ int Parser::parse_wavecode(char * token, FILE * fs, Preset * preset) { /* float value */ else if (param->type == P_TYPE_DOUBLE) { if ((parse_float(fs, (float*)&init_val.float_val)) == PROJECTM_PARSE_ERROR) { - //if (PARSE_DEBUG) printf("parse_wavecode: error parsing float!\n"); + if (PARSE_DEBUG) printf("parse_wavecode: error parsing float!\n"); return PROJECTM_PARSE_ERROR; } } /* Unknown value */ else { - //if (PARSE_DEBUG) printf("parse_wavecode: unknown parameter type!\n"); + if (PARSE_DEBUG) printf("parse_wavecode: unknown parameter type!\n"); return PROJECTM_PARSE_ERROR; } /* Create new initial condition */ if ((init_cond = new InitCond(param, init_val)) == NULL) { - //if (PARSE_DEBUG) printf("parse_wavecode: new_init_cond failed!\n"); + if (PARSE_DEBUG) printf("parse_wavecode: new_init_cond failed!\n"); return PROJECTM_FAILURE; } @@ -1448,7 +1448,7 @@ int Parser::parse_wavecode(char * token, FILE * fs, Preset * preset) { line_mode = CUSTOM_WAVE_WAVECODE_LINE_MODE; - //if (PARSE_DEBUG) printf("parse_wavecode: [success]\n"); + if (PARSE_DEBUG) printf("parse_wavecode: [success]\n"); return PROJECTM_SUCCESS; } @@ -1477,30 +1477,30 @@ int Parser::parse_shapecode(char * token, FILE * fs, Preset * preset) { last_custom_shape_id = id; - //if (PARSE_DEBUG) printf("parse_shapecode: shapecode id = %d, parameter = \"%s\"\n", id, var_string); + if (PARSE_DEBUG) printf("parse_shapecode: shapecode id = %d, parameter = \"%s\"\n", id, var_string); /* Retrieve custom shape information from preset. The 3rd argument if true creates a custom shape if one does not exist */ if ((custom_shape = Preset::find_custom_object(id, preset->customShapes)) == NULL) { - //if (PARSE_DEBUG) printf("parse_shapecode: failed to load (or create) custom shape (id = %d)!\n", id); + if (PARSE_DEBUG) printf("parse_shapecode: failed to load (or create) custom shape (id = %d)!\n", id); return PROJECTM_FAILURE; } - //if (PARSE_DEBUG) printf("parse_shapecode: custom shape found (id = %d)\n", custom_shape->id); + if (PARSE_DEBUG) printf("parse_shapecode: custom shape found (id = %d)\n", custom_shape->id); /* Retrieve parameter from this custom shapes parameter db */ if ((param = ParamUtils::find(var_string, &custom_shape->param_tree)) == NULL) { - //if (PARSE_DEBUG) printf("parse_shapecode: failed to create parameter.\n"); + if (PARSE_DEBUG) printf("parse_shapecode: failed to create parameter.\n"); return PROJECTM_FAILURE; } - //if (PARSE_DEBUG) printf("parse_shapecode: custom shape parameter found (name = %s)\n", param->name); + if (PARSE_DEBUG) printf("parse_shapecode: custom shape parameter found (name = %s)\n", param->name.c_str()); /* integer value (boolean is an integer in C) */ if ((param->type == P_TYPE_INT) || (param->type == P_TYPE_BOOL)) { if ((parse_int(fs, (int*)&init_val.int_val)) == PROJECTM_PARSE_ERROR) { - //if (PARSE_DEBUG) printf("parse_shapecode: error parsing integer!\n"); + if (PARSE_DEBUG) printf("parse_shapecode: error parsing integer!\n"); return PROJECTM_PARSE_ERROR; } } @@ -1508,27 +1508,27 @@ int Parser::parse_shapecode(char * token, FILE * fs, Preset * preset) { /* float value */ else if (param->type == P_TYPE_DOUBLE) { if ((parse_float(fs, (float*)&init_val.float_val)) == PROJECTM_PARSE_ERROR) { - //if (PARSE_DEBUG) printf("parse_shapecode: error parsing float!\n"); + if (PARSE_DEBUG) printf("parse_shapecode: error parsing float!\n"); return PROJECTM_PARSE_ERROR; } } /* Unknown value */ else { - //if (PARSE_DEBUG) printf("parse_shapecode: unknown parameter type!\n"); + if (PARSE_DEBUG) printf("parse_shapecode: unknown parameter type!\n"); return PROJECTM_PARSE_ERROR; } /* Create new initial condition */ if ((init_cond = new InitCond(param, init_val)) == NULL) { - //if (PARSE_DEBUG) printf("parse_shapecode: new_init_cond failed!\n"); + if (PARSE_DEBUG) printf("parse_shapecode: new_init_cond failed!\n"); return PROJECTM_FAILURE; } custom_shape->init_cond_tree.insert(std::make_pair(param->name,init_cond)); line_mode = CUSTOM_SHAPE_SHAPECODE_LINE_MODE; - //if (PARSE_DEBUG) printf("parse_shapecode: [success]\n"); + if (PARSE_DEBUG) printf("parse_shapecode: [success]\n"); return PROJECTM_SUCCESS; } @@ -1772,20 +1772,20 @@ int Parser::parse_wave_helper(FILE * fs, Preset * preset, int id, char * eqn_ty if (PARSE_DEBUG) printf("parse_wave_helper (per_frame): [start] (custom wave id = %d)\n", custom_wave->id); if (parseToken(fs, string) != tEq) { - //if (PARSE_DEBUG) printf("parse_wave (per_frame): no equal sign after string \"%s\" (LINE %d)\n", string, line_count); + if (PARSE_DEBUG) printf("parse_wave (per_frame): no equal sign after string \"%s\" (LINE %d)\n", string, line_count); return PROJECTM_PARSE_ERROR; } /* Find the parameter associated with the string in the custom wave database */ if ((param = ParamUtils::find(string, &custom_wave->param_tree)) == NULL) { - //if (PARSE_DEBUG) printf("parse_wave (per_frame): parameter \"%s\" not found or cannot be wipemalloc'ed!!\n", string); + if (PARSE_DEBUG) printf("parse_wave (per_frame): parameter \"%s\" not found or cannot be wipemalloc'ed!!\n", string); return PROJECTM_FAILURE; } /* Make sure parameter is writable */ if (param->flags & P_FLAG_READONLY) { - //if (PARSE_DEBUG) printf("parse_wave (per_frame): parameter %s is marked as read only (LINE %d)\n", param->name, line_count); + if (PARSE_DEBUG) printf("parse_wave (per_frame): parameter %s is marked as read only (LINE %d)\n", param->name.c_str(), line_count); return PROJECTM_FAILURE; } @@ -1793,7 +1793,7 @@ int Parser::parse_wave_helper(FILE * fs, Preset * preset, int id, char * eqn_ty current_wave = custom_wave; if ((gen_expr = parse_gen_expr(fs, NULL, preset)) == NULL) { - //if (PARSE_DEBUG) printf("parse_wave (per_frame): equation evaluated to null (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_wave (per_frame): equation evaluated to null (LINE %d)\n", line_count); current_wave = NULL; return PROJECTM_PARSE_ERROR; @@ -1801,18 +1801,18 @@ int Parser::parse_wave_helper(FILE * fs, Preset * preset, int id, char * eqn_ty current_wave = NULL; - //if (PARSE_DEBUG) printf("parse_wave (per_frame): [finished parsing equation] (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_wave (per_frame): [finished parsing equation] (LINE %d)\n", line_count); /* Create a new per frame equation */ if ((per_frame_eqn = new PerFrameEqn(custom_wave->per_frame_count++, param, gen_expr)) == NULL) { - //if (PARSE_DEBUG) printf("parse_wave (per_frame): failed to create a new per frame eqn, out of memory?\n"); + if (PARSE_DEBUG) printf("parse_wave (per_frame): failed to create a new per frame eqn, out of memory?\n"); delete gen_expr; return PROJECTM_FAILURE; } custom_wave->per_frame_eqn_tree.insert(std::make_pair(per_frame_eqn->index, per_frame_eqn)); - //if (PARSE_DEBUG) printf("parse_wave (per_frame): equation %d associated with custom wave %d [success]\n", - // per_frame_eqn->index, custom_wave->id); + if (PARSE_DEBUG) printf("parse_wave (per_frame): equation %d associated with custom wave %d [success]\n", + per_frame_eqn->index, custom_wave->id); /* Need to add stuff to string buffer so the editor can read the equations. @@ -1890,7 +1890,7 @@ int Parser::parse_shape(char * token, FILE * fs, Preset * preset) { /* Grab custom shape id and equation type (per frame or per point) from string token */ if (parse_shape_prefix(token, &id, &eqn_type) < 0) { - //if (PARSE_DEBUG) printf("parse_shape: syntax error in custom shape prefix!\n"); + if (PARSE_DEBUG) printf("parse_shape: syntax error in custom shape prefix!\n"); return PROJECTM_PARSE_ERROR; } @@ -1950,7 +1950,7 @@ int Parser::update_string_buffer(char * buffer, int * index) { /* Buffer full, quit */ if ((*index) > (STRING_BUFFER_SIZE - 1)) { - //if (PARSE_DEBUG) printf("update_string_buffer: string buffer full!\n"); + if (PARSE_DEBUG) printf("update_string_buffer: string buffer full!\n"); return PROJECTM_FAILURE; } @@ -2006,11 +2006,11 @@ int Parser::get_string_prefix_len(char * string) { int Parser::parse_shape_per_frame_init_eqn(FILE * fs, CustomShape * custom_shape, Preset * preset) { InitCond * init_cond; - //if (PARSE_DEBUG) printf("parse_shape (per frame init): [begin] (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_shape (per frame init): [begin] (LINE %d)\n", line_count); /* Parse the per frame equation */ if ((init_cond = parse_per_frame_init_eqn(fs, preset, &custom_shape->param_tree)) == NULL) { - //if (PARSE_DEBUG) printf("parse_shape (per frame init): equation parsing failed (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_shape (per frame init): equation parsing failed (LINE %d)\n", line_count); return PROJECTM_PARSE_ERROR; } @@ -2032,23 +2032,23 @@ PerFrameEqn * per_frame_eqn; char string[MAX_TOKEN_SIZE]; -//if (PARSE_DEBUG) printf("parse_shape (per_frame): [start] (custom shape id = %d)\n", custom_shape->id); +if (PARSE_DEBUG) printf("parse_shape (per_frame): [start] (custom shape id = %d)\n", custom_shape->id); if (parseToken(fs, string) != tEq) { - //if (PARSE_DEBUG) printf("parse_shape (per_frame): no equal sign after string \"%s\" (LINE %d)\n", string, line_count); + if (PARSE_DEBUG) printf("parse_shape (per_frame): no equal sign after string \"%s\" (LINE %d)\n", string, line_count); return PROJECTM_PARSE_ERROR; } /* Find the parameter associated with the string in the custom shape database */ if ((param = ParamUtils::find(string, &custom_shape->param_tree)) == NULL) { - //if (PARSE_DEBUG) printf("parse_shape (per_frame): parameter \"%s\" not found or cannot be wipemalloc'ed!!\n", string); + if (PARSE_DEBUG) printf("parse_shape (per_frame): parameter \"%s\" not found or cannot be wipemalloc'ed!!\n", string); return PROJECTM_FAILURE; } /* Make sure parameter is writable */ if (param->flags & P_FLAG_READONLY) { - //if (PARSE_DEBUG) printf("parse_shape (per_frame): parameter %s is marked as read only (LINE %d)\n", param->name, line_count); + if (PARSE_DEBUG) printf("parse_shape (per_frame): parameter %s is marked as read only (LINE %d)\n", param->name.c_str(), line_count); return PROJECTM_FAILURE; } @@ -2056,18 +2056,18 @@ char string[MAX_TOKEN_SIZE]; current_shape = custom_shape; if ((gen_expr = parse_gen_expr(fs, NULL, preset)) == NULL) { - //if (PARSE_DEBUG) printf("parse_shape (per_frame): equation evaluated to null (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_shape (per_frame): equation evaluated to null (LINE %d)\n", line_count); current_shape = NULL; return PROJECTM_PARSE_ERROR; } current_shape = NULL; - //if (PARSE_DEBUG) printf("parse_shape (per_frame): [finished parsing equation] (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_shape (per_frame): [finished parsing equation] (LINE %d)\n", line_count); /* Create a new per frame equation */ if ((per_frame_eqn = new PerFrameEqn(custom_shape->per_frame_count++, param, gen_expr)) == NULL) { - //if (PARSE_DEBUG) printf("parse_shape (per_frame): failed to create a new per frame eqn, out of memory?\n"); + if (PARSE_DEBUG) printf("parse_shape (per_frame): failed to create a new per frame eqn, out of memory?\n"); delete gen_expr; return PROJECTM_FAILURE; } @@ -2092,23 +2092,23 @@ PerFrameEqn * per_frame_eqn; char string[MAX_TOKEN_SIZE]; -//if (PARSE_DEBUG) printf("parse_shape (per_frame): [start] (custom shape id = %d)\n", custom_shape->id); +if (PARSE_DEBUG) printf("parse_wave (per_frame): [start] (custom shape id = %d)\n", custom_wave->id); if (parseToken(fs, string) != tEq) { - //if (PARSE_DEBUG) printf("parse_shape (per_frame): no equal sign after string \"%s\" (LINE %d)\n", string, line_count); + if (PARSE_DEBUG) printf("parse_wave (per_frame): no equal sign after string \"%s\" (LINE %d)\n", string, line_count); return PROJECTM_PARSE_ERROR; } /* Find the parameter associated with the string in the custom shape database */ if ((param = ParamUtils::find(string, &custom_wave->param_tree)) == NULL) { - //if (PARSE_DEBUG) printf("parse_shape (per_frame): parameter \"%s\" not found or cannot be wipemalloc'ed!!\n", string); + if (PARSE_DEBUG) printf("parse_wave (per_frame): parameter \"%s\" not found or cannot be wipemalloc'ed!!\n", string); return PROJECTM_FAILURE; } /* Make sure parameter is writable */ if (param->flags & P_FLAG_READONLY) { - //if (PARSE_DEBUG) printf("parse_shape (per_frame): parameter %s is marked as read only (LINE %d)\n", param->name, line_count); + if (PARSE_DEBUG) printf("parse_wave (per_frame): parameter %s is marked as read only (LINE %d)\n", param->name.c_str(), line_count); return PROJECTM_FAILURE; } @@ -2116,25 +2116,25 @@ char string[MAX_TOKEN_SIZE]; current_wave = custom_wave; if ((gen_expr = parse_gen_expr(fs, NULL, preset)) == NULL) { - //if (PARSE_DEBUG) printf("parse_shape (per_frame): equation evaluated to null (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_wave (per_frame): equation evaluated to null (LINE %d)\n", line_count); current_wave = NULL; return PROJECTM_PARSE_ERROR; } current_wave = NULL; - //if (PARSE_DEBUG) printf("parse_shape (per_frame): [finished parsing equation] (LINE %d)\n", line_count); + if (PARSE_DEBUG) printf("parse_wave (per_frame): [finished parsing equation] (LINE %d)\n", line_count); /* Create a new per frame equation */ if ((per_frame_eqn = new PerFrameEqn(custom_wave->per_frame_count++, param, gen_expr)) == NULL) { - //if (PARSE_DEBUG) printf("parse_shape (per_frame): failed to create a new per frame eqn, out of memory?\n"); + if (PARSE_DEBUG) printf("parse_wave (per_frame): failed to create a new per frame eqn, out of memory?\n"); delete gen_expr; return PROJECTM_FAILURE; } custom_wave->per_frame_eqn_tree.insert(std::make_pair(per_frame_eqn->index, per_frame_eqn)); - //if (PARSE_DEBUG) printf("parse_shape (per_frame): equation %d associated with custom shape %d [success]\n", - // per_frame_eqn->index, custom_shape->id); + if (PARSE_DEBUG) printf("parse_wave (per_frame): equation %d associated with custom wave %d [success]\n", + per_frame_eqn->index, custom_wave->id); /* Need to add stuff to string buffer so the editor can read the equations. diff --git a/src/projectM-engine/Parser.hpp b/src/projectM-engine/Parser.hpp index 144df0289..4b86e3fe1 100755 --- a/src/projectM-engine/Parser.hpp +++ b/src/projectM-engine/Parser.hpp @@ -29,8 +29,8 @@ #ifndef _PARSER_H #define _PARSER_H -//#define PARSE_DEBUG 2 #define PARSE_DEBUG 0 +//#define PARSE_DEBUG 0 #include diff --git a/src/projectM-engine/console_interface.cpp b/src/projectM-engine/console_interface.cpp index 7dd66201a..e87413981 100755 --- a/src/projectM-engine/console_interface.cpp +++ b/src/projectM-engine/console_interface.cpp @@ -184,6 +184,8 @@ void projectM::default_key_handler( projectMEvent event, projectMKeycode keycode m_activePreset = m_presetChooser->weightedRandom (this->presetInputs, this->presetOutputs); + assert(m_activePreset.get()); + renderer->setPresetName(m_activePreset->absoluteFilePath()); presetInputs.frame = 0; smoothFrame = 0;