From 64c91aa36425a8acdd17df1e77b91fc289c8a8bf Mon Sep 17 00:00:00 2001 From: psperl Date: Fri, 10 Jul 2009 04:40:49 +0000 Subject: [PATCH] not much really git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@1235 6778bc44-b910-0410-a7a0-be141de4315d --- src/libprojectM/PresetChooser.hpp | 18 +-- .../Renderer/RenderItemMergeFunction.hpp | 108 +++++++++--------- src/libprojectM/projectM.cpp | 2 +- 3 files changed, 67 insertions(+), 61 deletions(-) diff --git a/src/libprojectM/PresetChooser.hpp b/src/libprojectM/PresetChooser.hpp index 113b55615..20cb3a8cf 100644 --- a/src/libprojectM/PresetChooser.hpp +++ b/src/libprojectM/PresetChooser.hpp @@ -16,7 +16,7 @@ class PresetIterator { public: PresetIterator() {} - /// Instantiate a preset iterator at the given starting position + /// Instantiate a preset iterator at the given starting position PresetIterator(std::size_t start); /// Move iterator forward @@ -24,7 +24,7 @@ public: /// Move iterator backword void operator--() ; - + /// Not equal comparator bool operator !=(const PresetIterator & presetPos) const ; @@ -72,7 +72,7 @@ public: /// Gets the number of presets last believed to exist in the preset loader's filename collection /// \returns the number of presets in the collection std::size_t size() const; - + /// An STL-esque iterator to begin traversing presets from a directory /// \param index the index to begin iterating at. Assumed valid between [0, num presets) /// \returns the position of the first preset in the collection @@ -90,10 +90,10 @@ public: /// \returns an iterator to the randomly selected preset iterator weightedRandom() const; - /// True if no presets in directory + /// True if no presets in directory bool empty() const; - + inline void nextPreset(PresetIterator & presetPos); private: @@ -146,10 +146,10 @@ inline void PresetChooser::nextPreset(PresetIterator & presetPos) { if (this->empty()) { return; } - + // Case: idle preset currently running, selected first preset of chooser - else if (presetPos == this->end()) - presetPos = this->begin(); + else if (presetPos == this->end()) + presetPos = this->begin(); else ++(presetPos); @@ -157,7 +157,7 @@ inline void PresetChooser::nextPreset(PresetIterator & presetPos) { if (((presetPos) == this->end())) { presetPos = this->begin(); } - + } inline PresetIterator PresetChooser::begin() { diff --git a/src/libprojectM/Renderer/RenderItemMergeFunction.hpp b/src/libprojectM/Renderer/RenderItemMergeFunction.hpp index b15796f25..9ee7f9916 100644 --- a/src/libprojectM/Renderer/RenderItemMergeFunction.hpp +++ b/src/libprojectM/Renderer/RenderItemMergeFunction.hpp @@ -84,41 +84,43 @@ public: protected: - virtual inline void computeMerge(const Shape * lhs, const Shape * rhs, Shape * target, double ratio) const { + virtual inline Shape computeMerge(const Shape * lhs, const Shape * rhs, double ratio) const { - target->x = interpolate(lhs->x, rhs->x, ratio); - target->y = interpolate(lhs->y, rhs->y, ratio); - target->a = interpolate(lhs->a, rhs->a, ratio); - target->a2 = interpolate(lhs->a2, rhs->a2, ratio); - target->r = interpolate(lhs->r, rhs->r, ratio); - target->r2 = interpolate(lhs->r2, rhs->r2, ratio); - target->g = interpolate(lhs->g, rhs->g, ratio); - target->g2 = interpolate(lhs->g2, rhs->g2, ratio); - target->b = interpolate(lhs->b, rhs->b, ratio); - target->b2 = interpolate(lhs->b2, rhs->b2, ratio); + Shape target; - target->ang = interpolate(lhs->ang, rhs->ang, ratio); - target->radius = interpolate(lhs->radius, rhs->radius, ratio); + target.x = interpolate(lhs->x, rhs->x, ratio); + target.y = interpolate(lhs->y, rhs->y, ratio); + target.a = interpolate(lhs->a, rhs->a, ratio); + target.a2 = interpolate(lhs->a2, rhs->a2, ratio); + target.r = interpolate(lhs->r, rhs->r, ratio); + target.r2 = interpolate(lhs->r2, rhs->r2, ratio); + target.g = interpolate(lhs->g, rhs->g, ratio); + target.g2 = interpolate(lhs->g2, rhs->g2, ratio); + target.b = interpolate(lhs->b, rhs->b, ratio); + target.b2 = interpolate(lhs->b2, rhs->b2, ratio); - target->tex_ang = interpolate(lhs->tex_ang, rhs->tex_ang, ratio); - target->tex_zoom = interpolate(lhs->tex_zoom, rhs->tex_zoom, ratio); + target.ang = interpolate(lhs->ang, rhs->ang, ratio); + target.radius = interpolate(lhs->radius, rhs->radius, ratio); - target->border_a = interpolate(lhs->border_a, rhs->border_a, ratio); - target->border_r = interpolate(lhs->border_r, rhs->border_r, ratio); - target->border_g = interpolate(lhs->border_g, rhs->border_g, ratio); - target->border_b = interpolate(lhs->border_b, rhs->border_b, ratio); + target.tex_ang = interpolate(lhs->tex_ang, rhs->tex_ang, ratio); + target.tex_zoom = interpolate(lhs->tex_zoom, rhs->tex_zoom, ratio); - target->sides = interpolate(lhs->sides, rhs->sides, ratio); + target.border_a = interpolate(lhs->border_a, rhs->border_a, ratio); + target.border_r = interpolate(lhs->border_r, rhs->border_r, ratio); + target.border_g = interpolate(lhs->border_g, rhs->border_g, ratio); + target.border_b = interpolate(lhs->border_b, rhs->border_b, ratio); - target->additive = interpolate(lhs->additive, rhs->additive, ratio); - target->textured = interpolate(lhs->textured, rhs->textured, ratio); - target->thickOutline = interpolate(lhs->thickOutline, rhs->thickOutline, ratio); - target->enabled = interpolate(lhs->enabled, rhs->enabled, ratio); + target.sides = interpolate(lhs->sides, rhs->sides, ratio); - target->masterAlpha = interpolate(lhs->masterAlpha, rhs->masterAlpha, ratio); - target->imageUrl = (ratio > 0.5) ? lhs->imageUrl : rhs->imageUrl, ratio; + target.additive = interpolate(lhs->additive, rhs->additive, ratio); + target.textured = interpolate(lhs->textured, rhs->textured, ratio); + target.thickOutline = interpolate(lhs->thickOutline, rhs->thickOutline, ratio); + target.enabled = interpolate(lhs->enabled, rhs->enabled, ratio); - return; + target.masterAlpha = interpolate(lhs->masterAlpha, rhs->masterAlpha, ratio); + target.imageUrl = (ratio > 0.5) ? lhs->imageUrl : rhs->imageUrl, ratio; + + return target; } }; @@ -131,23 +133,25 @@ class BorderMerge : public RenderItemMerge { protected: - virtual inline void computeMerge(const Border * lhs, const Border * rhs, Border * target, double ratio) const + virtual inline Border computeMerge(const Border * lhs, const Border * rhs, double ratio) const { - target->inner_a = interpolate(lhs->inner_a, rhs->inner_a, ratio); - target->inner_r = interpolate(lhs->inner_r, rhs->inner_r, ratio); - target->inner_g = interpolate(lhs->inner_g, rhs->inner_g, ratio); - target->inner_b = interpolate(lhs->inner_b, rhs->inner_b, ratio); - target->inner_size = interpolate(lhs->inner_size, rhs->inner_size, ratio); + Border target; - target->outer_a = interpolate(lhs->outer_a, rhs->outer_a, ratio); - target->outer_r = interpolate(lhs->outer_r, rhs->outer_r, ratio); - target->outer_g = interpolate(lhs->outer_g, rhs->outer_g, ratio); - target->outer_b = interpolate(lhs->outer_b, rhs->outer_b, ratio); - target->outer_size = interpolate(lhs->outer_size, rhs->outer_size, ratio); + target.inner_a = interpolate(lhs->inner_a, rhs->inner_a, ratio); + target.inner_r = interpolate(lhs->inner_r, rhs->inner_r, ratio); + target.inner_g = interpolate(lhs->inner_g, rhs->inner_g, ratio); + target.inner_b = interpolate(lhs->inner_b, rhs->inner_b, ratio); + target.inner_size = interpolate(lhs->inner_size, rhs->inner_size, ratio); - target->masterAlpha = interpolate(lhs->masterAlpha, rhs->masterAlpha, ratio); + target.outer_a = interpolate(lhs->outer_a, rhs->outer_a, ratio); + target.outer_r = interpolate(lhs->outer_r, rhs->outer_r, ratio); + target.outer_g = interpolate(lhs->outer_g, rhs->outer_g, ratio); + target.outer_b = interpolate(lhs->outer_b, rhs->outer_b, ratio); + target.outer_size = interpolate(lhs->outer_size, rhs->outer_size, ratio); - return; + target.masterAlpha = interpolate(lhs->masterAlpha, rhs->masterAlpha, ratio); + + return target; } }; @@ -160,19 +164,21 @@ class WaveformMerge : public RenderItemMerge { protected: - virtual inline void computeMerge(const Waveform * lhs, const Waveform * rhs, Waveform * target, double ratio) const + virtual inline Waveform computeMerge(const Waveform * lhs, const Waveform * rhs, double ratio) const { - target->additive = interpolate(lhs->additive, rhs->additive, ratio); - target->dots = interpolate(lhs->dots, rhs->dots, ratio); - target->samples = (rhs->samples > lhs-> samples) ? lhs->samples : rhs->samples; - target->scaling = interpolate(lhs->scaling, rhs->scaling, ratio); - target->sep = interpolate(lhs->sep, rhs->sep, ratio); - target->smoothing = interpolate(lhs->smoothing, rhs->smoothing, ratio); - target->spectrum = interpolate(lhs->spectrum, rhs->spectrum, ratio); - target->thick = interpolate(lhs->thick, rhs->thick, ratio); - target->masterAlpha = interpolate(lhs->masterAlpha, rhs->masterAlpha, ratio); + Waveform target; - return; + target.additive = interpolate(lhs->additive, rhs->additive, ratio); + target.dots = interpolate(lhs->dots, rhs->dots, ratio); + target.samples = (rhs->samples > lhs-> samples) ? lhs->samples : rhs->samples; + target.scaling = interpolate(lhs->scaling, rhs->scaling, ratio); + target.sep = interpolate(lhs->sep, rhs->sep, ratio); + target.smoothing = interpolate(lhs->smoothing, rhs->smoothing, ratio); + target.spectrum = interpolate(lhs->spectrum, rhs->spectrum, ratio); + target.thick = interpolate(lhs->thick, rhs->thick, ratio); + target.masterAlpha = interpolate(lhs->masterAlpha, rhs->masterAlpha, ratio); + + return target; } }; diff --git a/src/libprojectM/projectM.cpp b/src/libprojectM/projectM.cpp index bc9b2471a..488622e88 100755 --- a/src/libprojectM/projectM.cpp +++ b/src/libprojectM/projectM.cpp @@ -470,7 +470,7 @@ void projectM::projectM_init ( int gx, int gy, int fps, int texsize, int width, running = true; initPresetTools(gx, gy); - + #ifdef USE_THREADS pthread_mutex_init(&mutex, NULL);