Package: libprojectm2
Version: 2.0.1+dfsg-3
Severity: normal
Tags: patch

Hi,

I currently work on Clementine packaging in Debian [1] . Clementine is a music
player [2] which use the libprojectm library.

Clementine use a patched version of libprojectm because two setter are missing 
to access to some private class attributes in this library. Therefore, these 
modifications are mandatory to make clementine compiling.

So, I join you these two small patches and hope you will agree to include it 
in the libprojectm package.

Regards,
Thomas PIERSON

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=579859
[2] http://www.clementine-player.org/

Index: projectm-2.0.1+dfsg/src/libprojectM/projectM.cpp
===================================================================
--- projectm-2.0.1+dfsg.orig/src/libprojectM/projectM.cpp	2010-10-15 20:32:50.717456717 +0000
+++ projectm-2.0.1+dfsg/src/libprojectM/projectM.cpp	2010-10-15 20:35:51.629456716 +0000
@@ -898,3 +898,12 @@
 }
 
 
+void projectM::changeTextureSize(int size) {
+  _settings.textureSize = size;
+
+  delete renderer;
+  renderer = new Renderer(_settings.windowWidth, _settings.windowHeight,
+                          _settings.meshX, _settings.meshY,
+                          _settings.textureSize, beatDetect, _settings.presetURL,
+                          _settings.titleFontURL, _settings.menuFontURL);
+}
Index: projectm-2.0.1+dfsg/src/libprojectM/projectM.hpp
===================================================================
--- projectm-2.0.1+dfsg.orig/src/libprojectM/projectM.hpp	2010-10-15 20:35:58.809456716 +0000
+++ projectm-2.0.1+dfsg/src/libprojectM/projectM.hpp	2010-10-15 20:36:53.469456717 +0000
@@ -153,8 +153,7 @@
 
   virtual ~projectM();
 
-
-
+  void changeTextureSize(int size);
 
 
   const Settings & settings() const {
Index: projectm-2.0.1+dfsg/src/libprojectM/TimeKeeper.hpp
===================================================================
--- projectm-2.0.1+dfsg.orig/src/libprojectM/TimeKeeper.hpp	2010-10-15 20:55:31.549456718 +0000
+++ projectm-2.0.1+dfsg/src/libprojectM/TimeKeeper.hpp	2010-10-15 20:56:15.177456716 +0000
@@ -37,6 +37,8 @@
 
   double sampledPresetDuration();
 
+  void ChangePresetDuration(int seconds) { _presetDuration = seconds; }
+
 #ifndef WIN32
   /* The first ticks value of the application */
   struct timeval startTime;
Index: projectm-2.0.1+dfsg/src/libprojectM/projectM.cpp
===================================================================
--- projectm-2.0.1+dfsg.orig/src/libprojectM/projectM.cpp	2010-10-15 20:55:31.561456716 +0000
+++ projectm-2.0.1+dfsg/src/libprojectM/projectM.cpp	2010-10-15 20:56:47.921456714 +0000
@@ -907,3 +907,7 @@
                           _settings.textureSize, beatDetect, _settings.presetURL,
                           _settings.titleFontURL, _settings.menuFontURL);
 }
+
+void projectM::changePresetDuration(int seconds) {
+  timeKeeper->ChangePresetDuration(seconds);
+}
Index: projectm-2.0.1+dfsg/src/libprojectM/projectM.hpp
===================================================================
--- projectm-2.0.1+dfsg.orig/src/libprojectM/projectM.hpp	2010-10-15 20:55:31.573456716 +0000
+++ projectm-2.0.1+dfsg/src/libprojectM/projectM.hpp	2010-10-15 20:57:20.233456715 +0000
@@ -154,7 +154,7 @@
   virtual ~projectM();
 
   void changeTextureSize(int size);
-
+  void changePresetDuration(int seconds);
 
   const Settings & settings() const {
 		return _settings;

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to