[Synfig-devl] Konstantin Dmitriev : synfigstudio-cph-monitor: Better detection for running synfigstudio.

2009-07-27 Thread Konstantin Dmitriev
Module: synfig
Branch: morevna
Commit: 510db4e9760325e1cf103a936fe04e10f17d0ccb
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=510db4e9760325e1cf103a936fe04e10f17d0ccb

Author: Konstantin Dmitriev ksee.zelga...@gmail.com
Date:   Mon Jul 27 18:56:41 2009 +0700

synfigstudio-cph-monitor: Better detection for running synfigstudio.

---

 synfig-studio/trunk/synfigstudio-cph-monitor |9 ++---
 1 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/synfig-studio/trunk/synfigstudio-cph-monitor 
b/synfig-studio/trunk/synfigstudio-cph-monitor
index 7ca8461..6dcc2bc 100755
--- a/synfig-studio/trunk/synfigstudio-cph-monitor
+++ b/synfig-studio/trunk/synfigstudio-cph-monitor
@@ -118,18 +118,13 @@ dumpstats()
 mainloop()
 {
while true; do
-   export PS=$(ps -f -u `whoami`)
-   if ( ( echo $PS |egrep synfigstudio$ /dev/null ) || ( echo 
$PS | egrep synfigstudio  /dev/null ) ) ; then
+   if ( ps --no-headers -f -Csynfigstudio |egrep ^`whoami`  
/dev/null ) ; then
#synfigstudio process exist
if [[ $STARTED == 0 ]]; then
STARTED=1
RUNTIME=0
#get version
-   if ( echo $PS |egrep synfigstudio$ 
/dev/null ) ; then
-   P=$( echo $PS |egrep synfigstudio$| 
tr -s ' '| cut -d ' ' -f 8)
-   else
-   P=$( echo $PS |egrep synfigstudio | 
tr -s ' '| cut -d ' ' -f 8)
-   fi
+   P=$(ps --no-headers -f -Csynfigstudio |egrep 
^`whoami` | tr -s ' '| cut -d ' ' -f 8)
echo 
if [ ! -e $P ]; then
P=`which $P`


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Konstantin Dmitriev : Forbid double run of synfigstudio-cph-monitor.

2009-07-27 Thread Konstantin Dmitriev
Module: synfig
Branch: zelgadis_master
Commit: f0b3a083d6ebf2080c85696b2867f019d9a97fa9
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=f0b3a083d6ebf2080c85696b2867f019d9a97fa9

Author: Konstantin Dmitriev ksee.zelga...@gmail.com
Date:   Mon Jul 27 18:29:08 2009 +0700

Forbid double run of synfigstudio-cph-monitor.

---

 synfig-studio/trunk/synfigstudio-cph-monitor |   25 +++--
 1 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/synfig-studio/trunk/synfigstudio-cph-monitor 
b/synfig-studio/trunk/synfigstudio-cph-monitor
index 000b83a..7ca8461 100755
--- a/synfig-studio/trunk/synfigstudio-cph-monitor
+++ b/synfig-studio/trunk/synfigstudio-cph-monitor
@@ -17,10 +17,9 @@ trap writelog INT
 
 init()
 {
-echo Synfig Crash Monitor is a tool to collect statistics about synfig 
crashes.
+echo SynfigStudio Crash Monitor is a tool to collect statistics about synfig 
crashes.
 echo All information is collected locally in ~/.synfig/cph directory.
 echo
-echo `date +%H:%M` Synfig Crash Monitor started.
 STARTED=0
 RUNTIME=0
 VERSION=''
@@ -29,6 +28,27 @@ BRANCH=''
 REVISION_ID=''
 CRASH=0
 [ ! -d ~/.synfig/cph ]  mkdir -p ~/.synfig/cph || true
+
+# Detect if crash monitor is already started
+PDIR=${0%`basename $0`}
+LCK_FILE=~/.synfig/cph/`basename $0`.lck
+if [ -f ${LCK_FILE} ]; then
+   MYPID=`head -n 1 ${LCK_FILE}`
+   if ! ( ps -p ${MYPID} | grep ${MYPID} /dev/null ); then
+   # The process is not running
+   # Echo current PID into lock file
+   echo $$  ${LCK_FILE}
+   else
+   echo `basename $0` is already running [${MYPID}]. Aborting.
+   sleep 5
+   exit 0
+   fi
+else
+   # The process is not running
+   # Echo current PID into lock file
+   echo $$  ${LCK_FILE}
+fi
+echo `date +%H:%M` Synfig Crash Monitor started.
 }
 
 writelog()
@@ -143,5 +163,6 @@ mainloop()
done
 }
 
+
 init
 mainloop


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Chris Norman : Fixing user name...

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 9b193ca30b3f4912d45fa8c4a55ad8fc6cff1e25
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=9b193ca30b3f4912d45fa8c4a55ad8fc6cff1e25

Author: Chris Norman pxe.g...@gmail.com
Date:   Fri Jul  3 19:56:18 2009 -0700

Fixing user name...

Signed-off-by: Chris Norman pxe.geek_s...@gmail.com

---

 synfig-studio/trunk/test.txt |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/synfig-studio/trunk/test.txt b/synfig-studio/trunk/test.txt
index 1c999d2..d52c75c 100644
--- a/synfig-studio/trunk/test.txt
+++ b/synfig-studio/trunk/test.txt
@@ -1 +1 @@
-Deleteme...  Just checking Git commit
\ No newline at end of file
+Deleteme...  Just checking Git commit... fixing username
\ No newline at end of file


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Delete unneeded test file from pixelgeek git test.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 697bc5a5331b2750271bb68d401adb329ed7d95e
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=697bc5a5331b2750271bb68d401adb329ed7d95e

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jul  6 11:29:05 2009 +0200

Delete unneeded test file from pixelgeek git test.

---

 synfig-studio/trunk/test.txt |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/synfig-studio/trunk/test.txt b/synfig-studio/trunk/test.txt
deleted file mode 100644
index d52c75c..000
--- a/synfig-studio/trunk/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-Deleteme...  Just checking Git commit... fixing username
\ No newline at end of file


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Revert modifications for Fedora compatibility due to stability problems.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 4cfe2b68ebd2556f9926965dcea2ca8f3fc050ea
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=4cfe2b68ebd2556f9926965dcea2ca8f3fc050ea

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jul  6 11:42:01 2009 +0200

Revert modifications for Fedora compatibility due to stability problems.

---

 ETL/trunk/ETL.pbproj/etl_profile.h |   28 
 ETL/trunk/ETL.pc.in|2 +-
 ETL/trunk/ETL/Makefile.am  |   10 --
 ETL/trunk/ETL/_mutex_pthreads.h|2 +-
 ETL/trunk/ETL/_stringf.h   |   21 
 ETL/trunk/ETL/_thread.h|   22 ++--
 ETL/trunk/ETL/clock|2 +-
 ETL/trunk/ETL/etl_config.h |2 +-
 ETL/trunk/ETL/etl_profile.h.in |   42 ---
 ETL/trunk/ETL/handle   |6 ++--
 ETL/trunk/ETL/mutex|2 +-
 ETL/trunk/Makefile.am  |2 +
 ETL/trunk/configure.ac |   64 
 ETL/trunk/m4/ETL.m4|   32 ++
 14 files changed, 95 insertions(+), 142 deletions(-)

Diff:   
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commitdiff;h=4cfe2b68ebd2556f9926965dcea2ca8f3fc050ea

--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : New Canvas view layout. WIP

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 660549d2828f033c28b0e0874565b32d1a052750
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=660549d2828f033c28b0e0874565b32d1a052750

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 21 08:47:49 2009 +0200

New Canvas view layout. WIP
-Move the Current time widget from the status to the timebar.
-Add a new row at the bottom of the time bar and move there the animate and 
lock keyframe buttons.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   52 ++---
 1 files changed, 29 insertions(+), 23 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 44c8340..23407b0 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -946,6 +946,7 @@ CanvasView::create_time_bar()
 {
Gtk::Image *icon;
 
+   //Setup the Time Slider and the Time window scroll
Gtk::HScrollbar *time_window_scroll = manage(new class 
Gtk::HScrollbar(time_window_adjustment()));
//Gtk::HScrollbar *time_scroll = manage(new class 
Gtk::HScrollbar(time_adjustment()));
//TIME BAR TEMPORARY POSITION
@@ -965,6 +966,7 @@ CanvasView::create_time_bar()
//time_scroll-signal_value_changed().connect(sigc::mem_fun(*work_area, 
studio::WorkArea::render_preview_hook));
//time_scroll-set_update_policy(Gtk::UPDATE_DISCONTINUOUS);
 
+   //Setup the Animation Mode Button and the Keyframe Lock button
NORMAL_BUTTON(animatebutton,gtk-yes,_(Animate));
animatebutton-signal_clicked().connect(sigc::mem_fun(*this, 
studio::CanvasView::on_animate_button_pressed));
animatebutton-show();
@@ -973,7 +975,7 @@ CanvasView::create_time_bar()
keyframebutton-signal_clicked().connect(sigc::mem_fun(*this, 
studio::CanvasView::on_keyframe_button_pressed));
keyframebutton-show();
 
-   //setup the audio display
+   //Setup the audio display
disp_audio-set_size_request(-1,32); //disp_audio-show();
disp_audio-set_time_adjustment(time_adjustment());
disp_audio-signal_start_scrubbing().connect(
@@ -985,7 +987,15 @@ CanvasView::create_time_bar()
disp_audio-signal_stop_scrubbing().connect(
sigc::mem_fun(*audio,AudioContainer::stop_scrubbing)
);
+   //Setup the current time widget
+   current_time_widget=manage(new Widget_Time);
+   current_time_widget-set_value(get_time());
+   
current_time_widget-set_fps(get_canvas()-rend_desc().get_frame_rate());
+   current_time_widget-signal_value_changed().connect(
+   sigc::mem_fun(*this,CanvasView::on_current_time_widget_changed)
+   );
 
+   //Setup the FrameDial widget
FrameDial *framedial = manage(new class FrameDial());
framedial-signal_seek_begin().connect(
sigc::bind(sigc::mem_fun(*canvas_interface().get(), 
synfigapp::CanvasInterface::seek_time), Time::begin())
@@ -1001,15 +1011,19 @@ CanvasView::create_time_bar()
);
framedial-show();
 
-   Gtk::Table *table = manage(new class Gtk::Table(4, 3, false));
+   Gtk::Table *table = manage(new class Gtk::Table(4, 4, false));
timebar = table;
 
-   table-attach(*manage(disp_audio), 0, 1, 0, 1, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
-   table-attach(*framedial, 0, 1, 1, 2,Gtk::SHRINK, Gtk::SHRINK);
-   table-attach(*timeslider, 1, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
-   table-attach(*time_window_scroll, 1, 2, 2, 3, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
-   table-attach(*animatebutton, 2, 3, 0, 3, Gtk::SHRINK, Gtk::SHRINK);
-   table-attach(*keyframebutton, 3, 4, 0, 3, Gtk::SHRINK, Gtk::SHRINK);
+   //Attach widgets to the time bar table
+   table-attach(*manage(disp_audio), 1, 4, 0, 1, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
+   table-attach(*framedial, 0, 1, 2, 3,Gtk::SHRINK, Gtk::SHRINK);
+   table-attach(*current_time_widget, 0, 1, 1, 2, Gtk::SHRINK|Gtk::FILL, 
Gtk::SHRINK|Gtk::FILL, 0, 0);
+   table-attach(*timeslider, 1, 4, 1, 2, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
+   table-attach(*time_window_scroll, 1, 4, 2, 3, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
+   table-attach(*animatebutton, 2, 3, 3, 4, Gtk::FILL, Gtk::SHRINK);
+   table-attach(*keyframebutton, 3, 4, 3, 4, Gtk::FILL, Gtk::SHRINK);
+
+
table-show();
 
return table;
@@ -1036,7 +1050,7 @@ CanvasView::create_status_bar()
cancel=false;
 
// Create the status bar at the bottom of the window
-   Gtk::Table *statusbartable= manage(new class Gtk::Table(7, 1, false));
+   Gtk::Table *statusbartable= manage(new class Gtk::Table(5, 1, false));
 // statusbar = manage(new class Gtk::Statusbar()); // This is already done 
at construction
progressbar =manage(new class Gtk::ProgressBar());
SMALL_BUTTON(stopbutton,gtk-stop,_(Stop));
@@ 

[Synfig-devl] Carlos Lopez : Add Keyframe Dial initial layout

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 7bca451a7f43f49570cefb2decbd4ef1bd711eea
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=7bca451a7f43f49570cefb2decbd4ef1bd711eea

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 21 11:57:18 2009 +0200

Add Keyframe Dial initial layout

---

 synfig-studio/trunk/src/gtkmm/Makefile.am  |6 +-
 synfig-studio/trunk/src/gtkmm/canvasview.cpp   |   12 +++-
 synfig-studio/trunk/src/gtkmm/keyframedial.cpp |   77 
 synfig-studio/trunk/src/gtkmm/keyframedial.h   |   70 +
 4 files changed, 161 insertions(+), 4 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/Makefile.am 
b/synfig-studio/trunk/src/gtkmm/Makefile.am
index 4742357..39acf8c 100644
--- a/synfig-studio/trunk/src/gtkmm/Makefile.am
+++ b/synfig-studio/trunk/src/gtkmm/Makefile.am
@@ -293,7 +293,8 @@ OTHER_HH = \
valuelink.h \
workarea.h \
zoomdial.h \
-   framedial.h
+   framedial.h \
+   keyframedial.h
 
 OTHER_CC = \
main.cpp \
@@ -324,7 +325,8 @@ OTHER_CC = \
valuelink.cpp \
workarea.cpp \
zoomdial.cpp \
-   framedial.cpp
+   framedial.cpp \
+   keyframedial.cpp
 
 
 INCLUDES = \
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 23407b0..89bad1b 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -100,6 +100,7 @@
 #include audiocontainer.h
 #include widget_timeslider.h
 #include framedial.h
+#include keyframedial.h
 
 #include synfigapp/main.h
 #include synfigapp/inputdevice.h
@@ -1011,6 +1012,12 @@ CanvasView::create_time_bar()
);
framedial-show();
 
+   //Setup the KeyFrameDial widget
+   KeyFrameDial *keyframedial = Gtk::manage(new class KeyFrameDial());
+   
keyframedial-signal_seek_prev_keyframe().connect(sigc::mem_fun(*canvas_interface().get(),
 synfigapp::CanvasInterface::jump_to_prev_keyframe));
+   
keyframedial-signal_seek_next_keyframe().connect(sigc::mem_fun(*canvas_interface().get(),
 synfigapp::CanvasInterface::jump_to_next_keyframe));
+   keyframedial-show();
+
Gtk::Table *table = manage(new class Gtk::Table(4, 4, false));
timebar = table;
 
@@ -1020,8 +1027,9 @@ CanvasView::create_time_bar()
table-attach(*current_time_widget, 0, 1, 1, 2, Gtk::SHRINK|Gtk::FILL, 
Gtk::SHRINK|Gtk::FILL, 0, 0);
table-attach(*timeslider, 1, 4, 1, 2, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
table-attach(*time_window_scroll, 1, 4, 2, 3, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
-   table-attach(*animatebutton, 2, 3, 3, 4, Gtk::FILL, Gtk::SHRINK);
-   table-attach(*keyframebutton, 3, 4, 3, 4, Gtk::FILL, Gtk::SHRINK);
+   table-attach(*keyframedial, 0, 1, 3, 4, Gtk::SHRINK, Gtk::SHRINK);
+   table-attach(*animatebutton, 2, 3, 3, 4, Gtk::SHRINK, Gtk::SHRINK);
+   table-attach(*keyframebutton, 1, 2, 3, 4, Gtk::SHRINK, Gtk::SHRINK);
 
 
table-show();
diff --git a/synfig-studio/trunk/src/gtkmm/keyframedial.cpp 
b/synfig-studio/trunk/src/gtkmm/keyframedial.cpp
new file mode 100644
index 000..ba60717
--- /dev/null
+++ b/synfig-studio/trunk/src/gtkmm/keyframedial.cpp
@@ -0,0 +1,77 @@
+/* === S Y N F I G = */
+/*!\file keyframedial.cpp
+** \brief Template File
+**
+** $Id$
+**
+** \legal
+** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+** Copyright (c) 2009 Gerco Ballintijn
+** Copyright (c) 2009 Carlos Lopez
+**
+** This package is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License as
+** published by the Free Software Foundation; either version 2 of
+** the License, or (at your option) any later version.
+**
+** This package is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+** General Public License for more details.
+** \endlegal
+*/
+/* = */
+
+/* === H E A D E R S === */
+
+#ifdef USING_PCH
+#  include pch.h
+#else
+#ifdef HAVE_CONFIG_H
+#  include config.h
+#endif
+
+#include keyframedial.h
+#include gtkmm/image.h
+
+#endif
+
+/* === U S I N G === */
+
+using namespace std;
+using namespace studio;
+
+/* === M A C R O S = */
+
+/* === G L O B A L S === */
+
+/* === P R O C E D U R E S = */
+
+/* === M E T H O D S 

[Synfig-devl] Carlos Lopez : Reorder the code a bit and add some comments

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: cb8203d4a2196e403c959cc154e027cc269fca68
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=cb8203d4a2196e403c959cc154e027cc269fca68

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 22 19:05:34 2009 +0200

Reorder the code a bit and add some comments

---

 synfig-studio/trunk/src/gtkmm/canvasview.h |   17 +++--
 1 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h 
b/synfig-studio/trunk/src/gtkmm/canvasview.h
index 3b27e8b..6f1f87e 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.h
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.h
@@ -258,20 +258,22 @@ private:
 
Gtk::Button *stopbutton;
Gtk::Button *refreshbutton;
-   Gtk::Button *treetogglebutton;
-   Gtk::Notebook *notebook;
+   Gtk::Button *treetogglebutton;  // not used
+   Gtk::Notebook *notebook; // not used
Gtk::Widget *timebar;
+   Gtk::Button *animatebutton;
+   Gtk::Button *keyframebutton;
+
 
+   //! Shows current time and allows edition
Widget_Time *current_time_widget;
void on_current_time_widget_changed();
 
-   std::auto_ptrWidget_Timeslidertimeslider;
+   //! Time slider class. Same than the Time track panel
+   std::auto_ptrWidget_Timeslider timeslider;
 
std::listsigc::connection duck_changed_connections;
 
-   Gtk::Button *animatebutton;
-   Gtk::Button *keyframebutton;
-
 /* DEBUGPOINT_CLASS(8);
 
Gtk::Menu duckmaskmenu;
@@ -308,6 +310,7 @@ private:
Gtk::CheckMenuItem* duck_mask_width;
Gtk::CheckMenuItem* duck_mask_angle;
 */
+   //! Menu members
Gtk::Menu parammenu;
 
Glib::RefPtrGtk::ToggleAction grid_snap_toggle;
@@ -400,9 +403,11 @@ private:
 
Gtk::Widget *create_time_bar();
 
+   //! Pop up menu for the bezier (bline, draw) tool (?)
void popup_param_menu_bezier(float location, synfigapp::ValueDesc 
value_desc)
{ popup_param_menu(value_desc,location,true); }
 
+   //! Pop up menu for the tools but not the bezier ones.
void popup_param_menu(synfigapp::ValueDesc value_desc, float 
location=0, bool bezier=false);
 
void workarea_layer_selected(synfig::Layer::Handle layer);


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Moved keyframedial to the first row as well as the animate button

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: f95ea50783dff336317c7a4fe381a97c45adc6b8
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=f95ea50783dff336317c7a4fe381a97c45adc6b8

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 22 01:11:15 2009 +0200

Moved keyframedial to the first row as well as the animate button
to save space.
Added tooltip to the Current time

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   13 +++--
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index b3e243f..32530cd 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -993,6 +993,7 @@ CanvasView::create_time_bar()
sigc::mem_fun(*this,CanvasView::on_current_time_widget_changed)
);
current_time_widget-set_size_request(0,-1); // request horizontal 
shrink
+   tooltips.set_tip(*current_time_widget,_(Current time));
current_time_widget-show();
 
//Setup the FrameDial widget
@@ -1019,17 +1020,17 @@ CanvasView::create_time_bar()
keyframedial-show();
keyframebutton=keyframedial-get_lock_button();
 
-   Gtk::Table *table = manage(new class Gtk::Table(4, 4, false));
+   Gtk::Table *table = manage(new class Gtk::Table(5, 3, false));
timebar = table;
 
//Attach widgets to the time bar table
-   table-attach(*manage(disp_audio), 1, 4, 0, 1, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
+   table-attach(*manage(disp_audio), 1, 5, 0, 1, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
table-attach(*framedial, 0, 1, 2, 3,Gtk::SHRINK, Gtk::SHRINK);
table-attach(*current_time_widget, 0, 1, 1, 2, Gtk::SHRINK|Gtk::FILL, 
Gtk::SHRINK|Gtk::FILL, 0, 0);
-   table-attach(*timeslider, 1, 4, 1, 2, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
-   table-attach(*time_window_scroll, 1, 4, 2, 3, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
-   table-attach(*keyframedial, 0, 1, 3, 4, Gtk::SHRINK, Gtk::SHRINK);
-   table-attach(*animatebutton, 2, 3, 3, 4, Gtk::SHRINK, Gtk::SHRINK);
+   table-attach(*timeslider, 1, 3, 1, 2, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
+   table-attach(*time_window_scroll, 1, 3, 2, 3, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
+   table-attach(*keyframedial, 3, 4, 1, 2, Gtk::SHRINK, Gtk::SHRINK);
+   table-attach(*animatebutton, 4, 5, 1, 2, Gtk::SHRINK, Gtk::SHRINK);
//table-attach(*keyframebutton, 1, 2, 3, 4, Gtk::SHRINK, Gtk::SHRINK);
 
 


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Add Play/Stop button to the Frame Dial.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 44a6e894eaa7af4bcebb7c317a303f547878e01c
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=44a6e894eaa7af4bcebb7c317a303f547878e01c

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 22 20:08:36 2009 +0200

Add Play/Stop button to the Frame Dial.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   35 +++--
 synfig-studio/trunk/src/gtkmm/canvasview.h   |4 +++
 synfig-studio/trunk/src/gtkmm/framedial.cpp  |9 --
 synfig-studio/trunk/src/gtkmm/framedial.h|   12 ++---
 4 files changed, 50 insertions(+), 10 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 32530cd..7c3aa0a 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -99,7 +99,6 @@
 #include preview.h
 #include audiocontainer.h
 #include widget_timeslider.h
-#include framedial.h
 #include keyframedial.h
 
 #include synfigapp/main.h
@@ -997,13 +996,16 @@ CanvasView::create_time_bar()
current_time_widget-show();
 
//Setup the FrameDial widget
-   FrameDial *framedial = manage(new class FrameDial());
+   framedial = manage(new class FrameDial());
framedial-signal_seek_begin().connect(
sigc::bind(sigc::mem_fun(*canvas_interface().get(), 
synfigapp::CanvasInterface::seek_time), Time::begin())
);
framedial-signal_seek_prev_frame().connect(
sigc::bind(sigc::mem_fun(*canvas_interface().get(), 
synfigapp::CanvasInterface::seek_frame), -1)
);
+   framedial-signal_play_stop().connect(
+   sigc::mem_fun(*this, 
studio::CanvasView::on_play_stop_pressed)
+   );
framedial-signal_seek_next_frame().connect(
sigc::bind(sigc::mem_fun(*canvas_interface().get(), 
synfigapp::CanvasInterface::seek_frame), 1)
);
@@ -3154,8 +3156,8 @@ CanvasView::play()
return;
}
}
+   on_play_stop_pressed();
is_playing_=false;
-
time_adjustment().set_value(endtime);
time_adjustment().value_changed();
 }
@@ -3919,3 +3921,30 @@ CanvasView::on_delete_event(GdkEventAny* event 
__attribute__ ((unused)))
 
return true;
 }
+
+//! Modify the play stop button apearence and play stop the animation
+void
+CanvasView::on_play_stop_pressed()
+{
+   Gtk::Image *icon;
+   Gtk::Button *stop_button;
+   stop_button=framedial-get_play_button();
+   bool play_flag;
+   if(!is_playing())
+   {
+   icon = manage(new Gtk::Image(Gtk::Stock::MEDIA_STOP, 
Gtk::IconSize::from_name(synfig-small_icon)));
+   stop_button-set_relief(Gtk::RELIEF_NORMAL);
+   play_flag=true;
+   }
+   else
+   {
+   icon = manage(new Gtk::Image(Gtk::Stock::MEDIA_PLAY, 
Gtk::IconSize::from_name(synfig-small_icon)));
+   stop_button-set_relief(Gtk::RELIEF_NONE);
+   play_flag=false;
+   }
+   stop_button-remove();
+   stop_button-add(*icon);
+   icon-set_padding(0, 0);
+   icon-show();
+   if(play_flag) play(); else stop();
+}
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h 
b/synfig-studio/trunk/src/gtkmm/canvasview.h
index 6f1f87e..844a57f 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.h
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.h
@@ -65,6 +65,7 @@
 
 #include dialog_waypoint.h
 #include dialog_keyframe.h
+#include framedial.h
 
 #include duckmatic.h
 #include gtkmm/scale.h
@@ -263,6 +264,7 @@ private:
Gtk::Widget *timebar;
Gtk::Button *animatebutton;
Gtk::Button *keyframebutton;
+   FrameDial *framedial;
 
 
//! Shows current time and allows edition
@@ -679,6 +681,8 @@ private:
//void on_audio_play();
bool on_audio_scrub();
 
+   void on_play_stop_pressed();
+
 protected:
bool close_instance_when_safe();
bool on_delete_event(GdkEventAny* event);
diff --git a/synfig-studio/trunk/src/gtkmm/framedial.cpp 
b/synfig-studio/trunk/src/gtkmm/framedial.cpp
index a361bd3..0392f4b 100644
--- a/synfig-studio/trunk/src/gtkmm/framedial.cpp
+++ b/synfig-studio/trunk/src/gtkmm/framedial.cpp
@@ -49,7 +49,7 @@ using namespace studio;
 
 /* === M E T H O D S === */
 
-FrameDial::FrameDial(): Gtk::Table(3, 1, false)
+FrameDial::FrameDial(): Gtk::Table(5, 1, false)
 {
Gtk::IconSize iconsize = Gtk::IconSize::from_name(synfig-small_icon);
 
@@ -57,6 +57,8 @@ FrameDial::FrameDial(): Gtk::Table(3, 1, false)
_(Seek to Begin));
seek_prev_frame = create_icon(iconsize, Gtk::Stock::MEDIA_REWIND,
_(Previous Frame));
+   play_stop = create_icon(iconsize, Gtk::Stock::MEDIA_PLAY,
+  

[Synfig-devl] unknown : Test commit - please feel free ro revert

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 1fbe1b247f7b91cac58809c30fc92543e7ed363e
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=1fbe1b247f7b91cac58809c30fc92543e7ed363e

Author: unknown ch...@.(none)
Date:   Fri Jul  3 19:50:46 2009 -0700

Test commit - please feel free ro revert

Signed-off-by: pxe.g...@gmail.com

---

 synfig-studio/trunk/test.txt |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/synfig-studio/trunk/test.txt b/synfig-studio/trunk/test.txt
new file mode 100644
index 000..1c999d2
--- /dev/null
+++ b/synfig-studio/trunk/test.txt
@@ -0,0 +1 @@
+Deleteme...  Just checking Git commit
\ No newline at end of file


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Remove unneeded member call.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 71deecdc651fe51c2c6a930502d86db2871f7a1c
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=71deecdc651fe51c2c6a930502d86db2871f7a1c

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 22 21:02:42 2009 +0200

Remove unneeded member call.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 7c3aa0a..0b532cd 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -951,7 +951,6 @@ CanvasView::create_time_bar()
//Gtk::HScrollbar *time_scroll = manage(new class 
Gtk::HScrollbar(time_adjustment()));
//TIME BAR TEMPORARY POSITION
//Widget_Timeslider *time_scroll = manage(new Widget_Timeslider);
-   timeslider-show();
timeslider-set_time_adjustment(time_adjustment());
timeslider-set_bounds_adjustment(time_window_adjustment());
//layout_table-attach(*timeslider, 0, 1, 2, 3, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK|Gtk::FILL);


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Comment a line that produced a bad render of the HScroll and seems to do nothing special .

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: b53b886325d6dff458e1e30b5d9469728e9af076
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b53b886325d6dff458e1e30b5d9469728e9af076

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 22 21:54:01 2009 +0200

Comment a line that produced a bad render of the HScroll and seems to do 
nothing special.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 0b532cd..76437b9 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -959,7 +959,7 @@ CanvasView::create_time_bar()
tooltips.set_tip(*timeslider,_(Changes the current time));
time_window_scroll-show();
timeslider-show();
-   time_window_scroll-set_flags(Gtk::CAN_FOCUS);
+   //time_window_scroll-set_flags(Gtk::CAN_FOCUS); // Uncomment this 
produce bad render of the HScroll
timeslider-set_flags(Gtk::CAN_FOCUS);
 
//time_scroll-signal_value_changed().connect(sigc::mem_fun(*work_area, 
studio::WorkArea::render_preview_hook));


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Move Lock keyframe button to the KeyFrameDial

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 5aa08267da13439daab566f02fb3a20104511752
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=5aa08267da13439daab566f02fb3a20104511752

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 21 12:45:00 2009 +0200

Move Lock keyframe button to the KeyFrameDial

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp   |   12 
 synfig-studio/trunk/src/gtkmm/keyframedial.cpp |4 +++-
 synfig-studio/trunk/src/gtkmm/keyframedial.h   |3 +++
 3 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 89bad1b..7223410 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -968,14 +968,16 @@ CanvasView::create_time_bar()
//time_scroll-set_update_policy(Gtk::UPDATE_DISCONTINUOUS);
 
//Setup the Animation Mode Button and the Keyframe Lock button
-   NORMAL_BUTTON(animatebutton,gtk-yes,_(Animate));
+   Gtk::IconSize iconsize=Gtk::IconSize::from_name(synfig-small_icon);
+   SMALL_BUTTON(animatebutton,gtk-yes,_(Animate));
animatebutton-signal_clicked().connect(sigc::mem_fun(*this, 
studio::CanvasView::on_animate_button_pressed));
animatebutton-show();
-
+/*
NORMAL_BUTTON(keyframebutton,synfig-keyframe_lock_all,_(All 
Keyframes Locked));
keyframebutton-signal_clicked().connect(sigc::mem_fun(*this, 
studio::CanvasView::on_keyframe_button_pressed));
keyframebutton-show();
-
+   keyframebutton-set_relief(Gtk::RELIEF_NONE);
+*/
//Setup the audio display
disp_audio-set_size_request(-1,32); //disp_audio-show();
disp_audio-set_time_adjustment(time_adjustment());
@@ -1016,7 +1018,9 @@ CanvasView::create_time_bar()
KeyFrameDial *keyframedial = Gtk::manage(new class KeyFrameDial());

keyframedial-signal_seek_prev_keyframe().connect(sigc::mem_fun(*canvas_interface().get(),
 synfigapp::CanvasInterface::jump_to_prev_keyframe));

keyframedial-signal_seek_next_keyframe().connect(sigc::mem_fun(*canvas_interface().get(),
 synfigapp::CanvasInterface::jump_to_next_keyframe));
+   keyframedial-signal_lock_keyframe().connect(sigc::mem_fun(*this, 
studio::CanvasView::on_keyframe_button_pressed));
keyframedial-show();
+   keyframebutton=keyframedial-get_lock_button();
 
Gtk::Table *table = manage(new class Gtk::Table(4, 4, false));
timebar = table;
@@ -1029,7 +1033,7 @@ CanvasView::create_time_bar()
table-attach(*time_window_scroll, 1, 4, 2, 3, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
table-attach(*keyframedial, 0, 1, 3, 4, Gtk::SHRINK, Gtk::SHRINK);
table-attach(*animatebutton, 2, 3, 3, 4, Gtk::SHRINK, Gtk::SHRINK);
-   table-attach(*keyframebutton, 1, 2, 3, 4, Gtk::SHRINK, Gtk::SHRINK);
+   //table-attach(*keyframebutton, 1, 2, 3, 4, Gtk::SHRINK, Gtk::SHRINK);
 
 
table-show();
diff --git a/synfig-studio/trunk/src/gtkmm/keyframedial.cpp 
b/synfig-studio/trunk/src/gtkmm/keyframedial.cpp
index ba60717..a9bf328 100644
--- a/synfig-studio/trunk/src/gtkmm/keyframedial.cpp
+++ b/synfig-studio/trunk/src/gtkmm/keyframedial.cpp
@@ -49,15 +49,17 @@ using namespace studio;
 
 /* === M E T H O D S === */
 
-KeyFrameDial::KeyFrameDial(): Gtk::Table(1, 2, false)
+KeyFrameDial::KeyFrameDial(): Gtk::Table(1, 3, false)
 {
Gtk::IconSize iconsize = Gtk::IconSize::from_name(synfig-small_icon);
 
seek_prev_keyframe = create_icon(iconsize, GTK_STOCK_GO_BACK, 
_(Previous KeyFrame));
seek_next_keyframe = create_icon(iconsize, GTK_STOCK_GO_FORWARD, 
_(Next KeyFrame));
+   lock_keyframe = create_icon(Gtk::ICON_SIZE_BUTTON, 
synfig-keyframe_lock_all,_(All Keyframes Locked));
 
attach(*seek_prev_keyframe, 0, 1, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
attach(*seek_next_keyframe, 1, 2, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
+   attach(*lock_keyframe, 2, 3, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
 }
 
 Gtk::Button *
diff --git a/synfig-studio/trunk/src/gtkmm/keyframedial.h 
b/synfig-studio/trunk/src/gtkmm/keyframedial.h
index 6636590..41dfc57 100644
--- a/synfig-studio/trunk/src/gtkmm/keyframedial.h
+++ b/synfig-studio/trunk/src/gtkmm/keyframedial.h
@@ -51,6 +51,7 @@ class KeyFrameDial : public Gtk::Table
 
Gtk::Button *seek_prev_keyframe;
Gtk::Button *seek_next_keyframe;
+   Gtk::Button *lock_keyframe;
 
Gtk::Button *create_icon(Gtk::IconSize iconsize, const char * stockid, 
const char * tooltip);
 
@@ -59,6 +60,8 @@ public:
KeyFrameDial();
Glib::SignalProxy0void signal_seek_prev_keyframe()  { return 
seek_prev_keyframe-signal_clicked(); }
Glib::SignalProxy0void signal_seek_next_keyframe()  { return 
seek_next_keyframe-signal_clicked(); }
+   Glib::SignalProxy0void signal_lock_keyframe()  

[Synfig-devl] Carlos Lopez : Show the current_time_widget in the proper function and request minimum horizontal size

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 13dbd5e744738bc01ec52e030aa05b76c6099b21
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=13dbd5e744738bc01ec52e030aa05b76c6099b21

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 22 00:42:37 2009 +0200

Show the current_time_widget in the proper function and request minimum 
horizontal size

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index d877e6d..b3e243f 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -992,6 +992,8 @@ CanvasView::create_time_bar()
current_time_widget-signal_value_changed().connect(
sigc::mem_fun(*this,CanvasView::on_current_time_widget_changed)
);
+   current_time_widget-set_size_request(0,-1); // request horizontal 
shrink
+   current_time_widget-show();
 
//Setup the FrameDial widget
FrameDial *framedial = manage(new class FrameDial());
@@ -3209,7 +3211,7 @@ void
 CanvasView::show_timebar()
 {
timebar-show();
-   current_time_widget-show();
+   //current_time_widget-show(); // not needed now that belongs to the 
timebar
 
//keyframe_tab_child-show();
if(layer_tree)


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Use Gtkmm stock items instead of Gtk ones for Keyframe Dial buttons.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 38134c93640054cbf5a92f778c0cedb3fa7b4733
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=38134c93640054cbf5a92f778c0cedb3fa7b4733

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Tue Jun 23 16:27:06 2009 +0200

Use Gtkmm stock items instead of Gtk ones for Keyframe Dial buttons.

---

 synfig-studio/trunk/src/gtkmm/keyframedial.cpp |   21 +++--
 synfig-studio/trunk/src/gtkmm/keyframedial.h   |1 +
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/keyframedial.cpp 
b/synfig-studio/trunk/src/gtkmm/keyframedial.cpp
index a9bf328..c7b5c56 100644
--- a/synfig-studio/trunk/src/gtkmm/keyframedial.cpp
+++ b/synfig-studio/trunk/src/gtkmm/keyframedial.cpp
@@ -33,6 +33,7 @@
 
 #include keyframedial.h
 #include gtkmm/image.h
+#include gtkmm/stock.h
 
 #endif
 
@@ -53,8 +54,8 @@ KeyFrameDial::KeyFrameDial(): Gtk::Table(1, 3, false)
 {
Gtk::IconSize iconsize = Gtk::IconSize::from_name(synfig-small_icon);
 
-   seek_prev_keyframe = create_icon(iconsize, GTK_STOCK_GO_BACK, 
_(Previous KeyFrame));
-   seek_next_keyframe = create_icon(iconsize, GTK_STOCK_GO_FORWARD, 
_(Next KeyFrame));
+   seek_prev_keyframe = create_icon(iconsize, Gtk::Stock::GO_BACK, 
_(Previous KeyFrame));
+   seek_next_keyframe = create_icon(iconsize, Gtk::Stock::GO_FORWARD, 
_(Next KeyFrame));
lock_keyframe = create_icon(Gtk::ICON_SIZE_BUTTON, 
synfig-keyframe_lock_all,_(All Keyframes Locked));
 
attach(*seek_prev_keyframe, 0, 1, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
@@ -77,3 +78,19 @@ KeyFrameDial::create_icon(Gtk::IconSize iconsize, const char 
* stockid,
 
return button;
 }
+
+Gtk::Button *
+KeyFrameDial::create_icon(Gtk::IconSize iconsize, const Gtk::BuiltinStockID  
stockid,
+   const char * tooltip)
+{
+   Gtk::Button *button = manage(new class Gtk::Button());
+   Gtk::Image *icon = manage(new Gtk::Image(stockid, iconsize));
+   button-add(*icon);
+   tooltips.set_tip(*button, tooltip);
+   icon-set_padding(0, 0);
+   icon-show();
+   button-set_relief(Gtk::RELIEF_NONE);
+   button-show();
+
+   return button;
+}
diff --git a/synfig-studio/trunk/src/gtkmm/keyframedial.h 
b/synfig-studio/trunk/src/gtkmm/keyframedial.h
index 41dfc57..a6491c9 100644
--- a/synfig-studio/trunk/src/gtkmm/keyframedial.h
+++ b/synfig-studio/trunk/src/gtkmm/keyframedial.h
@@ -54,6 +54,7 @@ class KeyFrameDial : public Gtk::Table
Gtk::Button *lock_keyframe;
 
Gtk::Button *create_icon(Gtk::IconSize iconsize, const char * stockid, 
const char * tooltip);
+   Gtk::Button *create_icon(Gtk::IconSize iconsize, const 
Gtk::BuiltinStockID  stockid, const char * tooltip);
 
 public:
 


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Add Resolution Dial widget. Synchronise Low res check button with low res action and vice-versa. Also Increase/ Decrease resolution buttons change low res check button sta

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 3a2a20f4d04c9a1791b6e1997e75d729326a422b
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=3a2a20f4d04c9a1791b6e1997e75d729326a422b

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 28 15:05:28 2009 +0200

Add Resolution Dial widget. Synchronise Low res check button with low res 
action and vice-versa.Also Increase/Decrease resolution buttons change low res 
check button status and low res action.

---

 synfig-studio/trunk/src/gtkmm/Makefile.am|6 +-
 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   60 +-
 synfig-studio/trunk/src/gtkmm/canvasview.h   |4 +
 synfig-studio/trunk/src/gtkmm/resolutiondial.cpp |   97 ++
 synfig-studio/trunk/src/gtkmm/resolutiondial.h   |   77 +
 5 files changed, 239 insertions(+), 5 deletions(-)

Diff:   
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commitdiff;h=3a2a20f4d04c9a1791b6e1997e75d729326a422b

--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Use Toggle buttons instead of Buttons for toggle ducks.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: aa4b17d5d7bdbe76278ea25df74873007aaca852
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=aa4b17d5d7bdbe76278ea25df74873007aaca852

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Wed Jun 24 23:01:35 2009 +0200

Use Toggle buttons instead of Buttons for toggle ducks.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp  |8 +
 synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp |   14 
 synfig-studio/trunk/src/gtkmm/toggleducksdial.h   |   35 
 3 files changed, 36 insertions(+), 21 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index caeb737..72ce50a 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -1024,6 +1024,14 @@ CanvasView::create_time_bar()
 
// Setup the ToggleDuckDial widget
ToggleDucksDial *toggleducksdial = Gtk::manage(new class 
ToggleDucksDial());
+
+   toggleducksdial-get_position_toggle()- 
set_active(work_area-get_type_mask()Duck::TYPE_POSITION);
+   toggleducksdial-get_vertex_toggle()  - 
set_active(work_area-get_type_mask()Duck::TYPE_VERTEX);
+   toggleducksdial-get_tangent_toggle() - 
set_active(work_area-get_type_mask()Duck::TYPE_TANGENT);
+   toggleducksdial-get_radius_toggle()  - 
set_active(work_area-get_type_mask()Duck::TYPE_RADIUS);
+   toggleducksdial-get_width_toggle()   - 
set_active(work_area-get_type_mask()Duck::TYPE_WIDTH);
+   toggleducksdial-get_angle_toggle()   - 
set_active(work_area-get_type_mask()Duck::TYPE_ANGLE);
+
toggleducksdial-signal_ducks_position().connect(
sigc::bind(sigc::mem_fun(*this, 
studio::CanvasView::toggle_duck_mask),Duck::TYPE_POSITION)
);
diff --git a/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp 
b/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
index b23acde..78aeab5 100644
--- a/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
+++ b/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
@@ -69,15 +69,15 @@ ToggleDucksDial::ToggleDucksDial(): Gtk::Table(1, 6, false)
attach(*ducks_angle, 5, 6, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
 }
 
-Gtk::Button *
+Gtk::ToggleButton *
 ToggleDucksDial::create_label_button(Gtk::IconSize iconsize, const char *label,
const char * tooltip)
 {
-   Gtk::Button *button = manage(new class Gtk::Button());
-   button-set_label(label);
-   tooltips.set_tip(*button, tooltip);
-   button-set_relief(Gtk::RELIEF_NONE);
-   button-show();
+   Gtk::ToggleButton *tbutton = manage(new class Gtk::ToggleButton());
+   tbutton-set_label(label);
+   tooltips.set_tip(*tbutton, tooltip);
+   //tbutton-set_relief(Gtk::RELIEF_NONE);
+   tbutton-show();
 
-   return button;
+   return tbutton;
 }
diff --git a/synfig-studio/trunk/src/gtkmm/toggleducksdial.h 
b/synfig-studio/trunk/src/gtkmm/toggleducksdial.h
index 510806f..d2e50f2 100644
--- a/synfig-studio/trunk/src/gtkmm/toggleducksdial.h
+++ b/synfig-studio/trunk/src/gtkmm/toggleducksdial.h
@@ -32,7 +32,7 @@
 
 #include gtkmm/tooltips.h
 #include gtkmm/table.h
-#include gtkmm/button.h
+#include gtkmm/togglebutton.h
 
 #include general.h
 
@@ -49,24 +49,31 @@ class ToggleDucksDial : public Gtk::Table
 {
Gtk::Tooltips tooltips;
 
-   Gtk::Button *ducks_position;
-   Gtk::Button *ducks_vertex;
-   Gtk::Button *ducks_tangent;
-   Gtk::Button *ducks_radius;
-   Gtk::Button *ducks_width;
-   Gtk::Button *ducks_angle;
+   Gtk::ToggleButton *ducks_position;
+   Gtk::ToggleButton *ducks_vertex;
+   Gtk::ToggleButton *ducks_tangent;
+   Gtk::ToggleButton *ducks_radius;
+   Gtk::ToggleButton *ducks_width;
+   Gtk::ToggleButton *ducks_angle;
 
-   Gtk::Button *create_label_button(Gtk::IconSize iconsize, const char * 
label, const char * tooltip);
+   Gtk::ToggleButton *create_label_button(Gtk::IconSize iconsize, const 
char * label, const char * tooltip);
 
 public:
 
ToggleDucksDial();
-   Glib::SignalProxy0void signal_ducks_position()  { return 
ducks_position-signal_clicked(); }
-   Glib::SignalProxy0void signal_ducks_vertex()  { return 
ducks_vertex-signal_clicked(); }
-   Glib::SignalProxy0void signal_ducks_tangent()  { return 
ducks_tangent-signal_clicked(); }
-   Glib::SignalProxy0void signal_ducks_radius()  { return 
ducks_radius-signal_clicked(); }
-   Glib::SignalProxy0void signal_ducks_width()  { return 
ducks_width-signal_clicked(); }
-   Glib::SignalProxy0void signal_ducks_angle()  { return 
ducks_angle-signal_clicked(); }
+   Glib::SignalProxy0void signal_ducks_position()  { return 
ducks_position-signal_toggled(); }
+   Glib::SignalProxy0void signal_ducks_vertex(){ return 
ducks_vertex-  signal_toggled(); }
+   Glib::SignalProxy0void signal_ducks_tangent()   { 

[Synfig-devl] Carlos Lopez : Change toggle duck icons from numbers to duck icon images.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: df3517cbedbb486c3b092f765fe1019649005b73
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=df3517cbedbb486c3b092f765fe1019649005b73

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 28 17:39:35 2009 +0200

Change toggle duck icons from numbers to duck icon images.

---

 synfig-studio/trunk/images/Makefile.am|   17 +-
 synfig-studio/trunk/images/duck_angle_icon.sif|  432 +++
 synfig-studio/trunk/images/duck_position_icon.sif |  432 +++
 synfig-studio/trunk/images/duck_radius_icon.sif   |  432 +++
 synfig-studio/trunk/images/duck_tangent_icon.sif  |  853 +
 synfig-studio/trunk/images/duck_vertex_icon.sif   |  432 +++
 synfig-studio/trunk/images/duck_width_icon.sif|  432 +++
 synfig-studio/trunk/src/gtkmm/iconcontroller.cpp  |7 +
 synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp |   20 +-
 synfig-studio/trunk/src/gtkmm/toggleducksdial.h   |2 +-
 10 files changed, 3046 insertions(+), 13 deletions(-)

Diff:   
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commitdiff;h=df3517cbedbb486c3b092f765fe1019649005b73

--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Keep correct size on the animate button after pressed.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: a0bdff4fab72eaaf8b719295229ef4e7162a0009
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=a0bdff4fab72eaaf8b719295229ef4e7162a0009

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 22 22:18:29 2009 +0200

Keep correct size on the animate button after pressed.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 76437b9..a3c42cc 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -2580,10 +2580,11 @@ void
 CanvasView::on_mode_changed(synfigapp::CanvasInterface::Mode mode)
 {
// If the animate flag was set in mode...
+   Gtk::IconSize iconsize=Gtk::IconSize::from_name(synfig-small_icon);
if(modesynfigapp::MODE_ANIMATE)
{
Gtk::Image *icon;
-   icon=manage(new 
Gtk::Image(Gtk::StockID(gtk-no),Gtk::ICON_SIZE_BUTTON));
+   icon=manage(new Gtk::Image(Gtk::StockID(gtk-no),iconsize));
animatebutton-remove();
animatebutton-add(*icon);
tooltips.set_tip(*animatebutton,_(In Animate Editing Mode));
@@ -2593,7 +2594,7 @@ 
CanvasView::on_mode_changed(synfigapp::CanvasInterface::Mode mode)
else
{
Gtk::Image *icon;
-   icon=manage(new 
Gtk::Image(Gtk::StockID(gtk-yes),Gtk::ICON_SIZE_BUTTON));
+   icon=manage(new Gtk::Image(Gtk::StockID(gtk-yes),iconsize));
animatebutton-remove();
animatebutton-add(*icon);
tooltips.set_tip(*animatebutton,_(Not in Animate Editing 
Mode));


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Deprecate intermediate Gtk::Table variable 'table'. Not needed.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 37e70ada40533e1d3a623c5ebb560d7e88f83809
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=37e70ada40533e1d3a623c5ebb560d7e88f83809

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Wed Jun 24 22:24:31 2009 +0200

Deprecate intermediate Gtk::Table variable 'table'. Not needed.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   27 -
 synfig-studio/trunk/src/gtkmm/canvasview.h   |2 +-
 2 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 64bf34a..caeb737 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -1044,24 +1044,23 @@ CanvasView::create_time_bar()
);
toggleducksdial-show();
 
-   Gtk::Table *table = manage(new class Gtk::Table(5, 4, false));
-   timebar = table;
+   timebar = manage(new class Gtk::Table(5, 4, false));
 
-   //Attach widgets to the time bar table
-   table-attach(*manage(disp_audio), 1, 5, 0, 1, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
-   table-attach(*framedial, 0, 1, 2, 3,Gtk::SHRINK, Gtk::SHRINK);
-   table-attach(*current_time_widget, 0, 1, 1, 2, Gtk::SHRINK|Gtk::FILL, 
Gtk::SHRINK|Gtk::FILL, 0, 0);
-   table-attach(*timeslider, 1, 3, 1, 2, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
-   table-attach(*time_window_scroll, 1, 3, 2, 3, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
-   table-attach(*keyframedial, 3, 4, 1, 2, Gtk::SHRINK, Gtk::SHRINK);
-   table-attach(*animatebutton, 4, 5, 1, 2, Gtk::SHRINK, Gtk::SHRINK);
-   //table-attach(*keyframebutton, 1, 2, 3, 4, Gtk::SHRINK, Gtk::SHRINK);
-   table-attach(*toggleducksdial, 0, 5, 0, 1, Gtk::SHRINK, Gtk::SHRINK);
+   //Attach widgets to the timebar
+   timebar-attach(*manage(disp_audio), 1, 5, 0, 1, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
+   timebar-attach(*framedial, 0, 1, 2, 3,Gtk::SHRINK, Gtk::SHRINK);
+   timebar-attach(*current_time_widget, 0, 1, 1, 2, 
Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0);
+   timebar-attach(*timeslider, 1, 3, 1, 2, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
+   timebar-attach(*time_window_scroll, 1, 3, 2, 3, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
+   timebar-attach(*keyframedial, 3, 4, 1, 2, Gtk::SHRINK, Gtk::SHRINK);
+   timebar-attach(*animatebutton, 4, 5, 1, 2, Gtk::SHRINK, Gtk::SHRINK);
+   //timebar-attach(*keyframebutton, 1, 2, 3, 4, Gtk::SHRINK, 
Gtk::SHRINK);
+   timebar-attach(*toggleducksdial, 0, 5, 0, 1, Gtk::SHRINK, Gtk::SHRINK);
 
 
-   table-show();
+   timebar-show();
 
-   return table;
+   return timebar;
 }
 
 Gtk::Widget *
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h 
b/synfig-studio/trunk/src/gtkmm/canvasview.h
index 844a57f..2ed261e 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.h
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.h
@@ -261,7 +261,7 @@ private:
Gtk::Button *refreshbutton;
Gtk::Button *treetogglebutton;  // not used
Gtk::Notebook *notebook; // not used
-   Gtk::Widget *timebar;
+   Gtk::Table *timebar;
Gtk::Button *animatebutton;
Gtk::Button *keyframebutton;
FrameDial *framedial;


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Initial trial of toggle ducks dial. Needs re factoring to toggle buttons and place them in the top of the window .

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: c09ee2ffb936c48edffbce2f86813a72592f724b
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=c09ee2ffb936c48edffbce2f86813a72592f724b

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Wed Jun 24 00:26:45 2009 +0200

Initial trial of toggle ducks dial. Needs re factoring to toggle buttons and 
place them in the top of the window.

---

 synfig-studio/trunk/src/gtkmm/Makefile.am |7 +-
 synfig-studio/trunk/src/gtkmm/canvasview.cpp  |   26 ++-
 synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp |   83 +
 synfig-studio/trunk/src/gtkmm/toggleducksdial.h   |   78 +++
 4 files changed, 190 insertions(+), 4 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/Makefile.am 
b/synfig-studio/trunk/src/gtkmm/Makefile.am
index 39acf8c..42cdd55 100644
--- a/synfig-studio/trunk/src/gtkmm/Makefile.am
+++ b/synfig-studio/trunk/src/gtkmm/Makefile.am
@@ -294,7 +294,8 @@ OTHER_HH = \
workarea.h \
zoomdial.h \
framedial.h \
-   keyframedial.h
+   keyframedial.h \
+   toggleducksdial.h
 
 OTHER_CC = \
main.cpp \
@@ -326,8 +327,8 @@ OTHER_CC = \
workarea.cpp \
zoomdial.cpp \
framedial.cpp \
-   keyframedial.cpp
-
+   keyframedial.cpp \
+   toggleducksdial.cpp
 
 INCLUDES = \
-I$(top_srcdir)/src
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index a3c42cc..64bf34a 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -100,6 +100,7 @@
 #include audiocontainer.h
 #include widget_timeslider.h
 #include keyframedial.h
+#include toggleducksdial.h
 
 #include synfigapp/main.h
 #include synfigapp/inputdevice.h
@@ -1021,7 +1022,29 @@ CanvasView::create_time_bar()
keyframedial-show();
keyframebutton=keyframedial-get_lock_button();
 
-   Gtk::Table *table = manage(new class Gtk::Table(5, 3, false));
+   // Setup the ToggleDuckDial widget
+   ToggleDucksDial *toggleducksdial = Gtk::manage(new class 
ToggleDucksDial());
+   toggleducksdial-signal_ducks_position().connect(
+   sigc::bind(sigc::mem_fun(*this, 
studio::CanvasView::toggle_duck_mask),Duck::TYPE_POSITION)
+   );
+   toggleducksdial-signal_ducks_vertex().connect(
+   sigc::bind(sigc::mem_fun(*this, 
studio::CanvasView::toggle_duck_mask),Duck::TYPE_VERTEX)
+   );
+   toggleducksdial-signal_ducks_tangent().connect(
+   sigc::bind(sigc::mem_fun(*this, 
studio::CanvasView::toggle_duck_mask),Duck::TYPE_TANGENT)
+   );
+   toggleducksdial-signal_ducks_radius().connect(
+   sigc::bind(sigc::mem_fun(*this, 
studio::CanvasView::toggle_duck_mask),Duck::TYPE_RADIUS)
+   );
+   toggleducksdial-signal_ducks_width().connect(
+   sigc::bind(sigc::mem_fun(*this, 
studio::CanvasView::toggle_duck_mask),Duck::TYPE_WIDTH)
+   );
+   toggleducksdial-signal_ducks_angle().connect(
+   sigc::bind(sigc::mem_fun(*this, 
studio::CanvasView::toggle_duck_mask),Duck::TYPE_ANGLE)
+   );
+   toggleducksdial-show();
+
+   Gtk::Table *table = manage(new class Gtk::Table(5, 4, false));
timebar = table;
 
//Attach widgets to the time bar table
@@ -1033,6 +1056,7 @@ CanvasView::create_time_bar()
table-attach(*keyframedial, 3, 4, 1, 2, Gtk::SHRINK, Gtk::SHRINK);
table-attach(*animatebutton, 4, 5, 1, 2, Gtk::SHRINK, Gtk::SHRINK);
//table-attach(*keyframebutton, 1, 2, 3, 4, Gtk::SHRINK, Gtk::SHRINK);
+   table-attach(*toggleducksdial, 0, 5, 0, 1, Gtk::SHRINK, Gtk::SHRINK);
 
 
table-show();
diff --git a/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp 
b/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
new file mode 100644
index 000..b23acde
--- /dev/null
+++ b/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
@@ -0,0 +1,83 @@
+/* === S Y N F I G = */
+/*!\file toggleducksdial.cpp
+** \brief Template File
+**
+** $Id$
+**
+** \legal
+** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+** Copyright (c) 2009 Gerco Ballintijn
+** Copyright (c) 2009 Carlos Lopez
+**
+** This package is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License as
+** published by the Free Software Foundation; either version 2 of
+** the License, or (at your option) any later version.
+**
+** This package is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 

[Synfig-devl] Carlos Lopez : Use toogleducksdial member pointer and do not expose the toggle buttons pointers outide . Create member methods instead

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: b11817a7154a704ce068400f22e7894e2e362ae0
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b11817a7154a704ce068400f22e7894e2e362ae0

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sat Jun 27 09:30:59 2009 +0200

Use toogleducksdial member pointer and do not expose the toggle buttons 
pointers outide. Create member methods instead

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp  |   13 -
 synfig-studio/trunk/src/gtkmm/canvasview.h|2 ++
 synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp |   11 +++
 synfig-studio/trunk/src/gtkmm/toggleducksdial.h   |   10 +++---
 4 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 72ce50a..c7db107 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -100,7 +100,6 @@
 #include audiocontainer.h
 #include widget_timeslider.h
 #include keyframedial.h
-#include toggleducksdial.h
 
 #include synfigapp/main.h
 #include synfigapp/inputdevice.h
@@ -1023,14 +1022,10 @@ CanvasView::create_time_bar()
keyframebutton=keyframedial-get_lock_button();
 
// Setup the ToggleDuckDial widget
-   ToggleDucksDial *toggleducksdial = Gtk::manage(new class 
ToggleDucksDial());
-
-   toggleducksdial-get_position_toggle()- 
set_active(work_area-get_type_mask()Duck::TYPE_POSITION);
-   toggleducksdial-get_vertex_toggle()  - 
set_active(work_area-get_type_mask()Duck::TYPE_VERTEX);
-   toggleducksdial-get_tangent_toggle() - 
set_active(work_area-get_type_mask()Duck::TYPE_TANGENT);
-   toggleducksdial-get_radius_toggle()  - 
set_active(work_area-get_type_mask()Duck::TYPE_RADIUS);
-   toggleducksdial-get_width_toggle()   - 
set_active(work_area-get_type_mask()Duck::TYPE_WIDTH);
-   toggleducksdial-get_angle_toggle()   - 
set_active(work_area-get_type_mask()Duck::TYPE_ANGLE);
+   toggleducksdial = Gtk::manage(new class ToggleDucksDial());
+
+   Duck::Type m = work_area-get_type_mask();
+   toggleducksdial-update_toggles(m);
 
toggleducksdial-signal_ducks_position().connect(
sigc::bind(sigc::mem_fun(*this, 
studio::CanvasView::toggle_duck_mask),Duck::TYPE_POSITION)
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h 
b/synfig-studio/trunk/src/gtkmm/canvasview.h
index 2ed261e..182d3e6 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.h
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.h
@@ -66,6 +66,7 @@
 #include dialog_waypoint.h
 #include dialog_keyframe.h
 #include framedial.h
+#include toggleducksdial.h
 
 #include duckmatic.h
 #include gtkmm/scale.h
@@ -265,6 +266,7 @@ private:
Gtk::Button *animatebutton;
Gtk::Button *keyframebutton;
FrameDial *framedial;
+   ToggleDucksDial *toggleducksdial;
 
 
//! Shows current time and allows edition
diff --git a/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp 
b/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
index 78aeab5..6dd67bc 100644
--- a/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
+++ b/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
@@ -81,3 +81,14 @@ ToggleDucksDial::create_label_button(Gtk::IconSize iconsize, 
const char *label,
 
return tbutton;
 }
+
+void
+ToggleDucksDial::initiate_toggles(Duck::Type mask)
+{
+   ducks_position- set_active((mask  Duck::TYPE_POSITION));
+   ducks_vertex  - set_active((mask  Duck::TYPE_VERTEX));
+   ducks_tangent - set_active((mask  Duck::TYPE_TANGENT));
+   ducks_radius  - set_active((mask  Duck::TYPE_RADIUS));
+   ducks_width   - set_active((mask  Duck::TYPE_WIDTH));
+   ducks_angle   - set_active((mask  Duck::TYPE_ANGLE));
+}
diff --git a/synfig-studio/trunk/src/gtkmm/toggleducksdial.h 
b/synfig-studio/trunk/src/gtkmm/toggleducksdial.h
index d2e50f2..312e3fd 100644
--- a/synfig-studio/trunk/src/gtkmm/toggleducksdial.h
+++ b/synfig-studio/trunk/src/gtkmm/toggleducksdial.h
@@ -33,9 +33,11 @@
 #include gtkmm/tooltips.h
 #include gtkmm/table.h
 #include gtkmm/togglebutton.h
+#include duckmatic.h
 
 #include general.h
 
+
 /* === M A C R O S = */
 
 /* === T Y P E D E F S = */
@@ -61,6 +63,7 @@ class ToggleDucksDial : public Gtk::Table
 public:
 
ToggleDucksDial();
+   void initiate_toggles(Duck::Type mask);
Glib::SignalProxy0void signal_ducks_position()  { return 
ducks_position-signal_toggled(); }
Glib::SignalProxy0void signal_ducks_vertex(){ return 
ducks_vertex-  signal_toggled(); }
Glib::SignalProxy0void signal_ducks_tangent()   { return 
ducks_tangent- signal_toggled(); }
@@ -68,13 +71,6 @@ public:
Glib::SignalProxy0void signal_ducks_width() { return 
ducks_width-   signal_toggled(); }

[Synfig-devl] Carlos Lopez : Add render quality spin button. WIP

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 4a5036c12bc268713be0509278c9b303c953e02b
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=4a5036c12bc268713be0509278c9b303c953e02b

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 28 19:55:36 2009 +0200

Add render quality spin button. WIP

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   33 ++
 synfig-studio/trunk/src/gtkmm/canvasview.h   |8 -
 2 files changed, 34 insertions(+), 7 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 5f3e389..7e77704 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -683,6 +683,7 @@ CanvasView::CanvasView(etl::loose_handleInstance 
instance,etl::handlesynfigap
//keyframe_tree_store_  (KeyframeTreeStore::create(canvas_interface_)),
time_adjustment_(0,0,25,0,0,0),
time_window_adjustment_ (0,0,25,0,0,0),
+   quality_adjustment_ (8,1,10,1,1,0),
statusbar   (manage(new class 
Gtk::Statusbar())),
 
timeslider  (new Widget_Timeslider),
@@ -707,6 +708,7 @@ CanvasView::CanvasView(etl::loose_handleInstance 
instance,etl::handlesynfigap
duck_refresh_flag=true;
toggling_ducks_=false;
changing_resolution_=false;
+   updating_quality_=false;
 
smach_.set_default_state(state_normal);
 
@@ -1100,7 +1102,7 @@ CanvasView::create_status_bar()
 Gtk::Widget*
 CanvasView::create_display_bar()
 {
-   displaybar = manage(new class Gtk::Table(1, 3, false));
+   displaybar = manage(new class Gtk::Table(1, 5, false));
 
// Setup the ToggleDuckDial widget
toggleducksdial = Gtk::manage(new class ToggleDucksDial());
@@ -1141,12 +1143,23 @@ CanvasView::create_display_bar()
resolutiondial-show();
 
// Set up a separator
-   Gtk::VSeparator *separator = Gtk::manage(new class Gtk::VSeparator());
-   separator-show();
+   Gtk::VSeparator *separator1 = Gtk::manage(new class Gtk::VSeparator());
+   separator1-show();
+   Gtk::VSeparator *separator2 = Gtk::manage(new class Gtk::VSeparator());
+   separator2-show();
+
+   // Set up quality spin button
+   quality_spin=Gtk::manage(new class 
Gtk::SpinButton(quality_adjustment_));
+   quality_spin-signal_value_changed().connect(
+   sigc::mem_fun(*this, 
studio::CanvasView::update_quality));
+   quality_spin-show();
 
-   displaybar-attach(*resolutiondial, 2, 3, 0, 1, Gtk::SHRINK, 
Gtk::SHRINK);
displaybar-attach(*toggleducksdial, 0, 1, 0, 1, Gtk::SHRINK, 
Gtk::SHRINK);
-   displaybar-attach(*separator, 1, 2, 0, 1, Gtk::FILL, Gtk::FILL);
+   displaybar-attach(*separator1, 1, 2, 0, 1, Gtk::FILL, Gtk::FILL);
+   displaybar-attach(*resolutiondial, 2, 3, 0, 1, Gtk::SHRINK, 
Gtk::SHRINK);
+   displaybar-attach(*separator2, 3, 4, 0, 1, Gtk::FILL, Gtk::FILL);
+   displaybar-attach(*quality_spin, 4, 5, 0, 1, Gtk::SHRINK, Gtk::SHRINK);
+
displaybar-show();
 
return displaybar;
@@ -3172,6 +3185,16 @@ CanvasView::toggle_low_res_pixel_flag()
 }
 
 void
+CanvasView::update_quality()
+{
+   if(updating_quality_)
+   return;
+   updating_quality_=true;
+   work_area-set_quality((int) quality_spin-get_value());
+   updating_quality_=false;
+}
+
+void
 CanvasView::on_dirty_preview()
 {
if(!is_playing_)
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h 
b/synfig-studio/trunk/src/gtkmm/canvasview.h
index ea3fae7..aa43bb8 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.h
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.h
@@ -41,6 +41,7 @@
 #include gtkmm/scrolledwindow.h
 #include gtkmm/notebook.h
 #include gdkmm/device.h
+#include gtkmm/spinbutton.h
 
 #include synfigapp/canvasinterface.h
 #include synfigapp/selectionmanager.h
@@ -272,8 +273,9 @@ private:
bool toggling_ducks_;
ResolutionDial *resolutiondial;
bool changing_resolution_;
-
-
+   Gtk::Adjustment quality_adjustment_;
+   Gtk::SpinButton *quality_spin;
+   bool updating_quality_;
//! Shows current time and allows edition
Widget_Time *current_time_widget;
void on_current_time_widget_changed();
@@ -606,6 +608,8 @@ public:
 
bool is_playing() { return is_playing_; }
 
+   void update_quality();
+
/*
  -- ** -- S I G N A L   T E R M I N A L S -
*/


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Add a separator between toggle ducks and low res dials

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: fb20cf41b1fa50d2c1dad398f23431e3dd719638
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=fb20cf41b1fa50d2c1dad398f23431e3dd719638

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 28 18:36:52 2009 +0200

Add a separator between toggle ducks and low res dials

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   11 ---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index f67e22a..5f3e389 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -41,6 +41,7 @@
 #include gtkmm/messagedialog.h
 #include gtkmm/treemodelsort.h
 #include gtkmm/buttonbox.h
+#include gtkmm/separator.h
 
 #include gtk/gtktreestore.h
 #include gtk/gtkversion.h
@@ -1099,7 +1100,7 @@ CanvasView::create_status_bar()
 Gtk::Widget*
 CanvasView::create_display_bar()
 {
-   displaybar = manage(new class Gtk::Table(1, 1, false));
+   displaybar = manage(new class Gtk::Table(1, 3, false));
 
// Setup the ToggleDuckDial widget
toggleducksdial = Gtk::manage(new class ToggleDucksDial());
@@ -1128,7 +1129,6 @@ CanvasView::create_display_bar()
toggleducksdial-show();
 
// Set up the ResolutionDial widget
-
resolutiondial=Gtk::manage(new class ResolutionDial());
 
resolutiondial-update_lowres(work_area-get_low_resolution_flag());
@@ -1140,8 +1140,13 @@ CanvasView::create_display_bar()
sigc::mem_fun(*this, 
studio::CanvasView::toggle_low_res_pixel_flag));
resolutiondial-show();
 
-   displaybar-attach(*resolutiondial, 1, 2, 0, 1, Gtk::SHRINK, 
Gtk::SHRINK);
+   // Set up a separator
+   Gtk::VSeparator *separator = Gtk::manage(new class Gtk::VSeparator());
+   separator-show();
+
+   displaybar-attach(*resolutiondial, 2, 3, 0, 1, Gtk::SHRINK, 
Gtk::SHRINK);
displaybar-attach(*toggleducksdial, 0, 1, 0, 1, Gtk::SHRINK, 
Gtk::SHRINK);
+   displaybar-attach(*separator, 1, 2, 0, 1, Gtk::FILL, Gtk::FILL);
displaybar-show();
 
return displaybar;


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Add tooltip to the quality spin button.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: c49dae0c6004d96ce5b3c6daf937b0c2d1ebde1f
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=c49dae0c6004d96ce5b3c6daf937b0c2d1ebde1f

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 29 00:28:21 2009 +0200

Add tooltip to the quality spin button.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 87b4222..3fe39e7 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -1152,6 +1152,7 @@ CanvasView::create_display_bar()
quality_spin=Gtk::manage(new class 
Gtk::SpinButton(quality_adjustment_));
quality_spin-signal_value_changed().connect(
sigc::mem_fun(*this, 
studio::CanvasView::update_quality));
+   tooltips.set_tip(*quality_spin, _(Quality (lower is better)));
quality_spin-show();
 
displaybar-attach(*toggleducksdial, 0, 1, 0, 1, Gtk::SHRINK, 
Gtk::SHRINK);


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Synchronise toggle buttons with keyboard and menu actions.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 7b90fa6d64864aba582c3e8d4e0f2e8add8bd6c5
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=7b90fa6d64864aba582c3e8d4e0f2e8add8bd6c5

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sat Jun 27 10:20:11 2009 +0200

Synchronise toggle buttons with keyboard and menu actions.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp  |   13 +
 synfig-studio/trunk/src/gtkmm/canvasview.h|1 +
 synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp |2 +-
 synfig-studio/trunk/src/gtkmm/toggleducksdial.h   |2 +-
 4 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index c7db107..2207d24 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -704,6 +704,7 @@ CanvasView::CanvasView(etl::loose_handleInstance 
instance,etl::handlesynfigap
layer_tree=0;
children_tree=0;
duck_refresh_flag=true;
+   toggling_ducks_=false;
 
smach_.set_default_state(state_normal);
 
@@ -3660,6 +3661,9 @@ CanvasView::on_keyframe_remove_pressed()
 void
 CanvasView::toggle_duck_mask(Duckmatic::Type type)
 {
+   if(toggling_ducks_)
+   return;
+   toggling_ducks_=true;
bool is_currently_on(work_area-get_type_mask()type);
 
if(is_currently_on)
@@ -3668,6 +3672,15 @@ CanvasView::toggle_duck_mask(Duckmatic::Type type)
work_area-set_type_mask(work_area-get_type_mask()|type);
 
work_area-queue_draw();
+   try
+   {
+   toggleducksdial-update_toggles(work_area-get_type_mask());
+   }
+   catch(...)
+   {
+   toggling_ducks_=false;
+   }
+   toggling_ducks_=false;
 }
 
 void
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h 
b/synfig-studio/trunk/src/gtkmm/canvasview.h
index 182d3e6..826c8ea 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.h
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.h
@@ -267,6 +267,7 @@ private:
Gtk::Button *keyframebutton;
FrameDial *framedial;
ToggleDucksDial *toggleducksdial;
+   bool toggling_ducks_;
 
 
//! Shows current time and allows edition
diff --git a/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp 
b/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
index 6dd67bc..8e07816 100644
--- a/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
+++ b/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
@@ -83,7 +83,7 @@ ToggleDucksDial::create_label_button(Gtk::IconSize iconsize, 
const char *label,
 }
 
 void
-ToggleDucksDial::initiate_toggles(Duck::Type mask)
+ToggleDucksDial::update_toggles(Duck::Type mask)
 {
ducks_position- set_active((mask  Duck::TYPE_POSITION));
ducks_vertex  - set_active((mask  Duck::TYPE_VERTEX));
diff --git a/synfig-studio/trunk/src/gtkmm/toggleducksdial.h 
b/synfig-studio/trunk/src/gtkmm/toggleducksdial.h
index 312e3fd..919b01a 100644
--- a/synfig-studio/trunk/src/gtkmm/toggleducksdial.h
+++ b/synfig-studio/trunk/src/gtkmm/toggleducksdial.h
@@ -63,7 +63,7 @@ class ToggleDucksDial : public Gtk::Table
 public:
 
ToggleDucksDial();
-   void initiate_toggles(Duck::Type mask);
+   void update_toggles(Duck::Type mask);
Glib::SignalProxy0void signal_ducks_position()  { return 
ducks_position-signal_toggled(); }
Glib::SignalProxy0void signal_ducks_vertex(){ return 
ducks_vertex-  signal_toggled(); }
Glib::SignalProxy0void signal_ducks_tangent()   { return 
ducks_tangent- signal_toggled(); }


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Initial version of show grid check button. Needs a proper icon.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: b6011ebece2f8d2df0eab728b6f2b5029836b1fa
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b6011ebece2f8d2df0eab728b6f2b5029836b1fa

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 29 01:41:12 2009 +0200

Initial version of show grid check button. Needs a proper icon.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   32 -
 synfig-studio/trunk/src/gtkmm/canvasview.h   |3 ++
 2 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 3fe39e7..ab500e4 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -709,6 +709,7 @@ CanvasView::CanvasView(etl::loose_handleInstance 
instance,etl::handlesynfigap
toggling_ducks_=false;
changing_resolution_=false;
updating_quality_=false;
+   toggling_show_grid=false;
 
smach_.set_default_state(state_normal);
 
@@ -1102,7 +1103,7 @@ CanvasView::create_status_bar()
 Gtk::Widget*
 CanvasView::create_display_bar()
 {
-   displaybar = manage(new class Gtk::Table(1, 5, false));
+   displaybar = manage(new class Gtk::Table(1, 6, false));
 
// Setup the ToggleDuckDial widget
toggleducksdial = Gtk::manage(new class ToggleDucksDial());
@@ -1155,11 +1156,24 @@ CanvasView::create_display_bar()
tooltips.set_tip(*quality_spin, _(Quality (lower is better)));
quality_spin-show();
 
+   // Set up the show grid check button
+   show_grid = Gtk::manage(new class Gtk::CheckButton());
+   show_grid-set_active(work_area-grid_status());
+   Gtk::Image *icon = manage(new Gtk::Image(Gtk::Stock::REMOVE, 
Gtk::IconSize::from_name(synfig-small_icon)));
+   icon-set_padding(0, 0);
+   icon-show();
+   show_grid-add(*icon);
+   show_grid-signal_toggled().connect(
+   sigc::mem_fun(*this, 
studio::CanvasView::toggle_show_grid));
+   tooltips.set_tip(*show_grid, _(Show grid when enabled));
+   show_grid-show();
+
displaybar-attach(*toggleducksdial, 0, 1, 0, 1, Gtk::SHRINK, 
Gtk::SHRINK);
displaybar-attach(*separator1, 1, 2, 0, 1, Gtk::FILL, Gtk::FILL);
displaybar-attach(*resolutiondial, 2, 3, 0, 1, Gtk::SHRINK, 
Gtk::SHRINK);
displaybar-attach(*separator2, 3, 4, 0, 1, Gtk::FILL, Gtk::FILL);
displaybar-attach(*quality_spin, 4, 5, 0, 1, Gtk::SHRINK, Gtk::SHRINK);
+   displaybar-attach(*show_grid, 5, 6, 0, 1, Gtk::SHRINK, Gtk::SHRINK);
 
displaybar-show();
 
@@ -1475,7 +1489,7 @@ CanvasView::init_menus()
 
grid_show_toggle = 
Gtk::ToggleAction::create(toggle-grid-show, _(Show Grid));
grid_show_toggle-set_active(work_area-grid_status());
-   action_group-add(grid_show_toggle, sigc::mem_fun(*work_area, 
studio::WorkArea::toggle_grid));
+   action_group-add(grid_show_toggle, sigc::mem_fun(*this, 
studio::CanvasView::toggle_show_grid));
 
grid_snap_toggle = 
Gtk::ToggleAction::create(toggle-grid-snap, _(Snap to Grid));
grid_snap_toggle-set_active(work_area-get_grid_snap());
@@ -3213,6 +3227,20 @@ CanvasView::set_quality(int x)
quality_spin-set_value(x);
 }
 
+void
+CanvasView::toggle_show_grid()
+{
+   if(toggling_show_grid)
+   return;
+   toggling_show_grid=true;
+   work_area-toggle_grid();
+   // Update the toggle grid show action
+   set_grid_show_toggle(work_area-grid_status());
+   // Update the toggle grid show check button
+   show_grid-set_active(work_area-grid_status());
+   toggling_show_grid=false;
+}
+
 
 void
 CanvasView::on_dirty_preview()
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h 
b/synfig-studio/trunk/src/gtkmm/canvasview.h
index 2f26d7b..27cc89f 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.h
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.h
@@ -276,6 +276,8 @@ private:
Gtk::Adjustment quality_adjustment_;
Gtk::SpinButton *quality_spin;
bool updating_quality_;
+   Gtk::CheckButton *show_grid;
+   bool toggling_show_grid;
//! Shows current time and allows edition
Widget_Time *current_time_widget;
void on_current_time_widget_changed();
@@ -438,6 +440,7 @@ private:
void increase_low_res_pixel_size();
void toggle_low_res_pixel_flag();
void set_quality(int x);
+   void toggle_show_grid();
 
/*
  -- ** -- P U B L I C   M E T H O D S -


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Update Toggle Ducks Actions when Toggle Ducks Buttons changes.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: c14cfdfa762dafa6cd003efb6d8c8a61d1679c78
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=c14cfdfa762dafa6cd003efb6d8c8a61d1679c78

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 28 16:08:21 2009 +0200

Update Toggle Ducks Actions when Toggle Ducks Buttons changes.
Before this commit the synchronisation was only from actions to buttons and not 
the opposite.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   15 +++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 92882f7..f67e22a 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -3738,6 +3738,21 @@ CanvasView::toggle_duck_mask(Duckmatic::Type type)
work_area-queue_draw();
try
{
+   // Update the toggle ducks actions
+   Glib::RefPtrGtk::ToggleAction action;
+   action = 
Glib::RefPtrGtk::ToggleAction::cast_dynamic(action_group-get_action(mask-position-ducks));
+   
action-set_active((bool)(work_area-get_type_mask()Duck::TYPE_POSITION));
+   action = 
Glib::RefPtrGtk::ToggleAction::cast_dynamic(action_group-get_action(mask-tangent-ducks));
+   
action-set_active((bool)(work_area-get_type_mask()Duck::TYPE_TANGENT));
+   action = 
Glib::RefPtrGtk::ToggleAction::cast_dynamic(action_group-get_action(mask-vertex-ducks));
+   
action-set_active((bool)(work_area-get_type_mask()Duck::TYPE_VERTEX));
+   action = 
Glib::RefPtrGtk::ToggleAction::cast_dynamic(action_group-get_action(mask-radius-ducks));
+   
action-set_active((bool)(work_area-get_type_mask()Duck::TYPE_RADIUS));
+   action = 
Glib::RefPtrGtk::ToggleAction::cast_dynamic(action_group-get_action(mask-width-ducks));
+   
action-set_active((bool)(work_area-get_type_mask()Duck::TYPE_WIDTH));
+   action = 
Glib::RefPtrGtk::ToggleAction::cast_dynamic(action_group-get_action(mask-angle-ducks));
+   
action-set_active((bool)(work_area-get_type_mask()Duck::TYPE_ANGLE));
+   // Update toggle ducks buttons
toggleducksdial-update_toggles(work_area-get_type_mask());
}
catch(...)


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Update copyrights for people who modified the files

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 777b2d8282159de60313dd466c86fb906677350b
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=777b2d8282159de60313dd466c86fb906677350b

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jul  6 13:05:25 2009 +0200

Update copyrights for people who modified the files

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |1 +
 synfig-studio/trunk/src/gtkmm/canvasview.h   |1 +
 synfig-studio/trunk/src/gtkmm/framedial.cpp  |2 ++
 synfig-studio/trunk/src/gtkmm/framedial.h|1 +
 synfig-studio/trunk/src/gtkmm/iconcontroller.cpp |2 ++
 5 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 6fbf6d5..bbc02ca 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -7,6 +7,7 @@
 ** \legal
 ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 ** Copyright (c) 2007, 2008 Chris Moore
+** Copyright (c) 2009 Carlos López
 **
 ** This package is free software; you can redistribute it and/or
 ** modify it under the terms of the GNU General Public License as
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h 
b/synfig-studio/trunk/src/gtkmm/canvasview.h
index 1ac0991..e2b0c9b 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.h
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.h
@@ -7,6 +7,7 @@
 ** \legal
 ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 ** Copyright (c) 2007, 2008 Chris Moore
+** Copyright (c) 2009 Carlos López
 **
 ** This package is free software; you can redistribute it and/or
 ** modify it under the terms of the GNU General Public License as
diff --git a/synfig-studio/trunk/src/gtkmm/framedial.cpp 
b/synfig-studio/trunk/src/gtkmm/framedial.cpp
index 0392f4b..6437930 100644
--- a/synfig-studio/trunk/src/gtkmm/framedial.cpp
+++ b/synfig-studio/trunk/src/gtkmm/framedial.cpp
@@ -6,7 +6,9 @@
 **
 ** \legal
 ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**  Copyright (c) 2008 Chris Moore
 **  Copyright (c) 2009 Gerco Ballintijn
+** Copyright (c) 2009 Carlos López
 **
 ** This package is free software; you can redistribute it and/or
 ** modify it under the terms of the GNU General Public License as
diff --git a/synfig-studio/trunk/src/gtkmm/framedial.h 
b/synfig-studio/trunk/src/gtkmm/framedial.h
index 89dfac3..4fc51ca 100644
--- a/synfig-studio/trunk/src/gtkmm/framedial.h
+++ b/synfig-studio/trunk/src/gtkmm/framedial.h
@@ -8,6 +8,7 @@
 ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **  Copyright (c) 2008 Chris Moore
 **  Copyright (c) 2009 Gerco Ballintijn
+** Copyright (c) 2009 Carlos López
 **
 ** This package is free software; you can redistribute it and/or
 ** modify it under the terms of the GNU General Public License as
diff --git a/synfig-studio/trunk/src/gtkmm/iconcontroller.cpp 
b/synfig-studio/trunk/src/gtkmm/iconcontroller.cpp
index 1ee965d..3a29104 100644
--- a/synfig-studio/trunk/src/gtkmm/iconcontroller.cpp
+++ b/synfig-studio/trunk/src/gtkmm/iconcontroller.cpp
@@ -8,6 +8,8 @@
 ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 ** Copyright (c) 2007, 2008 Chris Moore
 **  Copyright (c) 2008 Paul Wise
+**  Copyright (c) 2009 Gerco Ballintijn
+** Copyright (c) 2009 Carlos López
 **
 ** This package is free software; you can redistribute it and/or
 ** modify it under the terms of the GNU General Public License as


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Add code for multiple onion skins.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 96db5bbae7db6545fbf2a10e903132dbd87bd9a3
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=96db5bbae7db6545fbf2a10e903132dbd87bd9a3

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Wed Jul  8 15:09:50 2009 +0200

Add code for multiple onion skins.

---

 synfig-studio/trunk/src/gtkmm/workarea.cpp |   61 
 synfig-studio/trunk/src/gtkmm/workarea.h   |2 +
 2 files changed, 37 insertions(+), 26 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/workarea.cpp 
b/synfig-studio/trunk/src/gtkmm/workarea.cpp
index 0ebd729..0d1ce1a 100644
--- a/synfig-studio/trunk/src/gtkmm/workarea.cpp
+++ b/synfig-studio/trunk/src/gtkmm/workarea.cpp
@@ -117,7 +117,7 @@ public:
 
synfig::Mutex mutex;
 
-   void set_onion_skin(bool x)
+   void set_onion_skin(bool x, int *onions)
{
onionskin=x;
 
@@ -126,26 +126,29 @@ public:
if(!onionskin)
return;
onion_skin_queue.push_back(time);
-   //onion_skin_queue.push_back(time-1);
-   //onion_skin_queue.push_back(time+1);
+
try
{
-   onion_skin_queue.push_back(
-   get_canvas()-keyframe_list().find_prev(
-   time
-   )-get_time()
-   );
+   Time thistime=time;
+   for(int i=0; ionions[0]; i++)
+   {
+   Time 
keytime=get_canvas()-keyframe_list().find_prev(thistime)-get_time();
+   onion_skin_queue.push_back(keytime);
+   thistime=keytime;
+   }
}
catch(...)
{  }
 
try
{
-   onion_skin_queue.push_back(
-   get_canvas()-keyframe_list().find_next(
-   time
-   )-get_time()
-   );
+   Time thistime=time;
+   for(int i=0; ionions[1]; i++)
+   {
+   Time 
keytime=get_canvas()-keyframe_list().find_next(thistime)-get_time();
+   onion_skin_queue.push_back(keytime);
+   thistime=keytime;
+   }
}
catch(...)
{  }
@@ -414,7 +417,7 @@ public:
 
std::listsynfig::Time onion_skin_queue;
 
-   void set_onion_skin(bool x)
+   void set_onion_skin(bool x, int *onions)
{
onionskin=x;
 
@@ -427,22 +430,26 @@ public:
//onion_skin_queue.push_back(time+1);
try
{
-   onion_skin_queue.push_back(
-   get_canvas()-keyframe_list().find_prev(
-   time
-   )-get_time()
-   );
+   Time thistime=time;
+   for(int i=0; ionions[0]; i++)
+   {
+   Time 
keytime=get_canvas()-keyframe_list().find_prev(thistime)-get_time();
+   onion_skin_queue.push_back(keytime);
+   thistime=keytime;
+   }
}
catch(...)
{  }
 
try
{
-   onion_skin_queue.push_back(
-   get_canvas()-keyframe_list().find_next(
-   time
-   )-get_time()
-   );
+   Time thistime=time;
+   for(int i=0; ionions[1]; i++)
+   {
+   Time 
keytime=get_canvas()-keyframe_list().find_next(thistime)-get_time();
+   onion_skin_queue.push_back(keytime);
+   thistime=keytime;
+   }
}
catch(...)
{  }
@@ -672,6 +679,8 @@ 
WorkArea::WorkArea(etl::loose_handlesynfigapp::CanvasInterface canvas_interfac
ph=0.001;
last_focus_point=Point(0,0);
onion_skin=false;
+   onion_skins[0]=0;
+   onion_skins[1]=2;
queued=false;
dirty_trap_enabled=false;
solid_lines=true;
@@ -2289,7 +2298,7 @@ studio::WorkArea::async_update_preview()
handleWorkAreaTarget trgt(new class WorkAreaTarget(this,w,h));
 
trgt-set_rend_desc(desc);
-   trgt-set_onion_skin(get_onion_skin());
+   trgt-set_onion_skin(get_onion_skin(), onion_skins);
target=trgt;
}
else
@@ -2298,7 +2307,7 @@ 

[Synfig-devl] Carlos Lopez : Fix two mistakes in the tooltips

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 4f78a97e958c881f15cbfdc5ca133d8c1aa25896
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=4f78a97e958c881f15cbfdc5ca133d8c1aa25896

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Wed Jul  8 17:41:23 2009 +0200

Fix two mistakes in the tooltips

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 34fc7bd..6f3719c 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -1183,7 +1183,7 @@ CanvasView::create_display_bar()
snap_grid-add(*icon2);
snap_grid-signal_toggled().connect(
sigc::mem_fun(*this, 
studio::CanvasView::toggle_snap_grid));
-   tooltips.set_tip(*snap_grid, _(snap grid when enabled));
+   tooltips.set_tip(*snap_grid, _(Snap grid when enabled));
snap_grid-set_relief(Gtk::RELIEF_NONE);
snap_grid-show();
 
@@ -1196,7 +1196,7 @@ CanvasView::create_display_bar()
onion_skin-add(*icon3);
onion_skin-signal_toggled().connect(
sigc::mem_fun(*this, 
studio::CanvasView::toggle_onion_skin));
-   tooltips.set_tip(*snap_grid, _(Shows onion skin when enabled));
+   tooltips.set_tip(*onion_skin, _(Shows onion skin when enabled));
onion_skin-set_relief(Gtk::RELIEF_NONE);
onion_skin-show();
 


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Fix quality spin button feedback. It didn' t update the actions before.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 2a0be61cd8ecbabc8e4103b16f6450eddb8bdd13
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=2a0be61cd8ecbabc8e4103b16f6450eddb8bdd13

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Wed Jul  8 17:57:02 2009 +0200

Fix quality spin button feedback. It didn't update the actions before.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 6f3719c..4a555a8 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -3253,8 +3253,8 @@ CanvasView::toggle_low_res_pixel_flag()
 void
 CanvasView::update_quality()
 {
-   if(working_depth)
-   return;
+   //if(working_depth)
+   //  return;
if(updating_quality_)
return;
updating_quality_=true;


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Change the relief status of the toggle duck buttons

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: a2b6a6c79dfde84f0bc07a8674da399b1ae6f683
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=a2b6a6c79dfde84f0bc07a8674da399b1ae6f683

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 28 18:39:30 2009 +0200

Change the relief status of the toggle duck buttons

---

 synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp 
b/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
index 5474a8b..3f1230a 100644
--- a/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
+++ b/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
@@ -79,6 +79,7 @@ ToggleDucksDial::create_label_button(Gtk::IconSize iconsize, 
const char *stockid
tbutton-add(*icon);
icon-set_padding(0, 0);
icon-show();
+   tbutton-set_relief(Gtk::RELIEF_NONE);
tbutton-show();
 
return tbutton;


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Synchronise quality spin button and quality action radio buttons.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: d299430eb47c770495cb84e0832073a25ea0268f
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=d299430eb47c770495cb84e0832073a25ea0268f

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 29 00:11:51 2009 +0200

Synchronise quality spin button and quality action radio buttons.
Do not set insensitive the spin button when working depth is true.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   24 ++--
 synfig-studio/trunk/src/gtkmm/canvasview.h   |1 +
 2 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 0d1112b..87b4222 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -1423,7 +1423,7 @@ CanvasView::init_menus()
}
action_group-add( action,
sigc::bind(
-   sigc::mem_fun(*work_area, 
studio::WorkArea::set_quality),
+   sigc::mem_fun(*this, 
studio::CanvasView::set_quality),
i
)
);
@@ -3188,20 +3188,32 @@ void
 CanvasView::update_quality()
 {
if(working_depth)
-   {
-   quality_spin-set_sensitive(false);
return;
-   }
-   else
-   quality_spin-set_sensitive(true);
if(updating_quality_)
return;
updating_quality_=true;
work_area-set_quality((int) quality_spin-get_value());
+   // Update Quality Radio actions
+   Glib::RefPtrGtk::RadioAction 
action=Glib::RefPtrGtk::RadioAction::cast_dynamic(
+   action_group-get_action(strprintf(quality-%02d,(int) 
quality_spin-get_value()))
+   );
+   action-set_active();
+
updating_quality_=false;
 }
 
 void
+CanvasView::set_quality(int x)
+{
+   if(updating_quality_)
+   return;
+   work_area-set_quality(x);
+   // Update the quality spin button
+   quality_spin-set_value(x);
+}
+
+
+void
 CanvasView::on_dirty_preview()
 {
if(!is_playing_)
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h 
b/synfig-studio/trunk/src/gtkmm/canvasview.h
index aa43bb8..2f26d7b 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.h
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.h
@@ -437,6 +437,7 @@ private:
void decrease_low_res_pixel_size();
void increase_low_res_pixel_size();
void toggle_low_res_pixel_flag();
+   void set_quality(int x);
 
/*
  -- ** -- P U B L I C   M E T H O D S -


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Add snap grid toggle button with proper icon.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: d845287cb7b04975efb055cbebcd94074b9b42ca
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=d845287cb7b04975efb055cbebcd94074b9b42ca

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 29 12:38:24 2009 +0200

Add snap grid toggle button with proper icon.
Add proper show grid icon.

---

 synfig-studio/trunk/images/Makefile.am   |8 +-
 synfig-studio/trunk/images/show_grid_icon.sif| 1155 ++
 synfig-studio/trunk/images/snap_grid_icon.sif| 1155 ++
 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   42 +-
 synfig-studio/trunk/src/gtkmm/canvasview.h   |5 +-
 synfig-studio/trunk/src/gtkmm/iconcontroller.cpp |3 +
 6 files changed, 2360 insertions(+), 8 deletions(-)

Diff:   
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commitdiff;h=d845287cb7b04975efb055cbebcd94074b9b42ca

--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Add onion skin icon, and two spin buttons to control past and future onion skins

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 6c1f083296e18ba4f16a9b80d2369d9a4272eb12
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=6c1f083296e18ba4f16a9b80d2369d9a4272eb12

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Wed Jul  8 17:37:27 2009 +0200

Add onion skin icon, and two spin buttons to control past and future onion skins

---

 synfig-studio/trunk/images/Makefile.am   |6 +-
 synfig-studio/trunk/images/onion_skin_icon.sif   | 3897 ++
 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   61 +-
 synfig-studio/trunk/src/gtkmm/canvasview.h   |   10 +
 synfig-studio/trunk/src/gtkmm/iconcontroller.cpp |2 +
 synfig-studio/trunk/src/gtkmm/workarea.cpp   |   10 +-
 synfig-studio/trunk/src/gtkmm/workarea.h |1 +
 7 files changed, 3982 insertions(+), 5 deletions(-)

Diff:   
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commitdiff;h=6c1f083296e18ba4f16a9b80d2369d9a4272eb12

--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Add a member to check if the value node is invertible

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: fb6a93cf220f019cc2128e3b076f9094aa7b463f
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=fb6a93cf220f019cc2128e3b076f9094aa7b463f

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Tue Jul  7 01:49:30 2009 +0200

Add a member to check if the value node is invertible
and a member to calculate the inverse. Code in studio
is more independent on core modifications.

---

 synfig-core/trunk/src/synfig/valuenode_scale.cpp |   47 +
 synfig-core/trunk/src/synfig/valuenode_scale.h   |5 ++-
 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   20 +-
 3 files changed, 61 insertions(+), 11 deletions(-)

diff --git a/synfig-core/trunk/src/synfig/valuenode_scale.cpp 
b/synfig-core/trunk/src/synfig/valuenode_scale.cpp
index 25b3822..b272d7d 100644
--- a/synfig-core/trunk/src/synfig/valuenode_scale.cpp
+++ b/synfig-core/trunk/src/synfig/valuenode_scale.cpp
@@ -142,20 +142,49 @@ synfig::ValueNode_Scale::operator()(Time t)const
 }
 
 synfig::ValueBase
-synfig::ValueNode_Scale::operator()(Time t, const synfig::Point 
target_value)const
+synfig::ValueNode_Scale::get_inverse(Time t, const synfig::Vector 
target_value) const
 {
Real scalar_value((*scalar)(t).get(Real()));
if(scalar_value==0)
-   return (*value_node)(t).get(value_node-get_type());
-   switch (get_type())
-   case ValueBase::TYPE_REAL:
-   return target_value.mag() / scalar_value;
-   case ValueBase::TYPE_ANGLE:
-   return Angle::tan(target_value[1] / scalar_value 
,target_value[0] / scalar_value);
-   default:
-   return target_value / scalar_value;
+   throw runtime_error(strprintf(ValueNode_Scale: 
%s,_(Attempting to get the inverse of a non invertible Valuenode)));
+   else
+   {
+   switch (get_type())
+   {
+   case ValueBase::TYPE_REAL:
+   return target_value.mag() / 
scalar_value;
+   case ValueBase::TYPE_ANGLE:
+   return Angle::tan(target_value[1] / 
scalar_value ,target_value[0] / scalar_value);
+   default:
+   return target_value / scalar_value;
+   }
+   }
+   return ValueBase();
 }
 
+synfig::ValueBase
+synfig::ValueNode_Scale::get_inverse(Time t, const synfig::Angle 
target_value) const
+{
+   Real scalar_value((*scalar)(t).get(Real()));
+   if(scalar_value==0)
+   throw runtime_error(strprintf(ValueNode_Scale: 
%s,_(Attempting to get the inverse of a non invertible Valuenode)));
+   else
+   {
+   switch (get_type())
+   {
+   default:
+   return (*value_node)(t).get(Angle()) + 
target_value / scalar_value;
+   }
+   }
+   return ValueBase();
+}
+
+bool
+synfig::ValueNode_Scale::is_invertible(Time t) const
+{
+   Real scalar_value((*scalar)(t).get(Real()));
+   return (!scalar_value==0);
+}
 
 bool
 ValueNode_Scale::set_link_vfunc(int i,ValueNode::Handle value)
diff --git a/synfig-core/trunk/src/synfig/valuenode_scale.h 
b/synfig-core/trunk/src/synfig/valuenode_scale.h
index a11f6e0..fba1aa0 100644
--- a/synfig-core/trunk/src/synfig/valuenode_scale.h
+++ b/synfig-core/trunk/src/synfig/valuenode_scale.h
@@ -65,7 +65,10 @@ public:
virtual ValueBase operator()(Time t)const;
 
//! Returns the modified Link to match the target value at time t
-   virtual ValueBase operator()(Time t, const synfig::Point target_value) 
const;
+   ValueBase get_inverse(Time t, const synfig::Vector target_value) const;
+   ValueBase get_inverse(Time t, const synfig::Angle target_value) const;
+
+   bool is_invertible(Time t)const;
 
virtual String get_name()const;
 
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 50789a9..a76b1a0 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -2890,7 +2890,13 @@ CanvasView::on_duck_changed(const synfig::Point 
value,const synfigapp::ValueDes
if (ValueNode_Scale::Handle scale_value_node = 
ValueNode_Scale::Handle::cast_dynamic(value_desc.get_value_node()))
{
int 
link_index(scale_value_node-get_link_index_from_name(link));
-   return 
canvas_interface()-change_value(synfigapp::ValueDesc(scale_value_node,link_index),
 scale_value_node(t, value));
+   if(scale_value_node-is_invertible(get_time()))
+   return canvas_interface()-change_value(
+   

[Synfig-devl] pxegeek : Correcting 'Toogle' spelling mistake on tooltips - Chris Norman

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: b276de9343a3cc69c8651abcc82e489302b2ece1
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b276de9343a3cc69c8651abcc82e489302b2ece1

Author: pxegeek pxe.g...@gmail.com
Date:   Wed Jul 15 17:48:38 2009 -0700

Correcting 'Toogle' spelling mistake on tooltips - Chris Norman

---

 synfig-studio/trunk/src/gtkmm/iconcontroller.cpp  |   12 ++--
 synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp |   12 ++--
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/iconcontroller.cpp 
b/synfig-studio/trunk/src/gtkmm/iconcontroller.cpp
index 8af9357..05301a7 100644
--- a/synfig-studio/trunk/src/gtkmm/iconcontroller.cpp
+++ b/synfig-studio/trunk/src/gtkmm/iconcontroller.cpp
@@ -195,12 +195,12 @@ IconController::IconController(const synfig::String 
/*basepath*/)
INIT_STOCK_ICON(seek_next_frame,seek_next_frame.IMAGE_EXT,_(Next 
Frame));
INIT_STOCK_ICON(seek_end,seek_end.IMAGE_EXT,_(Seek to End));
 
-   
INIT_STOCK_ICON(toggle_duck_position,duck_position_icon.IMAGE_EXT,_(Toogle 
position ducks));
-   
INIT_STOCK_ICON(toggle_duck_vertex,duck_vertex_icon.IMAGE_EXT,_(Toogle 
vertex ducks));
-   
INIT_STOCK_ICON(toggle_duck_tangent,duck_tangent_icon.IMAGE_EXT,_(Toogle 
tangent ducks));
-   
INIT_STOCK_ICON(toggle_duck_radius,duck_radius_icon.IMAGE_EXT,_(Toogle 
radius ducks));
-   INIT_STOCK_ICON(toggle_duck_width,duck_width_icon.IMAGE_EXT,_(Toogle 
width ducks));
-   INIT_STOCK_ICON(toggle_duck_angle,duck_angle_icon.IMAGE_EXT,_(Toogle 
angle ducks));
+   
INIT_STOCK_ICON(toggle_duck_position,duck_position_icon.IMAGE_EXT,_(Toggle 
position ducks));
+   
INIT_STOCK_ICON(toggle_duck_vertex,duck_vertex_icon.IMAGE_EXT,_(Toggle 
vertex ducks));
+   
INIT_STOCK_ICON(toggle_duck_tangent,duck_tangent_icon.IMAGE_EXT,_(Toggle 
tangent ducks));
+   
INIT_STOCK_ICON(toggle_duck_radius,duck_radius_icon.IMAGE_EXT,_(Toggle 
radius ducks));
+   INIT_STOCK_ICON(toggle_duck_width,duck_width_icon.IMAGE_EXT,_(Toggle 
width ducks));
+   INIT_STOCK_ICON(toggle_duck_angle,duck_angle_icon.IMAGE_EXT,_(Toggle 
angle ducks));
 
INIT_STOCK_ICON(toggle_show_grid,show_grid_icon.IMAGE_EXT,_(Toggle 
show grid));
INIT_STOCK_ICON(toggle_snap_grid,snap_grid_icon.IMAGE_EXT,_(Toggle 
snap grid));
diff --git a/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp 
b/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
index 3f1230a..358923a 100644
--- a/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
+++ b/synfig-studio/trunk/src/gtkmm/toggleducksdial.cpp
@@ -54,12 +54,12 @@ ToggleDucksDial::ToggleDucksDial(): Gtk::Table(1, 6, false)
 {
Gtk::IconSize iconsize = Gtk::IconSize::from_name(synfig-small_icon);
 
-   ducks_position = create_label_button(iconsize, 
synfig-toggle_duck_position, _(Toogle position ducks));
-   ducks_vertex = create_label_button(iconsize, 
synfig-toggle_duck_vertex, _(Toogle vertex ducks));
-   ducks_tangent = create_label_button(iconsize, 
synfig-toggle_duck_tangent, _(Toogle tangent ducks));
-   ducks_radius = create_label_button(iconsize, 
synfig-toggle_duck_radius, _(Toogle radius ducks));
-   ducks_width = create_label_button(iconsize, synfig-toggle_duck_width, 
_(Toogle width ducks));
-   ducks_angle = create_label_button(iconsize, synfig-toggle_duck_angle, 
_(Toogle angle ducks));
+   ducks_position = create_label_button(iconsize, 
synfig-toggle_duck_position, _(Toggle position ducks));
+   ducks_vertex = create_label_button(iconsize, 
synfig-toggle_duck_vertex, _(Toggle vertex ducks));
+   ducks_tangent = create_label_button(iconsize, 
synfig-toggle_duck_tangent, _(Toggle tangent ducks));
+   ducks_radius = create_label_button(iconsize, 
synfig-toggle_duck_radius, _(Toggle radius ducks));
+   ducks_width = create_label_button(iconsize, synfig-toggle_duck_width, 
_(Toggle width ducks));
+   ducks_angle = create_label_button(iconsize, synfig-toggle_duck_angle, 
_(Toggle angle ducks));
 
attach(*ducks_position, 0, 1, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
attach(*ducks_vertex, 1, 2, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Document code

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: b03d9da72c356e9187a9d707de6fc5ea953b604a
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b03d9da72c356e9187a9d707de6fc5ea953b604a

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Wed Jul 15 17:23:49 2009 +0200

Document code

---

 synfig-studio/trunk/src/gtkmm/widget_gradient.cpp |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/widget_gradient.cpp 
b/synfig-studio/trunk/src/gtkmm/widget_gradient.cpp
index 596feda..c964599 100644
--- a/synfig-studio/trunk/src/gtkmm/widget_gradient.cpp
+++ b/synfig-studio/trunk/src/gtkmm/widget_gradient.cpp
@@ -297,7 +297,7 @@ Widget_Gradient::on_event(GdkEvent *event)
{
if(!gradient_.size()) return true;
Gradient::iterator 
iter(gradient_.find(selected_cpoint));
-
+   //! Use SHIFT to stack two CPoints together.
if(event-button.stateGDK_SHIFT_MASK)
{
float begin(-1),end(1);


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Refresh curves widget after clear it to not show inconsistent curves.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 44ab8432eb1a1e3c0bbcef8ac1fbe7a5cdcaedc8
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=44ab8432eb1a1e3c0bbcef8ac1fbe7a5cdcaedc8

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Thu Jul 16 00:18:58 2009 +0200

Refresh curves widget after clear it to not show inconsistent curves.

---

 synfig-studio/trunk/src/gtkmm/dock_curves.cpp |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/dock_curves.cpp 
b/synfig-studio/trunk/src/gtkmm/dock_curves.cpp
index bc1a73c..9268fc2 100644
--- a/synfig-studio/trunk/src/gtkmm/dock_curves.cpp
+++ b/synfig-studio/trunk/src/gtkmm/dock_curves.cpp
@@ -93,6 +93,7 @@ _curve_selection_changed(Gtk::TreeView* 
param_tree_view,Widget_Curves* curves)
if(!param_tree_view-get_selection()-count_selected_rows())
{
curves-clear();
+   curves-refresh();
return;
}
 


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Code documentation.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 6260e2951bc2d219c0fa079e8c66d6e5c98889dc
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=6260e2951bc2d219c0fa079e8c66d6e5c98889dc

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Wed Jul 15 16:08:39 2009 +0200

Code documentation.

---

 synfig-studio/trunk/src/gtkmm/dialog_gradient.h |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/dialog_gradient.h 
b/synfig-studio/trunk/src/gtkmm/dialog_gradient.h
index c681dac..f9d674c 100644
--- a/synfig-studio/trunk/src/gtkmm/dialog_gradient.h
+++ b/synfig-studio/trunk/src/gtkmm/dialog_gradient.h
@@ -105,7 +105,8 @@ public:
 
Dialog_Gradient();
~Dialog_Gradient();
-
+   //! Inerface to external calls to fill in the Gradient Editor Dialog
+   //! when a Constant ValueNode or a Animated ValueNode is double cliked.
void edit(const synfigapp::ValueDesc x, 
etl::handlesynfigapp::CanvasInterface canvas_interface, synfig::Time time=0);
 }; // END of Dialog_Gradient
 


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Simplified version for reverse manipulation Scale convert types ducks

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 9ff670a60001e455fa506f6b6292300e8d1cec8f
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=9ff670a60001e455fa506f6b6292300e8d1cec8f

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jul  6 16:02:03 2009 +0200

Simplified version for reverse manipulation Scale convert types ducks

---

 synfig-core/trunk/src/synfig/valuenode_scale.cpp |   15 +++
 synfig-core/trunk/src/synfig/valuenode_scale.h   |3 +++
 synfig-studio/trunk/src/gtkmm/canvasview.cpp |6 ++
 synfig-studio/trunk/src/synfigapp/instance.cpp   |2 ++
 4 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/synfig-core/trunk/src/synfig/valuenode_scale.cpp 
b/synfig-core/trunk/src/synfig/valuenode_scale.cpp
index a0bba53..25b3822 100644
--- a/synfig-core/trunk/src/synfig/valuenode_scale.cpp
+++ b/synfig-core/trunk/src/synfig/valuenode_scale.cpp
@@ -141,6 +141,21 @@ synfig::ValueNode_Scale::operator()(Time t)const
return ValueBase();
 }
 
+synfig::ValueBase
+synfig::ValueNode_Scale::operator()(Time t, const synfig::Point 
target_value)const
+{
+   Real scalar_value((*scalar)(t).get(Real()));
+   if(scalar_value==0)
+   return (*value_node)(t).get(value_node-get_type());
+   switch (get_type())
+   case ValueBase::TYPE_REAL:
+   return target_value.mag() / scalar_value;
+   case ValueBase::TYPE_ANGLE:
+   return Angle::tan(target_value[1] / scalar_value 
,target_value[0] / scalar_value);
+   default:
+   return target_value / scalar_value;
+}
+
 
 bool
 ValueNode_Scale::set_link_vfunc(int i,ValueNode::Handle value)
diff --git a/synfig-core/trunk/src/synfig/valuenode_scale.h 
b/synfig-core/trunk/src/synfig/valuenode_scale.h
index bb1ccd0..a11f6e0 100644
--- a/synfig-core/trunk/src/synfig/valuenode_scale.h
+++ b/synfig-core/trunk/src/synfig/valuenode_scale.h
@@ -64,6 +64,9 @@ public:
 
virtual ValueBase operator()(Time t)const;
 
+   //! Returns the modified Link to match the target value at time t
+   virtual ValueBase operator()(Time t, const synfig::Point target_value) 
const;
+
virtual String get_name()const;
 
virtual String get_local_name()const;
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 4a555a8..50789a9 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -2887,6 +2887,12 @@ CanvasView::on_duck_changed(const synfig::Point 
value,const synfigapp::ValueDes
}
}
 
+   if (ValueNode_Scale::Handle scale_value_node = 
ValueNode_Scale::Handle::cast_dynamic(value_desc.get_value_node()))
+   {
+   int 
link_index(scale_value_node-get_link_index_from_name(link));
+   return 
canvas_interface()-change_value(synfigapp::ValueDesc(scale_value_node,link_index),
 scale_value_node(t, value));
+   }
+
switch(value_desc.get_value_type())
{
case ValueBase::TYPE_REAL:
diff --git a/synfig-studio/trunk/src/synfigapp/instance.cpp 
b/synfig-studio/trunk/src/synfigapp/instance.cpp
index 020d337..c3c542b 100644
--- a/synfig-studio/trunk/src/synfigapp/instance.cpp
+++ b/synfig-studio/trunk/src/synfigapp/instance.cpp
@@ -42,6 +42,7 @@
 #include synfig/valuenode_blinecalctangent.h
 #include synfig/valuenode_blinecalcvertex.h
 #include synfig/valuenode_blinecalcwidth.h
+#include synfig/valuenode_scale.h
 #include map
 
 #include general.h
@@ -74,6 +75,7 @@ synfigapp::is_editable(synfig::ValueNode::Handle value_node)
|| ValueNode_BLineCalcVertex::Handle::cast_dynamic(value_node)
|| ValueNode_BLineCalcTangent::Handle::cast_dynamic(value_node)
|| ValueNode_BLineCalcWidth::Handle::cast_dynamic(value_node)
+   || ValueNode_Scale::Handle::cast_dynamic(value_node)
)
return true;
return false;


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Add keyframe mark in the curves dock dialogue when it exists .

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 309ed1f5a3ab11376662015494c760d6e822bddd
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=309ed1f5a3ab11376662015494c760d6e822bddd

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Thu Jul 16 01:07:33 2009 +0200

Add keyframe mark in the curves dock dialogue when it exists.

---

 synfig-studio/trunk/src/gtkmm/widget_curves.cpp |   22 ++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/widget_curves.cpp 
b/synfig-studio/trunk/src/gtkmm/widget_curves.cpp
index 9375880..efd2cd1 100644
--- a/synfig-studio/trunk/src/gtkmm/widget_curves.cpp
+++ b/synfig-studio/trunk/src/gtkmm/widget_curves.cpp
@@ -501,6 +501,28 @@ Widget_Curves::redraw(GdkEventExpose */*bleh*/)
gc-set_rgb_fg_color(Gdk::Color(#ff)); // It should be user 
selectable
get_window()-draw_rectangle(gc, false, 
round_to_int((time_adjustment_-get_value()-t_begin)/dt), 0, 0, h);
 
+   // This is not the best solution but I guess that if the first valuenode
+   // has canvas then show the keyframes. Maybe I can loop all them until 
I find
+   // a valid canvas and use it for look to the keyframes.
+   synfig::Canvas::Handle 
canvas(curve_list_.begin()-value_desc.get_canvas());
+   if(canvas)
+   {
+   const synfig::KeyframeList 
keyframe_list(canvas-keyframe_list());
+   synfig::KeyframeList::const_iterator iter;
+
+   for(iter=keyframe_list.begin();iter!=keyframe_list.end();++iter)
+   {
+   if(!iter-get_time().is_valid())
+   continue;
+
+   const int 
x((int)((float)w/(t_end-t_begin)*(iter-get_time()-t_begin)));
+   if(iter-get_time()=t_begin  iter-get_time()t_end)
+   {
+   gc-set_rgb_fg_color(Gdk::Color(#a07f7f)); // 
It should be user selectable
+   get_window()-draw_rectangle(gc, true, x, 0, 1, 
h);
+   }
+   }
+   }
// Draw curves for the valuenodes stored in the curve list

for(curve_iter=curve_list_.begin();curve_iter!=curve_list_.end();++curve_iter)
{


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Prevent a crash if there are not parameters selected.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 04e736f96597bb36dbd6b8059d785269369b3321
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=04e736f96597bb36dbd6b8059d785269369b3321

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Thu Jul 16 01:22:02 2009 +0200

Prevent a crash if there are not parameters selected.

---

 synfig-studio/trunk/src/gtkmm/widget_curves.cpp |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/widget_curves.cpp 
b/synfig-studio/trunk/src/gtkmm/widget_curves.cpp
index efd2cd1..cf44f76 100644
--- a/synfig-studio/trunk/src/gtkmm/widget_curves.cpp
+++ b/synfig-studio/trunk/src/gtkmm/widget_curves.cpp
@@ -474,6 +474,9 @@ Widget_Curves::redraw(GdkEventExpose */*bleh*/)
if(!time_adjustment_ || !range_adjustment_ || !h || !w)
return false;
 
+   if(!curve_list_.size())
+   return false;
+
Glib::RefPtrGdk::GC gc(Gdk::GC::create(get_window()));
 
const Real t_begin(time_adjustment_-get_lower());


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Time cursor colour to be the same as time track. Document some code

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 1b4c3fa03ceef65e4aeb2d907f450399e73b2bc7
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=1b4c3fa03ceef65e4aeb2d907f450399e73b2bc7

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Thu Jul 16 00:18:07 2009 +0200

Time cursor colour to be the same as time track. Document some code

---

 synfig-studio/trunk/src/gtkmm/widget_curves.cpp |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/widget_curves.cpp 
b/synfig-studio/trunk/src/gtkmm/widget_curves.cpp
index b4a5678..9375880 100644
--- a/synfig-studio/trunk/src/gtkmm/widget_curves.cpp
+++ b/synfig-studio/trunk/src/gtkmm/widget_curves.cpp
@@ -498,9 +498,10 @@ Widget_Curves::redraw(GdkEventExpose */*bleh*/)
get_window()-draw_rectangle(gc, false, 0, 
round_to_int((0-r_bottom)/dr), w, 0);
 
// Draw current time
-   gc-set_rgb_fg_color(Gdk::Color(#7f));
+   gc-set_rgb_fg_color(Gdk::Color(#ff)); // It should be user 
selectable
get_window()-draw_rectangle(gc, false, 
round_to_int((time_adjustment_-get_value()-t_begin)/dt), 0, 0, h);
 
+   // Draw curves for the valuenodes stored in the curve list

for(curve_iter=curve_list_.begin();curve_iter!=curve_list_.end();++curve_iter)
{
Real t;


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Better solution to find a valid canvas for the displayed valuenodes

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: a109a797a2a1dbae8457cb65c905e44f4847b0ad
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=a109a797a2a1dbae8457cb65c905e44f4847b0ad

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Thu Jul 16 15:13:22 2009 +0200

Better solution to find a valid canvas for the displayed valuenodes

---

 synfig-studio/trunk/src/gtkmm/widget_curves.cpp |   15 +++
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/widget_curves.cpp 
b/synfig-studio/trunk/src/gtkmm/widget_curves.cpp
index cf44f76..602 100644
--- a/synfig-studio/trunk/src/gtkmm/widget_curves.cpp
+++ b/synfig-studio/trunk/src/gtkmm/widget_curves.cpp
@@ -504,12 +504,19 @@ Widget_Curves::redraw(GdkEventExpose */*bleh*/)
gc-set_rgb_fg_color(Gdk::Color(#ff)); // It should be user 
selectable
get_window()-draw_rectangle(gc, false, 
round_to_int((time_adjustment_-get_value()-t_begin)/dt), 0, 0, h);
 
-   // This is not the best solution but I guess that if the first valuenode
-   // has canvas then show the keyframes. Maybe I can loop all them until 
I find
-   // a valid canvas and use it for look to the keyframes.
-   synfig::Canvas::Handle 
canvas(curve_list_.begin()-value_desc.get_canvas());
+   // This try to find a valid vanvas to show the keyframes of those
+   // valuenodes. If not canvas found then no keyframes marks are shown.
+   synfig::Canvas::Handle canvas=0;
+   
for(curve_iter=curve_list_.begin();curve_iter!=curve_list_.end();++curve_iter)
+   {
+   canvas=curve_iter-value_desc.get_canvas();
+   if(canvas)
+   break;
+   }
+
if(canvas)
{
+   // Draw vertical lines for the keyframes marks.
const synfig::KeyframeList 
keyframe_list(canvas-keyframe_list());
synfig::KeyframeList::const_iterator iter;
 


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Draw time cursor always last.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 365ed5c5144c19a00b5dd71965f821086b3ab8eb
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=365ed5c5144c19a00b5dd71965f821086b3ab8eb

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Thu Jul 16 15:29:54 2009 +0200

Draw time cursor always last.

---

 synfig-studio/trunk/src/gtkmm/widget_curves.cpp |9 +
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/widget_curves.cpp 
b/synfig-studio/trunk/src/gtkmm/widget_curves.cpp
index 602..2260dad 100644
--- a/synfig-studio/trunk/src/gtkmm/widget_curves.cpp
+++ b/synfig-studio/trunk/src/gtkmm/widget_curves.cpp
@@ -500,10 +500,6 @@ Widget_Curves::redraw(GdkEventExpose */*bleh*/)
gc-set_rgb_fg_color(Gdk::Color(#4f4f4f));
get_window()-draw_rectangle(gc, false, 0, 
round_to_int((0-r_bottom)/dr), w, 0);
 
-   // Draw current time
-   gc-set_rgb_fg_color(Gdk::Color(#ff)); // It should be user 
selectable
-   get_window()-draw_rectangle(gc, false, 
round_to_int((time_adjustment_-get_value()-t_begin)/dt), 0, 0, h);
-
// This try to find a valid vanvas to show the keyframes of those
// valuenodes. If not canvas found then no keyframes marks are shown.
synfig::Canvas::Handle canvas=0;
@@ -533,6 +529,11 @@ Widget_Curves::redraw(GdkEventExpose */*bleh*/)
}
}
}
+
+   // Draw current time
+   gc-set_rgb_fg_color(Gdk::Color(#ff)); // It should be user 
selectable
+   get_window()-draw_rectangle(gc, false, 
round_to_int((time_adjustment_-get_value()-t_begin)/dt), 0, 0, h);
+
// Draw curves for the valuenodes stored in the curve list

for(curve_iter=curve_list_.begin();curve_iter!=curve_list_.end();++curve_iter)
{


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : New Canvas view layout. WIP

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 15a3beef527c4f114f9d42836517accc8bd4db7a
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=15a3beef527c4f114f9d42836517accc8bd4db7a

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 21 08:47:49 2009 +0200

New Canvas view layout. WIP
-Move the Current time widget from the status to the timebar.
-Add a new row at the bottom of the time bar and move there the animate and 
lock keyframe buttons.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   52 ++---
 1 files changed, 29 insertions(+), 23 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 44c8340..23407b0 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -946,6 +946,7 @@ CanvasView::create_time_bar()
 {
Gtk::Image *icon;
 
+   //Setup the Time Slider and the Time window scroll
Gtk::HScrollbar *time_window_scroll = manage(new class 
Gtk::HScrollbar(time_window_adjustment()));
//Gtk::HScrollbar *time_scroll = manage(new class 
Gtk::HScrollbar(time_adjustment()));
//TIME BAR TEMPORARY POSITION
@@ -965,6 +966,7 @@ CanvasView::create_time_bar()
//time_scroll-signal_value_changed().connect(sigc::mem_fun(*work_area, 
studio::WorkArea::render_preview_hook));
//time_scroll-set_update_policy(Gtk::UPDATE_DISCONTINUOUS);
 
+   //Setup the Animation Mode Button and the Keyframe Lock button
NORMAL_BUTTON(animatebutton,gtk-yes,_(Animate));
animatebutton-signal_clicked().connect(sigc::mem_fun(*this, 
studio::CanvasView::on_animate_button_pressed));
animatebutton-show();
@@ -973,7 +975,7 @@ CanvasView::create_time_bar()
keyframebutton-signal_clicked().connect(sigc::mem_fun(*this, 
studio::CanvasView::on_keyframe_button_pressed));
keyframebutton-show();
 
-   //setup the audio display
+   //Setup the audio display
disp_audio-set_size_request(-1,32); //disp_audio-show();
disp_audio-set_time_adjustment(time_adjustment());
disp_audio-signal_start_scrubbing().connect(
@@ -985,7 +987,15 @@ CanvasView::create_time_bar()
disp_audio-signal_stop_scrubbing().connect(
sigc::mem_fun(*audio,AudioContainer::stop_scrubbing)
);
+   //Setup the current time widget
+   current_time_widget=manage(new Widget_Time);
+   current_time_widget-set_value(get_time());
+   
current_time_widget-set_fps(get_canvas()-rend_desc().get_frame_rate());
+   current_time_widget-signal_value_changed().connect(
+   sigc::mem_fun(*this,CanvasView::on_current_time_widget_changed)
+   );
 
+   //Setup the FrameDial widget
FrameDial *framedial = manage(new class FrameDial());
framedial-signal_seek_begin().connect(
sigc::bind(sigc::mem_fun(*canvas_interface().get(), 
synfigapp::CanvasInterface::seek_time), Time::begin())
@@ -1001,15 +1011,19 @@ CanvasView::create_time_bar()
);
framedial-show();
 
-   Gtk::Table *table = manage(new class Gtk::Table(4, 3, false));
+   Gtk::Table *table = manage(new class Gtk::Table(4, 4, false));
timebar = table;
 
-   table-attach(*manage(disp_audio), 0, 1, 0, 1, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
-   table-attach(*framedial, 0, 1, 1, 2,Gtk::SHRINK, Gtk::SHRINK);
-   table-attach(*timeslider, 1, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
-   table-attach(*time_window_scroll, 1, 2, 2, 3, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
-   table-attach(*animatebutton, 2, 3, 0, 3, Gtk::SHRINK, Gtk::SHRINK);
-   table-attach(*keyframebutton, 3, 4, 0, 3, Gtk::SHRINK, Gtk::SHRINK);
+   //Attach widgets to the time bar table
+   table-attach(*manage(disp_audio), 1, 4, 0, 1, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
+   table-attach(*framedial, 0, 1, 2, 3,Gtk::SHRINK, Gtk::SHRINK);
+   table-attach(*current_time_widget, 0, 1, 1, 2, Gtk::SHRINK|Gtk::FILL, 
Gtk::SHRINK|Gtk::FILL, 0, 0);
+   table-attach(*timeslider, 1, 4, 1, 2, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
+   table-attach(*time_window_scroll, 1, 4, 2, 3, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
+   table-attach(*animatebutton, 2, 3, 3, 4, Gtk::FILL, Gtk::SHRINK);
+   table-attach(*keyframebutton, 3, 4, 3, 4, Gtk::FILL, Gtk::SHRINK);
+
+
table-show();
 
return table;
@@ -1036,7 +1050,7 @@ CanvasView::create_status_bar()
cancel=false;
 
// Create the status bar at the bottom of the window
-   Gtk::Table *statusbartable= manage(new class Gtk::Table(7, 1, false));
+   Gtk::Table *statusbartable= manage(new class Gtk::Table(5, 1, false));
 // statusbar = manage(new class Gtk::Statusbar()); // This is already done 
at construction
progressbar =manage(new class Gtk::ProgressBar());
SMALL_BUTTON(stopbutton,gtk-stop,_(Stop));
@@ 

[Synfig-devl] Carlos Lopez : Add Keyframe Dial initial layout

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 29dc41d9953bf08068615a30abcf687615ffdb08
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=29dc41d9953bf08068615a30abcf687615ffdb08

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 21 11:57:18 2009 +0200

Add Keyframe Dial initial layout

---

 synfig-studio/trunk/src/gtkmm/Makefile.am  |6 +-
 synfig-studio/trunk/src/gtkmm/canvasview.cpp   |   12 +++-
 synfig-studio/trunk/src/gtkmm/keyframedial.cpp |   77 
 synfig-studio/trunk/src/gtkmm/keyframedial.h   |   70 +
 4 files changed, 161 insertions(+), 4 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/Makefile.am 
b/synfig-studio/trunk/src/gtkmm/Makefile.am
index 4742357..39acf8c 100644
--- a/synfig-studio/trunk/src/gtkmm/Makefile.am
+++ b/synfig-studio/trunk/src/gtkmm/Makefile.am
@@ -293,7 +293,8 @@ OTHER_HH = \
valuelink.h \
workarea.h \
zoomdial.h \
-   framedial.h
+   framedial.h \
+   keyframedial.h
 
 OTHER_CC = \
main.cpp \
@@ -324,7 +325,8 @@ OTHER_CC = \
valuelink.cpp \
workarea.cpp \
zoomdial.cpp \
-   framedial.cpp
+   framedial.cpp \
+   keyframedial.cpp
 
 
 INCLUDES = \
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 23407b0..89bad1b 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -100,6 +100,7 @@
 #include audiocontainer.h
 #include widget_timeslider.h
 #include framedial.h
+#include keyframedial.h
 
 #include synfigapp/main.h
 #include synfigapp/inputdevice.h
@@ -1011,6 +1012,12 @@ CanvasView::create_time_bar()
);
framedial-show();
 
+   //Setup the KeyFrameDial widget
+   KeyFrameDial *keyframedial = Gtk::manage(new class KeyFrameDial());
+   
keyframedial-signal_seek_prev_keyframe().connect(sigc::mem_fun(*canvas_interface().get(),
 synfigapp::CanvasInterface::jump_to_prev_keyframe));
+   
keyframedial-signal_seek_next_keyframe().connect(sigc::mem_fun(*canvas_interface().get(),
 synfigapp::CanvasInterface::jump_to_next_keyframe));
+   keyframedial-show();
+
Gtk::Table *table = manage(new class Gtk::Table(4, 4, false));
timebar = table;
 
@@ -1020,8 +1027,9 @@ CanvasView::create_time_bar()
table-attach(*current_time_widget, 0, 1, 1, 2, Gtk::SHRINK|Gtk::FILL, 
Gtk::SHRINK|Gtk::FILL, 0, 0);
table-attach(*timeslider, 1, 4, 1, 2, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
table-attach(*time_window_scroll, 1, 4, 2, 3, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
-   table-attach(*animatebutton, 2, 3, 3, 4, Gtk::FILL, Gtk::SHRINK);
-   table-attach(*keyframebutton, 3, 4, 3, 4, Gtk::FILL, Gtk::SHRINK);
+   table-attach(*keyframedial, 0, 1, 3, 4, Gtk::SHRINK, Gtk::SHRINK);
+   table-attach(*animatebutton, 2, 3, 3, 4, Gtk::SHRINK, Gtk::SHRINK);
+   table-attach(*keyframebutton, 1, 2, 3, 4, Gtk::SHRINK, Gtk::SHRINK);
 
 
table-show();
diff --git a/synfig-studio/trunk/src/gtkmm/keyframedial.cpp 
b/synfig-studio/trunk/src/gtkmm/keyframedial.cpp
new file mode 100644
index 000..ba60717
--- /dev/null
+++ b/synfig-studio/trunk/src/gtkmm/keyframedial.cpp
@@ -0,0 +1,77 @@
+/* === S Y N F I G = */
+/*!\file keyframedial.cpp
+** \brief Template File
+**
+** $Id$
+**
+** \legal
+** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+** Copyright (c) 2009 Gerco Ballintijn
+** Copyright (c) 2009 Carlos Lopez
+**
+** This package is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License as
+** published by the Free Software Foundation; either version 2 of
+** the License, or (at your option) any later version.
+**
+** This package is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+** General Public License for more details.
+** \endlegal
+*/
+/* = */
+
+/* === H E A D E R S === */
+
+#ifdef USING_PCH
+#  include pch.h
+#else
+#ifdef HAVE_CONFIG_H
+#  include config.h
+#endif
+
+#include keyframedial.h
+#include gtkmm/image.h
+
+#endif
+
+/* === U S I N G === */
+
+using namespace std;
+using namespace studio;
+
+/* === M A C R O S = */
+
+/* === G L O B A L S === */
+
+/* === P R O C E D U R E S = */
+
+/* === M E T H O D S 

[Synfig-devl] Carlos Lopez : Show the current_time_widget in the proper function and request minimum horizontal size

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: c449d860f40a811c2faf19e823744ff7960202c4
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=c449d860f40a811c2faf19e823744ff7960202c4

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 22 00:42:37 2009 +0200

Show the current_time_widget in the proper function and request minimum 
horizontal size

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index d877e6d..b3e243f 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -992,6 +992,8 @@ CanvasView::create_time_bar()
current_time_widget-signal_value_changed().connect(
sigc::mem_fun(*this,CanvasView::on_current_time_widget_changed)
);
+   current_time_widget-set_size_request(0,-1); // request horizontal 
shrink
+   current_time_widget-show();
 
//Setup the FrameDial widget
FrameDial *framedial = manage(new class FrameDial());
@@ -3209,7 +3211,7 @@ void
 CanvasView::show_timebar()
 {
timebar-show();
-   current_time_widget-show();
+   //current_time_widget-show(); // not needed now that belongs to the 
timebar
 
//keyframe_tab_child-show();
if(layer_tree)


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Reorder the code a bit and add some comments

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 1a680abfce7422f6b44756fea9b047a9244ed697
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=1a680abfce7422f6b44756fea9b047a9244ed697

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 22 19:05:34 2009 +0200

Reorder the code a bit and add some comments

---

 synfig-studio/trunk/src/gtkmm/canvasview.h |   17 +++--
 1 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h 
b/synfig-studio/trunk/src/gtkmm/canvasview.h
index 3b27e8b..6f1f87e 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.h
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.h
@@ -258,20 +258,22 @@ private:
 
Gtk::Button *stopbutton;
Gtk::Button *refreshbutton;
-   Gtk::Button *treetogglebutton;
-   Gtk::Notebook *notebook;
+   Gtk::Button *treetogglebutton;  // not used
+   Gtk::Notebook *notebook; // not used
Gtk::Widget *timebar;
+   Gtk::Button *animatebutton;
+   Gtk::Button *keyframebutton;
+
 
+   //! Shows current time and allows edition
Widget_Time *current_time_widget;
void on_current_time_widget_changed();
 
-   std::auto_ptrWidget_Timeslidertimeslider;
+   //! Time slider class. Same than the Time track panel
+   std::auto_ptrWidget_Timeslider timeslider;
 
std::listsigc::connection duck_changed_connections;
 
-   Gtk::Button *animatebutton;
-   Gtk::Button *keyframebutton;
-
 /* DEBUGPOINT_CLASS(8);
 
Gtk::Menu duckmaskmenu;
@@ -308,6 +310,7 @@ private:
Gtk::CheckMenuItem* duck_mask_width;
Gtk::CheckMenuItem* duck_mask_angle;
 */
+   //! Menu members
Gtk::Menu parammenu;
 
Glib::RefPtrGtk::ToggleAction grid_snap_toggle;
@@ -400,9 +403,11 @@ private:
 
Gtk::Widget *create_time_bar();
 
+   //! Pop up menu for the bezier (bline, draw) tool (?)
void popup_param_menu_bezier(float location, synfigapp::ValueDesc 
value_desc)
{ popup_param_menu(value_desc,location,true); }
 
+   //! Pop up menu for the tools but not the bezier ones.
void popup_param_menu(synfigapp::ValueDesc value_desc, float 
location=0, bool bezier=false);
 
void workarea_layer_selected(synfig::Layer::Handle layer);


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Add Play/Stop button to the Frame Dial.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: f2a5ca9cf3c770c4eb236d0c5c1ae7ecab242787
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=f2a5ca9cf3c770c4eb236d0c5c1ae7ecab242787

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 22 20:08:36 2009 +0200

Add Play/Stop button to the Frame Dial.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |   35 +++--
 synfig-studio/trunk/src/gtkmm/canvasview.h   |4 +++
 synfig-studio/trunk/src/gtkmm/framedial.cpp  |9 --
 synfig-studio/trunk/src/gtkmm/framedial.h|   12 ++---
 4 files changed, 50 insertions(+), 10 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 32530cd..7c3aa0a 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -99,7 +99,6 @@
 #include preview.h
 #include audiocontainer.h
 #include widget_timeslider.h
-#include framedial.h
 #include keyframedial.h
 
 #include synfigapp/main.h
@@ -997,13 +996,16 @@ CanvasView::create_time_bar()
current_time_widget-show();
 
//Setup the FrameDial widget
-   FrameDial *framedial = manage(new class FrameDial());
+   framedial = manage(new class FrameDial());
framedial-signal_seek_begin().connect(
sigc::bind(sigc::mem_fun(*canvas_interface().get(), 
synfigapp::CanvasInterface::seek_time), Time::begin())
);
framedial-signal_seek_prev_frame().connect(
sigc::bind(sigc::mem_fun(*canvas_interface().get(), 
synfigapp::CanvasInterface::seek_frame), -1)
);
+   framedial-signal_play_stop().connect(
+   sigc::mem_fun(*this, 
studio::CanvasView::on_play_stop_pressed)
+   );
framedial-signal_seek_next_frame().connect(
sigc::bind(sigc::mem_fun(*canvas_interface().get(), 
synfigapp::CanvasInterface::seek_frame), 1)
);
@@ -3154,8 +3156,8 @@ CanvasView::play()
return;
}
}
+   on_play_stop_pressed();
is_playing_=false;
-
time_adjustment().set_value(endtime);
time_adjustment().value_changed();
 }
@@ -3919,3 +3921,30 @@ CanvasView::on_delete_event(GdkEventAny* event 
__attribute__ ((unused)))
 
return true;
 }
+
+//! Modify the play stop button apearence and play stop the animation
+void
+CanvasView::on_play_stop_pressed()
+{
+   Gtk::Image *icon;
+   Gtk::Button *stop_button;
+   stop_button=framedial-get_play_button();
+   bool play_flag;
+   if(!is_playing())
+   {
+   icon = manage(new Gtk::Image(Gtk::Stock::MEDIA_STOP, 
Gtk::IconSize::from_name(synfig-small_icon)));
+   stop_button-set_relief(Gtk::RELIEF_NORMAL);
+   play_flag=true;
+   }
+   else
+   {
+   icon = manage(new Gtk::Image(Gtk::Stock::MEDIA_PLAY, 
Gtk::IconSize::from_name(synfig-small_icon)));
+   stop_button-set_relief(Gtk::RELIEF_NONE);
+   play_flag=false;
+   }
+   stop_button-remove();
+   stop_button-add(*icon);
+   icon-set_padding(0, 0);
+   icon-show();
+   if(play_flag) play(); else stop();
+}
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h 
b/synfig-studio/trunk/src/gtkmm/canvasview.h
index 6f1f87e..844a57f 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.h
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.h
@@ -65,6 +65,7 @@
 
 #include dialog_waypoint.h
 #include dialog_keyframe.h
+#include framedial.h
 
 #include duckmatic.h
 #include gtkmm/scale.h
@@ -263,6 +264,7 @@ private:
Gtk::Widget *timebar;
Gtk::Button *animatebutton;
Gtk::Button *keyframebutton;
+   FrameDial *framedial;
 
 
//! Shows current time and allows edition
@@ -679,6 +681,8 @@ private:
//void on_audio_play();
bool on_audio_scrub();
 
+   void on_play_stop_pressed();
+
 protected:
bool close_instance_when_safe();
bool on_delete_event(GdkEventAny* event);
diff --git a/synfig-studio/trunk/src/gtkmm/framedial.cpp 
b/synfig-studio/trunk/src/gtkmm/framedial.cpp
index a361bd3..0392f4b 100644
--- a/synfig-studio/trunk/src/gtkmm/framedial.cpp
+++ b/synfig-studio/trunk/src/gtkmm/framedial.cpp
@@ -49,7 +49,7 @@ using namespace studio;
 
 /* === M E T H O D S === */
 
-FrameDial::FrameDial(): Gtk::Table(3, 1, false)
+FrameDial::FrameDial(): Gtk::Table(5, 1, false)
 {
Gtk::IconSize iconsize = Gtk::IconSize::from_name(synfig-small_icon);
 
@@ -57,6 +57,8 @@ FrameDial::FrameDial(): Gtk::Table(3, 1, false)
_(Seek to Begin));
seek_prev_frame = create_icon(iconsize, Gtk::Stock::MEDIA_REWIND,
_(Previous Frame));
+   play_stop = create_icon(iconsize, Gtk::Stock::MEDIA_PLAY,
+  

[Synfig-devl] Carlos Lopez : Keep correct size on the animate button after pressed.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 62c72bf0bc6482003ae7423ecf727b2576fd5c46
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=62c72bf0bc6482003ae7423ecf727b2576fd5c46

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 22 22:18:29 2009 +0200

Keep correct size on the animate button after pressed.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 76437b9..a3c42cc 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -2580,10 +2580,11 @@ void
 CanvasView::on_mode_changed(synfigapp::CanvasInterface::Mode mode)
 {
// If the animate flag was set in mode...
+   Gtk::IconSize iconsize=Gtk::IconSize::from_name(synfig-small_icon);
if(modesynfigapp::MODE_ANIMATE)
{
Gtk::Image *icon;
-   icon=manage(new 
Gtk::Image(Gtk::StockID(gtk-no),Gtk::ICON_SIZE_BUTTON));
+   icon=manage(new Gtk::Image(Gtk::StockID(gtk-no),iconsize));
animatebutton-remove();
animatebutton-add(*icon);
tooltips.set_tip(*animatebutton,_(In Animate Editing Mode));
@@ -2593,7 +2594,7 @@ 
CanvasView::on_mode_changed(synfigapp::CanvasInterface::Mode mode)
else
{
Gtk::Image *icon;
-   icon=manage(new 
Gtk::Image(Gtk::StockID(gtk-yes),Gtk::ICON_SIZE_BUTTON));
+   icon=manage(new Gtk::Image(Gtk::StockID(gtk-yes),iconsize));
animatebutton-remove();
animatebutton-add(*icon);
tooltips.set_tip(*animatebutton,_(Not in Animate Editing 
Mode));


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Initial trial of keyframe list. It doesn't compile.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: d984a091f5a0cb0c903d4abfcf7a7afb57ec82e3
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=d984a091f5a0cb0c903d4abfcf7a7afb57ec82e3

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Thu Jul 16 16:35:13 2009 +0200

Initial trial of keyframe list. It doesn't compile.

---

 .../trunk/src/gtkmm/widget_keyframe_list.cpp   |  270 
 .../trunk/src/gtkmm/widget_keyframe_list.h |  101 
 2 files changed, 371 insertions(+), 0 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp 
b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
new file mode 100644
index 000..e0f372f
--- /dev/null
+++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
@@ -0,0 +1,270 @@
+/* === S Y N F I G = */
+/*!\file widget_keyframe_list.cpp
+** \brief A custom widget to manage keyframes in the timeline.
+**
+** $Id$
+**
+** \legal
+** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+** Copyright (c) 2007 Chris Moore
+** Copyright (c) 2009 Carlos López
+**
+** This package is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License as
+** published by the Free Software Foundation; either version 2 of
+** the License, or (at your option) any later version.
+**
+** This package is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+** General Public License for more details.
+** \endlegal
+*/
+/* = */
+
+/* === H E A D E R S === */
+
+#ifdef USING_PCH
+#  include pch.h
+#else
+#ifdef HAVE_CONFIG_H
+#  include config.h
+#endif
+
+#include widget_keyframe_list.h
+#include app.h
+#include gtkmm/menu.h
+#include synfig/exception.h
+#include ETL/misc
+
+#include general.h
+
+#endif
+
+/* === U S I N G === */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+using namespace studio;
+
+/* === M A C R O S = */
+
+/* === G L O B A L S === */
+
+/* === P R O C E D U R E S = */
+
+/* === M E T H O D S === */
+
+Widget_Keyframe_List::Widget_Keyframe_List():
+   editable_(false)
+{
+   set_size_request(-1,64);
+   signal_expose_event().connect(sigc::mem_fun(*this, 
studio::Widget_Keyframe_List::redraw));
+   add_events(Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK);
+   add_events(Gdk::BUTTON1_MOTION_MASK);
+
+}
+
+Widget_Keyframe_List::~Widget_Keyframe_List()
+{
+}
+
+bool
+Widget_Gradient::redraw(GdkEventExpose */*bleh*/)
+{
+   const int h(get_height());
+   const int w(get_width());
+
+   Glib::RefPtrGdk::GC gc(Gdk::GC::create(get_window()));
+   Gdk::Rectangle area(0,0,w,h);
+   if(!editable_)
+   {
+   return true;
+   }
+
+   gc-set_rgb_fg_color(Gdk::Color(#7f7f7f));
+   get_window()-draw_rectangle(gc, false, 0, 0, w, h);
+
+   KeyframeList::iterator iter,selected_iter;
+   bool show_selected(false);
+   for(iter=kf_list_.begin();iter!=kf_list_.end();iter++)
+   {
+   if(*iter!=selected_kf)
+   get_style()-paint_arrow(
+   get_window(),
+   
(*iter==selected_kf)?Gtk::STATE_SELECTED:Gtk::STATE_ACTIVE,
+   Gtk::SHADOW_OUT,
+   area,
+   *this,
+,
+   Gtk::ARROW_DOWN,
+   1,
+   int(iter-get_time()*w)-h/2+1, /// to be fixed
+   0,
+   h,
+   h
+   );
+   else
+   {
+   selected_iter=iter;
+   show_selected=true;
+   }
+   }
+
+   // we do this so that we can be sure that
+   // the selected marker is shown on top
+   if(show_selected)
+   {
+   get_style()-paint_arrow(
+   get_window(),
+   Gtk::STATE_SELECTED,
+   Gtk::SHADOW_OUT,
+   area,
+   *this,
+,
+   Gtk::ARROW_DOWN,
+   1,
+   round_to_int(selected_iter-get_time()*w)-h/2+1,
+   0,
+   h,
+   h
+   

[Synfig-devl] Konstantin Dmitriev : Show git revision information on synfig --info.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: eb646e952b600199e2f1a0c27ea1c4fde87a1f50
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=eb646e952b600199e2f1a0c27ea1c4fde87a1f50

Author: Konstantin Dmitriev ksee.zelga...@gmail.com
Date:   Thu Jul 16 21:47:30 2009 +0700

Show git revision information on synfig --info.

---

 .gitignore|1 +
 synfig-core/trunk/Makefile.am |1 +
 synfig-core/trunk/build_tools/Makefile.am |8 ++
 synfig-core/trunk/build_tools/autorevision.sh |  101 +
 synfig-core/trunk/src/tool/main.cpp   |5 +-
 5 files changed, 115 insertions(+), 1 deletions(-)

diff --git a/.gitignore b/.gitignore
index 36dc72b..e990be0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -64,6 +64,7 @@ synfig-core/trunk/src/synfig/proto/nodebase.h
 synfig-core/trunk/src/tool/synfig
 synfig-core/trunk/synfig.pc.in
 
+synfig-core/trunk/autorevision.h
 synfig-core/trunk/m4/codeset.m4
 synfig-core/trunk/m4/gettext.m4
 synfig-core/trunk/m4/glibc2.m4
diff --git a/synfig-core/trunk/Makefile.am b/synfig-core/trunk/Makefile.am
index bb201ca..22ad14d 100644
--- a/synfig-core/trunk/Makefile.am
+++ b/synfig-core/trunk/Makefile.am
@@ -43,6 +43,7 @@ MAINTAINERCLEANFILES = \
 
 SUBDIRS = \
libltdl \
+   build_tools \
src \
examples \
po
diff --git a/synfig-core/trunk/build_tools/Makefile.am 
b/synfig-core/trunk/build_tools/Makefile.am
new file mode 100644
index 000..29b053f
--- /dev/null
+++ b/synfig-core/trunk/build_tools/Makefile.am
@@ -0,0 +1,8 @@
+dist_noinst_SCRIPTS = autorevision.sh
+
+all-local:
+   sh $(srcdir)/autorevision.sh $(top_srcdir) $(top_builddir)
+
+clean-local:
+   -rm -f $(top_builddir)/autorevision.h
+
diff --git a/synfig-core/trunk/build_tools/autorevision.sh 
b/synfig-core/trunk/build_tools/autorevision.sh
new file mode 100644
index 000..2ccdb01
--- /dev/null
+++ b/synfig-core/trunk/build_tools/autorevision.sh
@@ -0,0 +1,101 @@
+#!/bin/sh
+
+# Copyright 2008 Paul Wise
+# Copyright 2009 Konstantin Dmitriev
+#
+# This package is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This package is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+
+get_git_id(){
+   export SCM=git
+   export REVISION=`cd $1; git log --no-color -1 | head -n 1 | cut -f 2 
-d ' '`
+   export BRANCH=`cd $1; git branch --no-color 2 /dev/null | sed -e 
'/^[^*]/d' -e 's/* \(.*\)/\1/'`
+   export DATE=`git-show --pretty=format:%ci HEAD |  head -c 10`
+   DATE=${DATE:0:4}${DATE:5:2}${DATE:8:2}
+   export COMPARE=$1/.git/
+   # The extra * at the end is for Modified
+   #REVISION=$REVISION`cd $1; [[ $(git status 2 /dev/null | tail -n1) 
!= nothing to commit (working directory clean) ]]  echo *`
+}
+
+get_git_svn_id(){
+   export SCM=git-svn
+   export REVISION=`cd $1; git svn find-rev HEAD`
+   export COMPARE=$1/.git/
+   if [ x = x$REVISION ] ; then
+   # The extra M at the end is for Modified
+   export REVISION=`cd $1; git svn find-rev \`git rev-list 
--max-count=1 --grep='git-svn-id: ' HEAD\``M
+   else
+   export REVISION=$REVISION`cd $1; git diff --quiet HEAD || 
echo M`
+   fi
+}
+
+get_svn_id(){
+   export SCM=svn
+   export REVISION=`cd $1; svnversion || svn info | sed -n 's/^Revision: 
\(.*\)/\1/p'`
+}
+
+
+HEADER=$2/autorevision.h
+SCM=none
+
+
+if [ ! -f $HEADER ] ; then
+   touch -t 197001010101 $HEADER
+fi
+
+
+# Extract the revision from SVN/git/etc
+if [ -e $1/../../.git/refs/remotes/origin ] ; then
+   get_git_id $1/../..
+elif [ -d $1/.git/svn ] ; then
+   get_git_svn_id $1
+elif [ -d $1/../.git/svn ] ; then
+   get_git_svn_id $1/..
+elif [ -d $1/../../.git/svn ] ; then
+   get_git_svn_id $1/../..
+elif [ -d $1/.svn ] ; then
+   COMPARE=$1/.svn
+   get_svn_id $1
+elif [ -d $1/_svn ] ; then
+   COMPARE=$1/_svn
+   get_svn_id $1
+fi
+
+
+# Allow overriding both REVISION and DEVEL_VERSION
+if [ -f $2/autorevision.conf ] ; then
+   SCM=manual
+   . $2/autorevision.conf
+fi
+
+
+# Abort if the header is newer
+if [ $COMPARE -ot $HEADER ] ; then exit; fi
+
+# Set the development version string
+if [ x = x$DEVEL_VERSION ] ; then
+   if [ x != x$REVISION ] ; then
+   if [ $SCM = svn ] ; then
+   DEVEL_VERSION=SVN r$REVISION
+   elif [ $SCM = git-svn ] ; then
+   DEVEL_VERSION=SVN r$REVISION (via git)
+   elif [ $SCM = git ] ; then
+   

[Synfig-devl] Carlos Lopez : Remove unneeded member call.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: b4dbf420eee03a47b270864cfeeae984856b2a3b
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b4dbf420eee03a47b270864cfeeae984856b2a3b

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jun 22 21:02:42 2009 +0200

Remove unneeded member call.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 7c3aa0a..0b532cd 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -951,7 +951,6 @@ CanvasView::create_time_bar()
//Gtk::HScrollbar *time_scroll = manage(new class 
Gtk::HScrollbar(time_adjustment()));
//TIME BAR TEMPORARY POSITION
//Widget_Timeslider *time_scroll = manage(new Widget_Timeslider);
-   timeslider-show();
timeslider-set_time_adjustment(time_adjustment());
timeslider-set_bounds_adjustment(time_window_adjustment());
//layout_table-attach(*timeslider, 0, 1, 2, 3, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK|Gtk::FILL);


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Remove uneeded code

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 548f791bdcf8b69caae961c7ea63f67b10f742df
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=548f791bdcf8b69caae961c7ea63f67b10f742df

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jun 21 12:46:20 2009 +0200

Remove uneeded code

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |7 +--
 1 files changed, 1 insertions(+), 6 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index 7223410..d877e6d 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -972,12 +972,7 @@ CanvasView::create_time_bar()
SMALL_BUTTON(animatebutton,gtk-yes,_(Animate));
animatebutton-signal_clicked().connect(sigc::mem_fun(*this, 
studio::CanvasView::on_animate_button_pressed));
animatebutton-show();
-/*
-   NORMAL_BUTTON(keyframebutton,synfig-keyframe_lock_all,_(All 
Keyframes Locked));
-   keyframebutton-signal_clicked().connect(sigc::mem_fun(*this, 
studio::CanvasView::on_keyframe_button_pressed));
-   keyframebutton-show();
-   keyframebutton-set_relief(Gtk::RELIEF_NONE);
-*/
+
//Setup the audio display
disp_audio-set_size_request(-1,32); //disp_audio-show();
disp_audio-set_time_adjustment(time_adjustment());


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Konstantin Dmitriev : Synfig Studio Crash Monitor.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: e8e10402449a7a1850dd5f4ab3e0e72d04af3f84
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=e8e10402449a7a1850dd5f4ab3e0e72d04af3f84

Author: Konstantin Dmitriev ksee.zelga...@gmail.com
Date:   Thu Jul 16 23:38:58 2009 +0700

Synfig Studio Crash Monitor.

If it's run in background it collects synfig runtime and crashes statistics.
All information collected in ~/.synfig/cph.
Later we will use that information to calculate CPH (crash per hour) index
and detect commits producing unstability.

---

 synfig-studio/trunk/synfigstudio-cph-monitor |  138 ++
 1 files changed, 138 insertions(+), 0 deletions(-)

diff --git a/synfig-studio/trunk/synfigstudio-cph-monitor 
b/synfig-studio/trunk/synfigstudio-cph-monitor
new file mode 100755
index 000..02fc18a
--- /dev/null
+++ b/synfig-studio/trunk/synfigstudio-cph-monitor
@@ -0,0 +1,138 @@
+#!/bin/bash
+
+# Synfig Crash Monitor script
+# Copyright (c) 2009 Konstantin Dmitriev
+#  This package is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of
+#  the License, or (at your option) any later version.
+#
+#  This package is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+#  General Public License for more details.
+
+set -e
+trap writelog INT
+
+init()
+{
+echo `date +%H:%M` Synfig Crash Monitor started.
+STARTED=0
+RUNTIME=0
+VERSION=''
+RELEASE=''
+BRANCH=''
+CRASH=0
+[ ! -d ~/.synfig/cph ]  mkdir -p ~/.synfig/cph || true
+}
+
+writelog()
+{
+   if [[ $STARTED != 0 ]]; then
+   if [[ $CRASH == 0 ]]; then
+   echo `date +%H:%M` Synfig exited normally. Session 
time: $RUNTIME.
+   else
+   echo `date +%H:%M` Crash detected. Version 
$VERSION.$RELEASE.$BRANCH, session time: $RUNTIME.
+   fi
+   if [ -e ~/.synfig/cph/log ]; then
+   #check if dump needed
+   CURRENTDATE=`date +%Y-%m-%d`
+   LOGMODDATE=`stat -c %y ~/.synfig/cph/log`
+   LOGMODDATE=${LOGMODDATE%% *}
+   if [[ $LOGMODDATE != $CURRENTDATE ]]; then
+   dumpstats
+   fi
+   fi
+   #write log
+   echo $VERSION/$BRANCH/$RELEASE $RUNTIME $CRASH  
~/.synfig/cph/log
+   CRASH=0
+   RUNTIME=0
+   else
+   echo
+   fi
+}
+
+dumpstats()
+{
+   echo `date +%H:%M` 'Dumping stats for previous session...'
+   LOGMODDATE=`stat -c %y ~/.synfig/cph/log`
+   LOGMODDATE=${LOGMODDATE%% *}
+   #get versions
+   VERSIONS=''
+   while read LINE; do
+   FOUND=0
+   for VER in $VERSIONS; do
+   if [[ $VER == ${LINE%% *} ]]; then
+   FOUND=1
+   break
+   fi
+   done
+   [[ $FOUND == 0 ]]  VERSIONS=$VERSIONS ${LINE%% *}
+   done  ~/.synfig/cph/log
+   echoLogged versions: ${VERSIONS}
+   for VER in $VERSIONS; do
+   #generating random record ID
+   ID=$( echo `date` `ps` | md5sum | md5sum )
+   ID=${ID:2:16}
+   #summarizing time and counting crashes
+   CRASHCOUNT=0
+   TIMECOUNT=0
+   while read LINE; do
+   if [[ ${LINE%% *} == $VER ]]; then
+   TIMECOUNT=`expr $TIMECOUNT + $(echo $LINE| cut 
-f 2 -d ' ')` || true
+   CRASHCOUNT=`expr $CRASHCOUNT + $(echo $LINE| 
cut -f 3 -d ' ')` || true
+   fi
+   done  ~/.synfig/cph/log
+   echo$LOGMODDATE $ID $VER $TIMECOUNT $CRASHCOUNT
+   echo $LOGMODDATE $ID $VER $TIMECOUNT $CRASHCOUNT  
~/.synfig/cph/stats
+   done
+   rm -f ~/.synfig/cph/log
+   echo '   Done.'
+}
+
+mainloop()
+{
+   while true; do
+   if ( ps -f -u `whoami`|egrep synfigstudio$ /dev/null ) ; then
+   #synfigstudio process exist
+   if [[ $STARTED == 0 ]]; then
+   STARTED=1
+   RUNTIME=0
+   #get version
+   P=$(ps -f -u `whoami`|egrep synfigstudio$| tr 
-s ' '| cut -d ' ' -f 8)
+   echo 
+   if [ ! -e $P ]; then
+   P=`which $P`
+   fi
+   echo $P
+   P=`dirname $P`
+ 

[Synfig-devl] Carlos Lopez : Now builds. Does not nothing yet.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: eb5f135abc7ac06543500f32362ab56d75370be5
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=eb5f135abc7ac06543500f32362ab56d75370be5

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Fri Jul 17 19:32:51 2009 +0200

Now builds. Does not nothing yet.

---

 synfig-studio/trunk/src/gtkmm/Makefile.am  |6 +-
 .../trunk/src/gtkmm/widget_keyframe_list.cpp   |  233 +---
 .../trunk/src/gtkmm/widget_keyframe_list.h |   58 --
 3 files changed, 150 insertions(+), 147 deletions(-)

Diff:   
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commitdiff;h=eb5f135abc7ac06543500f32362ab56d75370be5

--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Add the code to setup an instance of the keyframe list handler.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: d9145bee28dfd34a12ff9c5d43f9fc850bd15c61
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=d9145bee28dfd34a12ff9c5d43f9fc850bd15c61

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Fri Jul 17 19:57:15 2009 +0200

Add the code to setup an instance of the keyframe list handler.

---

 synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp   |   11 +++
 synfig-studio/trunk/src/gtkmm/dock_timetrack.h |5 -
 .../trunk/src/gtkmm/widget_keyframe_list.cpp   |   13 -
 .../trunk/src/gtkmm/widget_keyframe_list.h |6 +-
 4 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp 
b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
index a0f7fca..956c9e1 100644
--- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
+++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
@@ -43,6 +43,7 @@
 #include layerparamtreestore.h
 #include workarea.h
 #include widget_timeslider.h
+#include widget_keyframe_list.h
 #include layerparamtreestore.h
 #include general.h
 #include synfig/timepointcollect.h
@@ -405,6 +406,7 @@ Dock_Timetrack::Dock_Timetrack():
 {
table_=0;
widget_timeslider_= new Widget_Timeslider();
+   widget_kf_list_= new Widget_Keyframe_List();
 
int header_height = 0;
if(getenv(SYNFIG_TIMETRACK_HEADER_HEIGHT))
@@ -413,6 +415,8 @@ Dock_Timetrack::Dock_Timetrack():
header_height = 22;
 
widget_timeslider_-set_size_request(-1,header_height);
+   widget_kf_list_-set_size_request(-1,header_height);
+
hscrollbar_=new Gtk::HScrollbar();
vscrollbar_=new Gtk::VScrollbar();
 }
@@ -423,6 +427,7 @@ Dock_Timetrack::~Dock_Timetrack()
delete hscrollbar_;
delete vscrollbar_;
delete widget_timeslider_;
+   delete widget_kf_list_;
 }
 
 void
@@ -493,14 +498,20 @@ 
Dock_Timetrack::changed_canvas_view_vfunc(etl::loose_handleCanvasView canvas_v
 
assert(tree_view);
 
+

widget_timeslider_-set_time_adjustment(canvas_view-time_adjustment());

widget_timeslider_-set_bounds_adjustment(canvas_view-time_window_adjustment());

widget_timeslider_-set_global_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate());
 
+   
widget_kf_list_-set_time_adjustment(canvas_view-time_adjustment());
+   
widget_kf_list_-set_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate());
+   
widget_kf_list_-set_kf_list(canvas_view-get_canvas()-keyframe_list());
+
vscrollbar_-set_adjustment(*tree_view-get_vadjustment());

hscrollbar_-set_adjustment(canvas_view-time_window_adjustment());
table_=new Gtk::Table(2,2);
table_-attach(*widget_timeslider_, 0, 1, 0, 1, 
Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::SHRINK);
+   table_-attach(*widget_kf_list_, 0, 1, 0, 1, 
Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::SHRINK);
table_-attach(*tree_view, 0, 1, 1, 2, Gtk::FILL|Gtk::EXPAND, 
Gtk::FILL|Gtk::EXPAND);
table_-attach(*hscrollbar_, 0, 1, 2, 3, Gtk::FILL|Gtk::EXPAND, 
Gtk::FILL|Gtk::SHRINK);
table_-attach(*vscrollbar_, 1, 2, 0, 2, Gtk::FILL|Gtk::SHRINK, 
Gtk::FILL|Gtk::EXPAND);
diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.h 
b/synfig-studio/trunk/src/gtkmm/dock_timetrack.h
index d103d9a..9da19fd 100644
--- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.h
+++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.h
@@ -6,6 +6,7 @@
 **
 ** \legal
 ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**  Copyright (c) 2009 Carlos López
 **
 ** This package is free software; you can redistribute it and/or
 ** modify it under the terms of the GNU General Public License as
@@ -40,12 +41,14 @@
 
 namespace studio {
 class Widget_Timeslider;
+class Widget_Keyframe_List;
 
 class Dock_Timetrack : public Dock_CanvasSpecific
 {
Gtk::HScrollbar* hscrollbar_;
Gtk::VScrollbar* vscrollbar_;
Widget_Timeslider* widget_timeslider_;
+   Widget_Keyframe_List* widget_kf_list_;
Gtk::Table* table_;
 
 protected:
@@ -59,7 +62,7 @@ public:
 
Dock_Timetrack();
~Dock_Timetrack();
-}; // END of Dock_Keyframes
+}; // END of Dock_Timetrack
 
 }; // END of namespace studio
 
diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp 
b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
index d3269de..e0669c4 100644
--- a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
+++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
@@ -218,7 +218,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)
t = floor(t*fps + 0.5)/fps;
}
bool stat=perform_move_kf();
-   synfig::info(Dropping keyframe at: %s, t.get_string());
+

[Synfig-devl] Konstantin Dmitriev : Merge branch 'master' into zelgadis_master

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: e9a42a585dec26a8c0aabcfd6e12755f0f0f1156
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=e9a42a585dec26a8c0aabcfd6e12755f0f0f1156

Author: Konstantin Dmitriev ksee.zelga...@gmail.com
Date:   Thu Jul 16 20:21:26 2009 +0700

Merge branch 'master' into zelgadis_master

---




--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Konstantin Dmitriev : synfigstudio-cph-monitor: Show small notice about script purpose.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: d240a32754a4dea85ac6321527e3110671e2e1ec
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=d240a32754a4dea85ac6321527e3110671e2e1ec

Author: Konstantin Dmitriev ksee.zelga...@gmail.com
Date:   Fri Jul 17 14:21:15 2009 +0700

synfigstudio-cph-monitor: Show small notice about script purpose.

---

 synfig-studio/trunk/synfigstudio-cph-monitor |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/synfig-studio/trunk/synfigstudio-cph-monitor 
b/synfig-studio/trunk/synfigstudio-cph-monitor
index 02fc18a..52d33ad 100755
--- a/synfig-studio/trunk/synfigstudio-cph-monitor
+++ b/synfig-studio/trunk/synfigstudio-cph-monitor
@@ -17,6 +17,8 @@ trap writelog INT
 
 init()
 {
+echo Synfig Crash Monitor is a tool to collect statistics about synfig 
crashes. All information is collected locally in ~/.synfig/cph directory.
+echo
 echo `date +%H:%M` Synfig Crash Monitor started.
 STARTED=0
 RUNTIME=0
@@ -105,7 +107,6 @@ mainloop()
if [ ! -e $P ]; then
P=`which $P`
fi
-   echo $P
P=`dirname $P`
echoAssuming synfig installed in $P.
VERSION=`$P/synfig --info|head -n 1|cut -d '-' 
-f 2`


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Now the widget is fully working. Need a place to be stored and better size.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: b5c3d66d7714b6a2b6a10eb968206c6a46b0f026
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b5c3d66d7714b6a2b6a10eb968206c6a46b0f026

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sat Jul 18 12:44:52 2009 +0200

Now the widget is fully working. Need a place to be stored and better size.

---

 synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp   |3 +-
 .../trunk/src/gtkmm/widget_keyframe_list.cpp   |   52 ++--
 .../trunk/src/gtkmm/widget_keyframe_list.h |9 +++
 3 files changed, 58 insertions(+), 6 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp 
b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
index 7f0c253..c13bb71 100644
--- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
+++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
@@ -504,8 +504,7 @@ 
Dock_Timetrack::changed_canvas_view_vfunc(etl::loose_handleCanvasView canvas_v

widget_timeslider_-set_global_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate());
 

widget_kf_list_-set_time_adjustment(canvas_view-time_adjustment());
-   
widget_kf_list_-set_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate());
-   
widget_kf_list_-set_kf_list(canvas_view-get_canvas()-keyframe_list());
+   
widget_kf_list_-set_canvas_interface(canvas_view-canvas_interface());
 
vscrollbar_-set_adjustment(*tree_view-get_vadjustment());

hscrollbar_-set_adjustment(canvas_view-time_window_adjustment());
diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp 
b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
index dba098d..9ab98ba 100644
--- a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
+++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
@@ -48,6 +48,7 @@ using namespace etl;
 using namespace synfig;
 using namespace studio;
 
+
 /* === M A C R O S = */
 
 /* === G L O B A L S === */
@@ -165,23 +166,47 @@ void
 Widget_Keyframe_List::set_kf_list(synfig::KeyframeList* x)
 {
kf_list_=x;
-   if(kf_list_-size())
-   set_selected_keyframe(selected_none);
+   set_selected_keyframe(selected_none);
+   selected_=false;
+   dragging_=false;
 }
 
 void
 Widget_Keyframe_List::set_selected_keyframe(const synfig::Keyframe x)
 {
selected_kf=x;
+   selected_=true;
dragging_kf_time=selected_kf.get_time();
//signal_keyframe_selected_(selected_kf);
+   dragging_=false;
queue_draw();
 }
 
 bool
 Widget_Keyframe_List::perform_move_kf()
 {
-   return false;
+   if(!selected_)
+   return false;
+   if(dragging_kf_time == selected_kf.get_time())
+   return false;
+   synfigapp::Action::Handle 
action(synfigapp::Action::create(KeyframeSet));
+   if(!action)
+   return false;
+   selected_kf.set_time(dragging_kf_time);
+   action-set_param(canvas,canvas_interface_-get_canvas());
+   action-set_param(canvas_interface,canvas_interface_);
+   action-set_param(keyframe,selected_kf);
+   //synfig::info(DELTA: %s, 
(dragging_kf_time-selected_kf.get_time()).get_string().c_str());
+   try
+   {
+   canvas_interface_-get_instance()-perform_action(action);
+   }
+   catch(...)
+   {
+   return false;
+   }
+   queue_draw();
+   return true;
 }
 
 bool
@@ -243,6 +268,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)
)
{
set_selected_keyframe(selected_none);
+   selected_=false;
synfig::info(Selected keyframe set to 
none);
synfig::info(Distance to prev %s, 
(t-prev_t).get_string().c_str());
synfig::info(Distance to next %s, 
(next_t-t).get_string().c_str());
@@ -254,6 +280,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)

set_selected_keyframe(*(kf_list_-find_prev(t)));
synfig::info(Selected keyframe set to 
previous);
queue_draw();
+   selected_=true;
return true;
}
else
@@ -261,6 +288,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)

set_selected_keyframe(*(kf_list_-find_next(t)));
synfig::info(Selected keyframe set to 
next);
queue_draw();
+

[Synfig-devl] Carlos Lopez : Make less verbose the output. Add some comments. No code change

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 6ca831840a433a896022504f8314ceec00f81950
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=6ca831840a433a896022504f8314ceec00f81950

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sat Jul 18 14:33:44 2009 +0200

Make less verbose the output. Add some comments. No code change

---

 .../trunk/src/gtkmm/widget_keyframe_list.cpp   |   22 ++--
 1 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp 
b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
index 9ab98ba..1e597ce 100644
--- a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
+++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
@@ -196,7 +196,6 @@ Widget_Keyframe_List::perform_move_kf()
action-set_param(canvas,canvas_interface_-get_canvas());
action-set_param(canvas_interface,canvas_interface_);
action-set_param(keyframe,selected_kf);
-   //synfig::info(DELTA: %s, 
(dragging_kf_time-selected_kf.get_time()).get_string().c_str());
try
{
canvas_interface_-get_instance()-perform_action(action);
@@ -227,7 +226,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)
//Do not respond mouse events if the list is empty
if(!kf_list_-size())
{
-   synfig::info(Keyframe list empty);
+   //  synfig::info(Keyframe list empty);
return true;
}
 
@@ -237,7 +236,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)
case GDK_MOTION_NOTIFY:
if(editable_)
{
-   // stick to integer frames.
+   // stick to integer frames. It can be optional in the 
future
if(fps)
{
t = floor(t*fps + 0.5)/fps;
@@ -253,11 +252,11 @@ Widget_Keyframe_List::on_event(GdkEvent *event)
dragging_=false;
if(event-button.button==1)
{
-   synfig::info(Looking keyframe at  %s, 
t.get_string().c_str());
+   /*synfig::info(Looking keyframe at  %s, 
t.get_string().c_str());
synfig::info(Total amount of keyframes %i, 
kf_list_-size());
synfig::info(Time ratio 
%s,time_ratio.get_string().c_str());
synfig::info(Bottom %s,bottom.get_string().c_str());
-   synfig::info(Top %s,top.get_string().c_str());
+   synfig::info(Top %s,top.get_string().c_str());*/
if(editable_)
{
synfig::Time prev_t,next_t;
@@ -269,16 +268,16 @@ Widget_Keyframe_List::on_event(GdkEvent *event)
{
set_selected_keyframe(selected_none);
selected_=false;
-   synfig::info(Selected keyframe set to 
none);
+   /*synfig::info(Selected keyframe set 
to none);
synfig::info(Distance to prev %s, 
(t-prev_t).get_string().c_str());
-   synfig::info(Distance to next %s, 
(next_t-t).get_string().c_str());
+   synfig::info(Distance to next %s, 
(next_t-t).get_string().c_str());*/
queue_draw();
return true;
}
else if ((t-prev_t)(next_t-t))
{

set_selected_keyframe(*(kf_list_-find_prev(t)));
-   synfig::info(Selected keyframe set to 
previous);
+   //synfig::info(Selected keyframe set 
to previous);
queue_draw();
selected_=true;
return true;
@@ -286,7 +285,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)
else
{

set_selected_keyframe(*(kf_list_-find_next(t)));
-   synfig::info(Selected keyframe set to 
next);
+   //synfig::info(Selected keyframe set 
to next);
queue_draw();
selected_=true;
return true;
@@ -312,8 +311,8 @@ Widget_Keyframe_List::on_event(GdkEvent *event)
if(dragging_)
stat=perform_move_kf();
dragging_=false;
-   synfig::info(Dropping keyframe 

[Synfig-devl] Konstantin Dmitriev : Revision detection code cleanup.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 66e784568be71ba8f42919341417bfa06a690458
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=66e784568be71ba8f42919341417bfa06a690458

Author: Konstantin Dmitriev ksee.zelga...@gmail.com
Date:   Sat Jul 18 23:47:39 2009 +0700

Revision detection code cleanup.

---

 synfig-core/trunk/build_tools/autorevision.sh   |   10 +-
 synfig-studio/trunk/build_tools/autorevision.sh |2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/synfig-core/trunk/build_tools/autorevision.sh 
b/synfig-core/trunk/build_tools/autorevision.sh
index 9e31cd1..e2d247f 100644
--- a/synfig-core/trunk/build_tools/autorevision.sh
+++ b/synfig-core/trunk/build_tools/autorevision.sh
@@ -15,8 +15,8 @@
 
 get_git_id(){
export SCM=git
-   export REVISION=`cd $1; git log --no-color -1 | head -n 1 | cut -f 2 
-d ' '`
-   BRANCH=`cd $1; git branch -a --no-color --contains HEAD | sed -e 
s/\*\ // | sed -e s/\(no\ branch\)//`
+   export REVISION_ID=`cd $1; git log --no-color -1 | head -n 1 | cut -f 
2 -d ' '`
+   export BRANCH=`cd $1; git branch -a --no-color --contains HEAD | sed 
-e s/\*\ // | sed -e s/\(no\ branch\)//`
if ( echo $BRANCH | egrep origin/master  /dev/null ); then
#give a priority to master branch
BRANCH='master'
@@ -24,8 +24,8 @@ get_git_id(){
BRANCH=`echo $BRANCH | cut -d ' ' -f 1`
BRANCH=${BRANCH#*/}
fi
-   export DATE=`git-show --pretty=format:%ci HEAD |  head -c 10`
-   DATE=${DATE:0:4}${DATE:5:2}${DATE:8:2}
+   export REVISION=`git-show --pretty=format:%ci HEAD |  head -c 10`
+   REVISION=${REVISION:0:4}${REVISION:5:2}${REVISION:8:2}
export COMPARE=$1/.git/
# The extra * at the end is for Modified
#REVISION=$REVISION`cd $1; [[ $(git status 2 /dev/null | tail -n1) 
!= nothing to commit (working directory clean) ]]  echo *`
@@ -94,7 +94,7 @@ if [ x = x$DEVEL_VERSION ] ; then
elif [ $SCM = git-svn ] ; then
DEVEL_VERSION=SVN r$REVISION (via git)
elif [ $SCM = git ] ; then
-   DEVEL_VERSION=Development version: $DATE \\nBranch: 
${BRANCH} \\nRevision ID: $REVISION
+   DEVEL_VERSION=Revision: $REVISION\\nBranch: 
${BRANCH}\\nRevision ID: $REVISION_ID
elif [ $SCM = manual ] ; then
DEVEL_VERSION=$REVISION (manually configured)
fi
diff --git a/synfig-studio/trunk/build_tools/autorevision.sh 
b/synfig-studio/trunk/build_tools/autorevision.sh
index e7e7b7a..27b2352 100644
--- a/synfig-studio/trunk/build_tools/autorevision.sh
+++ b/synfig-studio/trunk/build_tools/autorevision.sh
@@ -16,7 +16,7 @@
 get_git_id(){
export SCM=git
export REVISION_ID=`cd $1; git log --no-color -1 | head -n 1 | cut -f 
2 -d ' '`
-   BRANCH=`cd $1; git branch -a --no-color --contains HEAD | sed -e 
s/\*\ // | sed -e s/\(no\ branch\)//`
+   export BRANCH=`cd $1; git branch -a --no-color --contains HEAD | sed 
-e s/\*\ // | sed -e s/\(no\ branch\)//`
if ( echo $BRANCH | egrep origin/master  /dev/null ); then
#give a priority to master branch
BRANCH='master'


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Konstantin Dmitriev : synfigstudio-cph-monitor: display version correctly if built on (no branch).

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: e24d1cb036230917979fd3893e88ac2373e70cac
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=e24d1cb036230917979fd3893e88ac2373e70cac

Author: Konstantin Dmitriev ksee.zelga...@gmail.com
Date:   Sat Jul 18 22:53:21 2009 +0700

synfigstudio-cph-monitor: display version correctly if built on (no branch).

---

 synfig-studio/trunk/synfigstudio-cph-monitor |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/synfig-studio/trunk/synfigstudio-cph-monitor 
b/synfig-studio/trunk/synfigstudio-cph-monitor
index 52d33ad..57ad242 100755
--- a/synfig-studio/trunk/synfigstudio-cph-monitor
+++ b/synfig-studio/trunk/synfigstudio-cph-monitor
@@ -108,14 +108,14 @@ mainloop()
P=`which $P`
fi
P=`dirname $P`
-   echoAssuming synfig installed in $P.
VERSION=`$P/synfig --info|head -n 1|cut -d '-' 
-f 2`
RELEASE=`$P/synfig --info|egrep Development 
version:|cut -d ' ' -f 3`
-   BRANCH=`$P/synfig --info|egrep Branch:|cut -d 
' ' -f 2`
+   BRANCH=`$P/synfig --info|egrep Branch:|cut -d 
' ' -f 2-3`
if [[ $BRANCH == '(no branch)' ]]; then
BRANCH=`$P/synfig --info|egrep 
Revision ID:|cut -d ' ' -f 3`
fi
echo `date +%H:%M` Synfig 
$VERSION.$RELEASE.$BRANCH started.
+   echo `date +%H:%M` Assuming Synfig installed 
in $P.
else
let RUNTIME=$RUNTIME+1
fi


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : It looks ugly but it is shown. Doesn't work though

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 7b4f66dfa1f4e6172e8826d3f91588fa00edde11
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=7b4f66dfa1f4e6172e8826d3f91588fa00edde11

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Fri Jul 17 20:02:56 2009 +0200

It looks ugly but it is shown. Doesn't work though

---

 synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp |   10 +-
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp 
b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
index 956c9e1..f8a8feb 100644
--- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
+++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
@@ -509,12 +509,12 @@ 
Dock_Timetrack::changed_canvas_view_vfunc(etl::loose_handleCanvasView canvas_v
 
vscrollbar_-set_adjustment(*tree_view-get_vadjustment());

hscrollbar_-set_adjustment(canvas_view-time_window_adjustment());
-   table_=new Gtk::Table(2,2);
+   table_=new Gtk::Table(2,3);
table_-attach(*widget_timeslider_, 0, 1, 0, 1, 
Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::SHRINK);
-   table_-attach(*widget_kf_list_, 0, 1, 0, 1, 
Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::SHRINK);
-   table_-attach(*tree_view, 0, 1, 1, 2, Gtk::FILL|Gtk::EXPAND, 
Gtk::FILL|Gtk::EXPAND);
-   table_-attach(*hscrollbar_, 0, 1, 2, 3, Gtk::FILL|Gtk::EXPAND, 
Gtk::FILL|Gtk::SHRINK);
-   table_-attach(*vscrollbar_, 1, 2, 0, 2, Gtk::FILL|Gtk::SHRINK, 
Gtk::FILL|Gtk::EXPAND);
+   table_-attach(*widget_kf_list_, 0, 1, 1, 2, 
Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::SHRINK);
+   table_-attach(*tree_view, 0, 1, 2, 3, Gtk::FILL|Gtk::EXPAND, 
Gtk::FILL|Gtk::EXPAND);
+   table_-attach(*hscrollbar_, 0, 1, 3, 4, Gtk::FILL|Gtk::EXPAND, 
Gtk::FILL|Gtk::SHRINK);
+   table_-attach(*vscrollbar_, 1, 2, 0, 3, Gtk::FILL|Gtk::SHRINK, 
Gtk::FILL|Gtk::EXPAND);
add(*table_);
 
//add(*last_widget_curves_);


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : A little smaller, and better look. I don' t like it so much though. Have to think other solution.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: b22edfe1a90f8452b20a6f71816f0618fd2a9d37
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b22edfe1a90f8452b20a6f71816f0618fd2a9d37

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sat Jul 18 22:00:13 2009 +0200

A little smaller, and better look. I don't like it so much though. Have to 
think other solution.

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp   |   22 +--
 synfig-studio/trunk/src/gtkmm/canvasview.h |4 +++
 synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp   |4 +-
 .../trunk/src/gtkmm/widget_keyframe_list.cpp   |   13 +--
 .../trunk/src/gtkmm/widget_timeslider.cpp  |2 +-
 5 files changed, 28 insertions(+), 17 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index a76b1a0..9675f03 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -690,6 +690,7 @@ CanvasView::CanvasView(etl::loose_handleInstance 
instance,etl::handlesynfigap
statusbar   (manage(new class 
Gtk::Statusbar())),
 
timeslider  (new Widget_Timeslider),
+   widget_kf_list  (new Widget_Keyframe_List),
 
ui_interface_   (new CanvasViewUIInterface(this)),
selection_manager_  (new CanvasViewSelectionManager(this)),
@@ -965,7 +966,13 @@ CanvasView::create_time_bar()
//Widget_Timeslider *time_scroll = manage(new Widget_Timeslider);
timeslider-set_time_adjustment(time_adjustment());
timeslider-set_bounds_adjustment(time_window_adjustment());
+   //timeslider-set_size_request(-1,12);
//layout_table-attach(*timeslider, 0, 1, 2, 3, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK|Gtk::FILL);
+   //Setup the keyframe list widget
+   widget_kf_list-set_time_adjustment(time_adjustment());
+   widget_kf_list-set_canvas_interface(canvas_interface());
+   widget_kf_list-show();
+   widget_kf_list-set_size_request(-1,8);
 
tooltips.set_tip(*time_window_scroll,_(Moves the time window));
tooltips.set_tip(*timeslider,_(Changes the current time));
@@ -1033,16 +1040,17 @@ CanvasView::create_time_bar()
keyframedial-show();
keyframebutton=keyframedial-get_lock_button();
 
-   timebar = manage(new class Gtk::Table(5, 4, false));
+   timebar = Gtk::manage(new class Gtk::Table(5, 4, false));
 
//Attach widgets to the timebar
-   timebar-attach(*manage(disp_audio), 1, 5, 0, 1, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
-   timebar-attach(*framedial, 0, 1, 2, 3,Gtk::SHRINK, Gtk::SHRINK);
-   timebar-attach(*current_time_widget, 0, 1, 1, 2, 
Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0);
-   timebar-attach(*timeslider, 1, 3, 1, 2, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
+   //timebar-attach(*manage(disp_audio), 1, 5, 0, 1, 
Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK);
+   timebar-attach(*current_time_widget, 0, 1, 0, 2, 
Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0);
+   timebar-attach(*framedial, 0, 1, 2, 3, Gtk::SHRINK, Gtk::SHRINK);
+   timebar-attach(*timeslider, 1, 3, 0, 1, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
+   timebar-attach(*widget_kf_list, 1, 3, 1, 2, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
timebar-attach(*time_window_scroll, 1, 3, 2, 3, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
-   timebar-attach(*keyframedial, 3, 4, 1, 2, Gtk::SHRINK, Gtk::SHRINK);
-   timebar-attach(*animatebutton, 4, 5, 1, 2, Gtk::SHRINK, Gtk::SHRINK);
+   timebar-attach(*keyframedial, 3, 4, 0, 2, Gtk::SHRINK, Gtk::SHRINK);
+   timebar-attach(*animatebutton, 4, 5, 0, 2, Gtk::SHRINK, Gtk::SHRINK);
//timebar-attach(*keyframebutton, 1, 2, 3, 4, Gtk::SHRINK, 
Gtk::SHRINK);
 
timebar-show();
diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h 
b/synfig-studio/trunk/src/gtkmm/canvasview.h
index a33fb26..cddcbe2 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.h
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.h
@@ -70,6 +70,7 @@
 #include framedial.h
 #include toggleducksdial.h
 #include resolutiondial.h
+#include widget_keyframe_list.h
 
 #include duckmatic.h
 #include gtkmm/scale.h
@@ -294,6 +295,9 @@ private:
//! Time slider class. Same than the Time track panel
std::auto_ptrWidget_Timeslider timeslider;
 
+   //!Keyframe list slider
+   std::auto_ptrWidget_Keyframe_List widget_kf_list;
+
std::listsigc::connection duck_changed_connections;
 
 /* DEBUGPOINT_CLASS(8);
diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp 
b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
index c13bb71..ac36340 100644
--- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
+++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
@@ -414,8 +414,8 @@ Dock_Timetrack::Dock_Timetrack():
if 

[Synfig-devl] Konstantin Dmitriev : Make synfigstudio-cph-monitor compatible with latest changes. Enable logging of git revision ID. Minor fixes.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 0a146b70060f29b894a369af20396d7f4246d107
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=0a146b70060f29b894a369af20396d7f4246d107

Author: Konstantin Dmitriev ksee.zelga...@gmail.com
Date:   Sun Jul 19 22:39:40 2009 +0700

Make synfigstudio-cph-monitor compatible with latest changes. Enable logging of 
git revision ID. Minor fixes.

---

 synfig-studio/trunk/synfigstudio-cph-monitor |   13 -
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/synfig-studio/trunk/synfigstudio-cph-monitor 
b/synfig-studio/trunk/synfigstudio-cph-monitor
index 57ad242..76f77f4 100755
--- a/synfig-studio/trunk/synfigstudio-cph-monitor
+++ b/synfig-studio/trunk/synfigstudio-cph-monitor
@@ -17,7 +17,8 @@ trap writelog INT
 
 init()
 {
-echo Synfig Crash Monitor is a tool to collect statistics about synfig 
crashes. All information is collected locally in ~/.synfig/cph directory.
+echo Synfig Crash Monitor is a tool to collect statistics about synfig 
crashes.
+echo All information is collected locally in ~/.synfig/cph directory.
 echo
 echo `date +%H:%M` Synfig Crash Monitor started.
 STARTED=0
@@ -25,6 +26,7 @@ RUNTIME=0
 VERSION=''
 RELEASE=''
 BRANCH=''
+REVISION_ID=''
 CRASH=0
 [ ! -d ~/.synfig/cph ]  mkdir -p ~/.synfig/cph || true
 }
@@ -47,7 +49,7 @@ writelog()
fi
fi
#write log
-   echo $VERSION/$BRANCH/$RELEASE $RUNTIME $CRASH  
~/.synfig/cph/log
+   echo $VERSION/$BRANCH/$RELEASE/$REVISION_ID $RUNTIME $CRASH  
~/.synfig/cph/log
CRASH=0
RUNTIME=0
else
@@ -109,12 +111,13 @@ mainloop()
fi
P=`dirname $P`
VERSION=`$P/synfig --info|head -n 1|cut -d '-' 
-f 2`
-   RELEASE=`$P/synfig --info|egrep Development 
version:|cut -d ' ' -f 3`
+   RELEASE=`$P/synfig --info|egrep Revision:|cut 
-d ' ' -f 2`
BRANCH=`$P/synfig --info|egrep Branch:|cut -d 
' ' -f 2-3`
+   REVISION_ID=`$P/synfig --info|egrep Revision 
ID:|cut -d ' ' -f 3`
if [[ $BRANCH == '(no branch)' ]]; then
-   BRANCH=`$P/synfig --info|egrep 
Revision ID:|cut -d ' ' -f 3`
+   BRANCH=$REVISION_ID
fi
-   echo `date +%H:%M` Synfig 
$VERSION.$RELEASE.$BRANCH started.
+   echo `date +%H:%M` Synfig 
$VERSION.$RELEASE.$BRANCH.$REVISION_ID started.
echo `date +%H:%M` Assuming Synfig installed 
in $P.
else
let RUNTIME=$RUNTIME+1


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Konstantin Dmitriev : Detect branch better when getting git revision information

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: f6235817a7a2b5a66539c494454daf2af04b2a4b
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=f6235817a7a2b5a66539c494454daf2af04b2a4b

Author: Konstantin Dmitriev ksee.zelga...@gmail.com
Date:   Sat Jul 18 22:51:57 2009 +0700

Detect branch better when getting git revision information
(for 'synfig --info' and about dialog).

---

 synfig-core/trunk/build_tools/autorevision.sh   |9 -
 synfig-studio/trunk/build_tools/autorevision.sh |9 -
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/synfig-core/trunk/build_tools/autorevision.sh 
b/synfig-core/trunk/build_tools/autorevision.sh
index 2ccdb01..9e31cd1 100644
--- a/synfig-core/trunk/build_tools/autorevision.sh
+++ b/synfig-core/trunk/build_tools/autorevision.sh
@@ -16,7 +16,14 @@
 get_git_id(){
export SCM=git
export REVISION=`cd $1; git log --no-color -1 | head -n 1 | cut -f 2 
-d ' '`
-   export BRANCH=`cd $1; git branch --no-color 2 /dev/null | sed -e 
'/^[^*]/d' -e 's/* \(.*\)/\1/'`
+   BRANCH=`cd $1; git branch -a --no-color --contains HEAD | sed -e 
s/\*\ // | sed -e s/\(no\ branch\)//`
+   if ( echo $BRANCH | egrep origin/master  /dev/null ); then
+   #give a priority to master branch
+   BRANCH='master'
+   else
+   BRANCH=`echo $BRANCH | cut -d ' ' -f 1`
+   BRANCH=${BRANCH#*/}
+   fi
export DATE=`git-show --pretty=format:%ci HEAD |  head -c 10`
DATE=${DATE:0:4}${DATE:5:2}${DATE:8:2}
export COMPARE=$1/.git/
diff --git a/synfig-studio/trunk/build_tools/autorevision.sh 
b/synfig-studio/trunk/build_tools/autorevision.sh
index d8ee63b..e7e7b7a 100644
--- a/synfig-studio/trunk/build_tools/autorevision.sh
+++ b/synfig-studio/trunk/build_tools/autorevision.sh
@@ -16,7 +16,14 @@
 get_git_id(){
export SCM=git
export REVISION_ID=`cd $1; git log --no-color -1 | head -n 1 | cut -f 
2 -d ' '`
-   export BRANCH=`cd $1; git branch --no-color 2 /dev/null | sed -e 
'/^[^*]/d' -e 's/* \(.*\)/\1/'`
+   BRANCH=`cd $1; git branch -a --no-color --contains HEAD | sed -e 
s/\*\ // | sed -e s/\(no\ branch\)//`
+   if ( echo $BRANCH | egrep origin/master  /dev/null ); then
+   #give a priority to master branch
+   BRANCH='master'
+   else
+   BRANCH=`echo $BRANCH | cut -d ' ' -f 1`
+   BRANCH=${BRANCH#*/}
+   fi
export REVISION=`git-show --pretty=format:%ci HEAD |  head -c 10`
REVISION=${REVISION:0:4}${REVISION:5:2}${REVISION:8:2}
export COMPARE=$1/.git/


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Added code to fix the shown of the keyfrmae list widget. It is not fully working at the moment.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: dd3f7a1496c6ac179f17ca1d940cc4310333891e
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=dd3f7a1496c6ac179f17ca1d940cc4310333891e

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Fri Jul 17 20:56:26 2009 +0200

Added code to fix the shown of the keyfrmae list widget. It is not fully 
working at the moment.

---

 synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp   |2 +-
 .../trunk/src/gtkmm/widget_keyframe_list.cpp   |   32 +--
 .../trunk/src/gtkmm/widget_keyframe_list.h |7 ++--
 3 files changed, 27 insertions(+), 14 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp 
b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
index f8a8feb..7f0c253 100644
--- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
+++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
@@ -505,7 +505,7 @@ 
Dock_Timetrack::changed_canvas_view_vfunc(etl::loose_handleCanvasView canvas_v
 

widget_kf_list_-set_time_adjustment(canvas_view-time_adjustment());

widget_kf_list_-set_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate());
-   
widget_kf_list_-set_kf_list(canvas_view-get_canvas()-keyframe_list());
+   
widget_kf_list_-set_kf_list(canvas_view-get_canvas()-keyframe_list());
 
vscrollbar_-set_adjustment(*tree_view-get_vadjustment());

hscrollbar_-set_adjustment(canvas_view-time_window_adjustment());
diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp 
b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
index e0669c4..835f814 100644
--- a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
+++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
@@ -60,7 +60,8 @@ Widget_Keyframe_List::Widget_Keyframe_List():
editable_(true),
adj_default(0,0,2,1/24,10/24),
adj_timescale(0),
-   fps(24)
+   fps(24),
+   kf_list_(default_kf_list_)
 {
set_size_request(-1,64);
//!This signal is called when the widget need to be redrawn
@@ -80,6 +81,7 @@ Widget_Keyframe_List::~Widget_Keyframe_List()
 bool
 Widget_Keyframe_List::redraw(GdkEventExpose */*bleh*/)
 {
+   if (kf_list_-empty()) return false;
const int h(get_height());
const int w(get_width());
 
@@ -98,13 +100,13 @@ Widget_Keyframe_List::redraw(GdkEventExpose */*bleh*/)
}
 
//! draw a background
-   gc-set_rgb_fg_color(Gdk::Color(#7f7f7f));
-   get_window()-draw_rectangle(gc, false, 0, 0, w, h);
+   gc-set_rgb_fg_color(Gdk::Color(#FF));
+   get_window()-draw_rectangle(gc, true, 0, 0, w, h);
 
//!Loop all the keyframes
synfig::KeyframeList::iterator iter,selected_iter;
bool show_selected(false);
-   for(iter=kf_list_.begin();iter!=kf_list_.end();iter++)
+   for(iter=kf_list_-begin();iter!=kf_list_-end();iter++)
{
//!do not draw keyframes out of the widget boundaries
if (iter-get_time()top || iter-get_time()bottom)
@@ -139,11 +141,11 @@ Widget_Keyframe_List::redraw(GdkEventExpose */*bleh*/)
 
 
 void
-Widget_Keyframe_List::set_kf_list(const synfig::KeyframeList x)
+Widget_Keyframe_List::set_kf_list(synfig::KeyframeList* x)
 {
kf_list_=x;
-   if(kf_list_.size())
-   
set_selected_keyframe(*kf_list_.find_next(synfig::Time::zero()));
+   if(kf_list_-size())
+   
set_selected_keyframe(*kf_list_-find_next(synfig::Time::zero()));
 }
 
 void
@@ -174,13 +176,21 @@ Widget_Keyframe_List::on_event(GdkEvent *event)
if(pos1.0f)pos=1.0f;
//! The time where the event x is
synfig::Time t((float)(pos*(top-bottom)));
-   //! here the guts of the event
+
+   //Do not respond mouse events if the list is empty
+   if(!kf_list_-size())
+   {
+   synfig::info(Keyframe list empty);
+   return true;
+   }
+
+   //! here the guts of the event
switch(event-type)
{
case GDK_MOTION_NOTIFY:
if(editable_)
{
-   if(!kf_list_.size()) return true;
+
// stick to integer frames.
if(fps)
{
@@ -195,10 +205,12 @@ Widget_Keyframe_List::on_event(GdkEvent *event)
changed_=false;
if(event-button.button==1)
{
+   synfig::info(Looking keyframe at  %s, 
t.get_string().c_str());
+   synfig::info(Total amount of keyframes %i, 
kf_list_-size());
if(editable_)
{
synfig::KeyframeList::iterator selected;
-   selected = kf_list_.find_next(t);
+   selected = kf_list_-find_next(t);

[Synfig-devl] Konstantin Dmitriev : git-show is deprecated - don't use it.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: d907815c1287e74a55891b220adcfaef8d0ed03d
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=d907815c1287e74a55891b220adcfaef8d0ed03d

Author: Konstantin Dmitriev ksee.zelga...@gmail.com
Date:   Sun Jul 19 22:34:01 2009 +0700

git-show is deprecated - don't use it.

---

 synfig-core/trunk/build_tools/autorevision.sh   |2 +-
 synfig-studio/trunk/build_tools/autorevision.sh |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/synfig-core/trunk/build_tools/autorevision.sh 
b/synfig-core/trunk/build_tools/autorevision.sh
index e2d247f..f898b10 100644
--- a/synfig-core/trunk/build_tools/autorevision.sh
+++ b/synfig-core/trunk/build_tools/autorevision.sh
@@ -24,7 +24,7 @@ get_git_id(){
BRANCH=`echo $BRANCH | cut -d ' ' -f 1`
BRANCH=${BRANCH#*/}
fi
-   export REVISION=`git-show --pretty=format:%ci HEAD |  head -c 10`
+   export REVISION=`git show --pretty=format:%ci HEAD |  head -c 10`
REVISION=${REVISION:0:4}${REVISION:5:2}${REVISION:8:2}
export COMPARE=$1/.git/
# The extra * at the end is for Modified
diff --git a/synfig-studio/trunk/build_tools/autorevision.sh 
b/synfig-studio/trunk/build_tools/autorevision.sh
index 27b2352..e6516b1 100644
--- a/synfig-studio/trunk/build_tools/autorevision.sh
+++ b/synfig-studio/trunk/build_tools/autorevision.sh
@@ -24,7 +24,7 @@ get_git_id(){
BRANCH=`echo $BRANCH | cut -d ' ' -f 1`
BRANCH=${BRANCH#*/}
fi
-   export REVISION=`git-show --pretty=format:%ci HEAD |  head -c 10`
+   export REVISION=`git show --pretty=format:%ci HEAD |  head -c 10`
REVISION=${REVISION:0:4}${REVISION:5:2}${REVISION:8:2}
export COMPARE=$1/.git/
# The extra * at the end is for Modified


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Fix bug for the modification of the keyframe length.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: ccdb7642df27ee84d641dc7c8a63f5fffbce2665
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=ccdb7642df27ee84d641dc7c8a63f5fffbce2665

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Wed Jul 22 17:47:39 2009 +0200

Fix bug for the modification of the keyframe length.
Now, modify the keyframe length column, shifts the rest
of keyframes form the modified keyframe to the end of time.

---

 .../src/synfigapp/actions/keyframesetdelta.cpp |5 -
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/synfig-studio/trunk/src/synfigapp/actions/keyframesetdelta.cpp 
b/synfig-studio/trunk/src/synfigapp/actions/keyframesetdelta.cpp
index 97898c3..6cd262a 100644
--- a/synfig-studio/trunk/src/synfigapp/actions/keyframesetdelta.cpp
+++ b/synfig-studio/trunk/src/synfigapp/actions/keyframesetdelta.cpp
@@ -178,7 +178,10 @@ Action::KeyframeSetDelta::perform()
 
 // Time location(keyframe.get_time());
Time location(get_canvas()-keyframe_list().find(keyframe)-get_time());
-   Time delta(delta);
+// This line sets delta to 0s regardless to any previous value of delta.
+// I think it was here for symmetry to the undo() operation.
+// It was causing that the Set delta operation was faulty. Now works!
+// Time delta(delta);
 
get_canvas()-keyframe_list().insert_time(location,delta);
 


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Forgot to commit those two files

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 723347b927dd88f5e127484d6ec33149206042ea
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=723347b927dd88f5e127484d6ec33149206042ea

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Tue Jul 21 01:43:49 2009 +0200

Forgot to commit those two files

---

 synfig-studio/trunk/src/gtkmm/canvasview.cpp |4 ++--
 synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp |4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp 
b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
index da2e672..6e40ea1 100644
--- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp
+++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp
@@ -1046,8 +1046,8 @@ CanvasView::create_time_bar()
//timebar-attach(*manage(disp_audio), 1, 5, 0, 1, 
Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK);
timebar-attach(*current_time_widget, 0, 1, 0, 2, 
Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0);
timebar-attach(*framedial, 0, 1, 2, 3, Gtk::SHRINK, Gtk::SHRINK);
-   timebar-attach(*timeslider, 1, 3, 0, 1, Gtk::EXPAND|Gtk::FILL, 
Gtk::EXPAND|Gtk::FILL);
-   timebar-attach(*widget_kf_list, 1, 3, 1, 2, 
Gtk::EXPAND|Gtk::FILL,Gtk::EXPAND|Gtk::FILL);
+   timebar-attach(*timeslider, 1, 3, 1, 2, Gtk::EXPAND|Gtk::FILL, 
Gtk::EXPAND|Gtk::FILL);
+   timebar-attach(*widget_kf_list, 1, 3, 0, 1, 
Gtk::EXPAND|Gtk::FILL,Gtk::EXPAND|Gtk::FILL);
timebar-attach(*time_window_scroll, 1, 3, 2, 3, Gtk::EXPAND|Gtk::FILL, 
Gtk::SHRINK);
timebar-attach(*keyframedial, 3, 4, 0, 2, Gtk::SHRINK, Gtk::SHRINK);
timebar-attach(*animatebutton, 4, 5, 0, 2, Gtk::SHRINK, Gtk::SHRINK);
diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp 
b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
index c070e8b..1255cd2 100644
--- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
+++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp
@@ -509,8 +509,8 @@ 
Dock_Timetrack::changed_canvas_view_vfunc(etl::loose_handleCanvasView canvas_v
vscrollbar_-set_adjustment(*tree_view-get_vadjustment());

hscrollbar_-set_adjustment(canvas_view-time_window_adjustment());
table_=new Gtk::Table(2,3);
-   table_-attach(*widget_timeslider_, 0, 1, 0, 1, 
Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::SHRINK);
-   table_-attach(*widget_kf_list_, 0, 1, 1, 2, 
Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::SHRINK);
+   table_-attach(*widget_timeslider_, 0, 1, 1, 2, 
Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::SHRINK);
+   table_-attach(*widget_kf_list_, 0, 1, 0, 1, 
Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::SHRINK);
table_-attach(*tree_view, 0, 1, 2, 3, Gtk::FILL|Gtk::EXPAND, 
Gtk::FILL|Gtk::EXPAND);
table_-attach(*hscrollbar_, 0, 1, 3, 4, Gtk::FILL|Gtk::EXPAND, 
Gtk::FILL|Gtk::SHRINK);
table_-attach(*vscrollbar_, 1, 2, 0, 3, Gtk::FILL|Gtk::SHRINK, 
Gtk::FILL|Gtk::EXPAND);


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Konstantin Dmitriev : Detect path to .git dir automatically.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 800a4e11123a4f0248eb37f7a79fd6a9b4b98c1c
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=800a4e11123a4f0248eb37f7a79fd6a9b4b98c1c

Author: Konstantin Dmitriev ksee.zelga...@gmail.com
Date:   Fri Jul 24 22:36:57 2009 +0700

Detect path to .git dir automatically.

---

 synfig-core/trunk/build_tools/autorevision.sh   |6 +++---
 synfig-studio/trunk/build_tools/autorevision.sh |6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/synfig-core/trunk/build_tools/autorevision.sh 
b/synfig-core/trunk/build_tools/autorevision.sh
index b635911..c7a1919 100644
--- a/synfig-core/trunk/build_tools/autorevision.sh
+++ b/synfig-core/trunk/build_tools/autorevision.sh
@@ -25,7 +25,7 @@ get_git_id(){
BRANCH=${BRANCH#*/}
fi
export REVISION=`git show --pretty=format:%ci HEAD |  head -c 10 | tr 
-d '-'`
-   export COMPARE=$1/.git/
+   export COMPARE=`git rev-parse --git-dir`
# The extra * at the end is for Modified
#REVISION=$REVISION`cd $1; [[ $(git status 2 /dev/null | tail -n1) 
!= nothing to commit (working directory clean) ]]  echo *`
 }
@@ -58,8 +58,8 @@ fi
 
 
 # Extract the revision from SVN/git/etc
-if [ -e $1/../../.git/refs/remotes/origin ] ; then
-   get_git_id $1/../..
+if git rev-parse --git-dir  /dev/null  21 ; then
+   get_git_id .
 elif [ -d $1/.git/svn ] ; then
get_git_svn_id $1
 elif [ -d $1/../.git/svn ] ; then
diff --git a/synfig-studio/trunk/build_tools/autorevision.sh 
b/synfig-studio/trunk/build_tools/autorevision.sh
index 605f242..de4a5b6 100644
--- a/synfig-studio/trunk/build_tools/autorevision.sh
+++ b/synfig-studio/trunk/build_tools/autorevision.sh
@@ -25,7 +25,7 @@ get_git_id(){
BRANCH=${BRANCH#*/}
fi
export REVISION=`git show --pretty=format:%ci HEAD |  head -c 10 | tr 
-d '-'`
-   export COMPARE=$1/.git/
+   export COMPARE=`git rev-parse --git-dir`
# The extra * at the end is for Modified
#REVISION=$REVISION`cd $1; [[ $(git status 2 /dev/null | tail -n1) 
!= nothing to commit (working directory clean) ]]  echo *`
 }
@@ -58,8 +58,8 @@ fi
 
 
 # Extract the revision from SVN/git/etc
-if [ -e $1/../../.git/refs/remotes/origin ] ; then
-   get_git_id $1/../..
+if git rev-parse --git-dir  /dev/null  21 ; then
+   get_git_id .
 elif [ -d $1/.git/svn ] ; then
get_git_svn_id $1
 elif [ -d $1/../.git/svn ] ; then


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Konstantin Dmitriev : Detect branch better. Don' t forget to clean autorevision.h in core.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 7abc6b3d3dbdb12d39d6e6f337fa20a20d320516
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=7abc6b3d3dbdb12d39d6e6f337fa20a20d320516

Author: Konstantin Dmitriev ksee.zelga...@gmail.com
Date:   Sat Jul 25 10:08:58 2009 +0700

Detect branch better. Don't forget to clean autorevision.h in core.

---

 synfig-core/trunk/build_tools/autorevision.sh   |4 ++--
 synfig-studio/trunk/build_tools/autorevision.sh |2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/synfig-core/trunk/build_tools/autorevision.sh 
b/synfig-core/trunk/build_tools/autorevision.sh
index c7a1919..c8f4cf2 100644
--- a/synfig-core/trunk/build_tools/autorevision.sh
+++ b/synfig-core/trunk/build_tools/autorevision.sh
@@ -22,7 +22,7 @@ get_git_id(){
BRANCH='master'
else
BRANCH=`echo $BRANCH | cut -d ' ' -f 1`
-   BRANCH=${BRANCH#*/}
+   BRANCH=${BRANCH##*/}
fi
export REVISION=`git show --pretty=format:%ci HEAD |  head -c 10 | tr 
-d '-'`
export COMPARE=`git rev-parse --git-dir`
@@ -103,5 +103,5 @@ fi
 
 # Output the header
 if [ x != x$DEVEL_VERSION ] ; then
-   printf #define DEVEL_VERSION \$DEVEL_VERSION\\n  $HEADER
+   printf #define DEVEL_VERSION \$DEVEL_VERSION\\n  $HEADER
 fi
diff --git a/synfig-studio/trunk/build_tools/autorevision.sh 
b/synfig-studio/trunk/build_tools/autorevision.sh
index de4a5b6..d8a5c8b 100644
--- a/synfig-studio/trunk/build_tools/autorevision.sh
+++ b/synfig-studio/trunk/build_tools/autorevision.sh
@@ -22,7 +22,7 @@ get_git_id(){
BRANCH='master'
else
BRANCH=`echo $BRANCH | cut -d ' ' -f 1`
-   BRANCH=${BRANCH#*/}
+   BRANCH=${BRANCH##*/}
fi
export REVISION=`git show --pretty=format:%ci HEAD |  head -c 10 | tr 
-d '-'`
export COMPARE=`git rev-parse --git-dir`


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Konstantin Dmitriev : synfigstudio-cph-monitor: Detect synfigstudio started with arguments too.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: c7efa619796407db833eb61ac1f41deb4cca78c8
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=c7efa619796407db833eb61ac1f41deb4cca78c8

Author: Konstantin Dmitriev ksee.zelga...@gmail.com
Date:   Sat Jul 25 13:39:28 2009 +0700

synfigstudio-cph-monitor: Detect synfigstudio started with arguments too.

---

 synfig-studio/trunk/synfigstudio-cph-monitor |9 +++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/synfig-studio/trunk/synfigstudio-cph-monitor 
b/synfig-studio/trunk/synfigstudio-cph-monitor
index 76f77f4..000b83a 100755
--- a/synfig-studio/trunk/synfigstudio-cph-monitor
+++ b/synfig-studio/trunk/synfigstudio-cph-monitor
@@ -98,13 +98,18 @@ dumpstats()
 mainloop()
 {
while true; do
-   if ( ps -f -u `whoami`|egrep synfigstudio$ /dev/null ) ; then
+   export PS=$(ps -f -u `whoami`)
+   if ( ( echo $PS |egrep synfigstudio$ /dev/null ) || ( echo 
$PS | egrep synfigstudio  /dev/null ) ) ; then
#synfigstudio process exist
if [[ $STARTED == 0 ]]; then
STARTED=1
RUNTIME=0
#get version
-   P=$(ps -f -u `whoami`|egrep synfigstudio$| tr 
-s ' '| cut -d ' ' -f 8)
+   if ( echo $PS |egrep synfigstudio$ 
/dev/null ) ; then
+   P=$( echo $PS |egrep synfigstudio$| 
tr -s ' '| cut -d ' ' -f 8)
+   else
+   P=$( echo $PS |egrep synfigstudio | 
tr -s ' '| cut -d ' ' -f 8)
+   fi
echo 
if [ ! -e $P ]; then
P=`which $P`


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Do not perform action when ALT-draging first keyframe

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 12876a2268b54c0cc2f381b5066a3bbc8ca623e8
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=12876a2268b54c0cc2f381b5066a3bbc8ca623e8

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sat Jul 25 11:18:48 2009 +0200

Do not perform action when ALT-draging first keyframe

---

 .../trunk/src/gtkmm/widget_keyframe_list.cpp   |8 ++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp 
b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
index 4c83d14..ace2b98 100644
--- a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
+++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
@@ -193,8 +193,12 @@ Widget_Keyframe_List::perform_move_kf(bool delta=false)
kf_list_-find_prev_next(selected_kf_time, prev, next);
// Not possible to set delta to the first keyframe
// perform normal movement
-   if (prev==Time::begin()) delta = false;
-
+   // As suggested by Zelgadis it is better to not perform anything.
+   if (prev==Time::begin()  delta==true)
+   {
+   synfig::info(_(Not possible to ALT-drag the first keyframe));
+   return false;
+   }
if(!delta)
{
synfigapp::Action::Handle 
action(synfigapp::Action::create(KeyframeSet));


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Use old and deprecated Tooltips class for compatibility with gtkmm 2.10

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 08caa838e9fd7826b436c88b07931fa99a116822
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=08caa838e9fd7826b436c88b07931fa99a116822

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Thu Jul 23 16:40:30 2009 +0200

Use old and deprecated Tooltips class for compatibility with gtkmm 2.10

---

 .../trunk/src/gtkmm/widget_keyframe_list.cpp   |   11 +--
 .../trunk/src/gtkmm/widget_keyframe_list.h |5 +
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp 
b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
index a350aa1..4c83d14 100644
--- a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
+++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp
@@ -282,6 +282,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event)
// AND NOT left or right mouse button pressed
else
{
+   Glib::ustring ttip=;
synfig::Time p_t,n_t;
kf_list_-find_prev_next(t, p_t, n_t);
if( (p_t==Time::begin()   
n_t==Time::end())
@@ -289,23 +290,21 @@ Widget_Keyframe_List::on_event(GdkEvent *event)
((t-p_t)time_ratio  (n_t-t)time_ratio)
)
{
-   Glib::ustring ttip = _(Click and drag 
keyframes);
-   set_tooltip_text(ttip);
+   ttip = _(Click and drag keyframes);
}
else if ((t-p_t)(n_t-t))
{
synfig::Keyframe 
kf(*kf_list_-find_prev(t));
synfig::String 
kf_name(kf.get_description().c_str());
-   Glib::ustring ttip = kf_name.c_str();
-   set_tooltip_text(ttip);
+   ttip = kf_name.c_str();
}
else
{
synfig::Keyframe 
kf(*kf_list_-find_next(t));
synfig::String 
kf_name(kf.get_description().c_str());
-   Glib::ustring ttip = kf_name.c_str();
-   set_tooltip_text(ttip);
+   ttip = kf_name.c_str();
}
+   tooltips.set_tip(*this, ttip);
dragging_=false;
queue_draw();
return true;
diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.h 
b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.h
index 349dcd3..1e41770 100644
--- a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.h
+++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.h
@@ -30,6 +30,7 @@
 
 #include gtkmm/drawingarea.h
 #include gtkmm/adjustment.h
+#include gtkmm/tooltips.h
 #include synfig/keyframe.h
 #include sigc++/connection.h
 #include synfigapp/canvasinterface.h
@@ -45,6 +46,10 @@ namespace studio {
 
 class Widget_Keyframe_List : public Gtk::DrawingArea
 {
+   //! Tooltips class. It is deprecated since gtkmm 2.12
+   //! replace with Tooltip class or use the own tooltip widget's members
+   Gtk::Tooltips tooltips;
+
//! The canvas interface being watched
etl::loose_handlesynfigapp::CanvasInterface canvas_interface_;
 


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Apply akagogo's patch for importing SVG files.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 7c1abe51ca9fa3743536b52a3325483878f6cd4d
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=7c1abe51ca9fa3743536b52a3325483878f6cd4d

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Sun Jul 26 08:26:02 2009 +0200

Apply akagogo's patch for importing SVG files.

---

 synfig-core/trunk/configure.ac |1 +
 synfig-core/trunk/src/modules/Makefile.am  |1 +
 synfig-core/trunk/src/modules/mod_svg/Makefile.am  |   14 +
 .../trunk/src/modules/mod_svg/layer_svg.cpp|  103 ++
 synfig-core/trunk/src/modules/mod_svg/layer_svg.h  |   67 +
 synfig-core/trunk/src/modules/mod_svg/main.cpp |   57 +
 synfig-core/trunk/src/modules/mod_svg/mod_svg.nsh  |   20 +
 .../trunk/src/modules/mod_svg/svg_parser.cpp   | 1934 
 synfig-core/trunk/src/modules/mod_svg/svg_parser.h |  211 +++
 .../trunk/src/modules/mod_svg/unmod_svg.nsh|9 +
 .../trunk/src/modules/synfig_modules.cfg.in|1 +
 synfig-core/trunk/src/synfig/loadcanvas.cpp|   83 +
 synfig-core/trunk/src/synfig/loadcanvas.h  |3 +
 .../trunk/src/synfigapp/canvasinterface.cpp|   29 +
 14 files changed, 2533 insertions(+), 0 deletions(-)

Diff:   
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commitdiff;h=7c1abe51ca9fa3743536b52a3325483878f6cd4d

--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Konstantin Dmitriev : synfigstudio-cph-monitor: Better detection for running synfigstudio.

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: 510db4e9760325e1cf103a936fe04e10f17d0ccb
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=510db4e9760325e1cf103a936fe04e10f17d0ccb

Author: Konstantin Dmitriev ksee.zelga...@gmail.com
Date:   Mon Jul 27 18:56:41 2009 +0700

synfigstudio-cph-monitor: Better detection for running synfigstudio.

---

 synfig-studio/trunk/synfigstudio-cph-monitor |9 ++---
 1 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/synfig-studio/trunk/synfigstudio-cph-monitor 
b/synfig-studio/trunk/synfigstudio-cph-monitor
index 7ca8461..6dcc2bc 100755
--- a/synfig-studio/trunk/synfigstudio-cph-monitor
+++ b/synfig-studio/trunk/synfigstudio-cph-monitor
@@ -118,18 +118,13 @@ dumpstats()
 mainloop()
 {
while true; do
-   export PS=$(ps -f -u `whoami`)
-   if ( ( echo $PS |egrep synfigstudio$ /dev/null ) || ( echo 
$PS | egrep synfigstudio  /dev/null ) ) ; then
+   if ( ps --no-headers -f -Csynfigstudio |egrep ^`whoami`  
/dev/null ) ; then
#synfigstudio process exist
if [[ $STARTED == 0 ]]; then
STARTED=1
RUNTIME=0
#get version
-   if ( echo $PS |egrep synfigstudio$ 
/dev/null ) ; then
-   P=$( echo $PS |egrep synfigstudio$| 
tr -s ' '| cut -d ' ' -f 8)
-   else
-   P=$( echo $PS |egrep synfigstudio | 
tr -s ' '| cut -d ' ' -f 8)
-   fi
+   P=$(ps --no-headers -f -Csynfigstudio |egrep 
^`whoami` | tr -s ' '| cut -d ' ' -f 8)
echo 
if [ ! -e $P ]; then
P=`which $P`


--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] Carlos Lopez : Merge branch 'zelgadis_master' into genete_master

2009-07-27 Thread Genete
Module: synfig
Branch: genete_master
Commit: ff20bb143f86979474d409a9bdc535d2ad1281bd
URL:
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=ff20bb143f86979474d409a9bdc535d2ad1281bd

Author: Carlos Lopez car...@pcnuevo.(none)
Date:   Mon Jul 27 17:04:09 2009 +0200

Merge branch 'zelgadis_master' into genete_master

---




--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] [ synfig-Feature Requests-2287177 ] Scale tool option: Scale width

2009-07-27 Thread SourceForge.net
Feature Requests item #2287177, was opened at 2008-11-15 00:51
Message generated for change (Comment added) made by genete
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757419aid=2287177group_id=144022

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Closed
Resolution: Rejected
Priority: 5
Private: No
Submitted By: Daniel Hornung (rubikcube)
Assigned to: Genete (genete)
Summary: Scale tool option: Scale width

Initial Comment:
It would be useful (especially when importing from other files) if the scale 
tool had an option to scale width as well. When enabled, scaling should also 
modify blines' Outline Width and Expand parameters.

I know that an extra scale layer would do the same, but still think that this 
feature would be nice for the scale tool.

--

Comment By: Genete (genete)
Date: 2009-07-27 21:50

Message:
If you show the width ducks when use the Scale tool, they are scaled too so
there is not need for a Scale width Tool.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757419aid=2287177group_id=144022

--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] [ synfig-Feature Requests-1879205 ] delete multiple vertices in one single action

2009-07-27 Thread SourceForge.net
Feature Requests item #1879205, was opened at 2008-01-24 21:12
Message generated for change (Settings changed) made by genete
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757419aid=1879205group_id=144022

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: delete multiple vertices in one single action

Initial Comment:
the ability to delete multiple or grouped vertices's in an object or layer.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757419aid=1879205group_id=144022

--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] [ synfig-Feature Requests-1781903 ] make vertices/object move along paths

2009-07-27 Thread SourceForge.net
Feature Requests item #1781903, was opened at 2007-08-26 04:56
Message generated for change (Comment added) made by genete
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757419aid=1781903group_id=144022

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Miscellaneous
Group: None
Status: Closed
Resolution: Fixed
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: make vertices/object move along paths

Initial Comment:
Synfig is great fun to do animations in, but there are is one thing that has 
been bugging me and, to the best of my internet search skills, does not seem to 
have been implemented/described anywhere.

Basically, I would like to be able to draw a bline with N vertices and have a 
shape move along that bline (the whole shape or individual vertices). Currently 
the only way I have found to do what I want is to draw a bline, and then move a 
shape along that line manually at fairly small intervals (very frustrating).

Example: A triangle that should move along a sine curve always pointing in the 
direction it is going to move next.

In that case I would like to be able to draw the triangle and the sine curve 
(or other bline) and say move the centre of the triangle along the bline and 
rotate it according to the shape of the bline. I have no idea how you would 
implement that, but it is a feature readily available in most 3D animation 
programs. 

Aternatively/in addition, it would be great to be able to change/edit the 
movement path (I have no idea what it really is called) in the window in the 
time-line dialog (the one selectd by the icon with the squiggly line next to 
the keyframe window), i.e. adding vertices or editing the tangents so that the 
interpolation between keyframes is changed.

I hope I didn't just miss either of these features. Synfig is great (a big pat 
on the shoulder of the developers and the people producing the tutorials) but 
the documentation is quite sketchy at times so finding what is possible and how 
to do it is far from straight forward.



--

Comment By: Genete (genete)
Date: 2009-07-27 22:01

Message:
This already has been implemented.

--

Comment By: Genete (genete)
Date: 2008-10-26 23:46

Message:
I think that Link to Bline feature reply this feature request.

Does it mean that this feature request can be closed?

--

Comment By: dooglus (dooglus)
Date: 2007-09-24 21:49

Message:
Logged In: YES 
user_id=1546005
Originator: NO

This URL:
  http://wiki.synfig.com/Convert#BLine_Vector
should read
  http://wiki.synfig.com/Convert#BLine_Vertex


--

Comment By: dooglus (dooglus)
Date: 2007-09-24 00:13

Message:
Logged In: YES 
user_id=1546005
Originator: NO

That still leaves this:

 It would be great to be able to change/edit the
 movement path in the Curves dialog, i.e. adding
  vertices or editing the tangents so that the
 interpolation between keyframes is changed.

As far as I can tell, the curves dialog needs a lot of work to make it
useful.

--

Comment By: dooglus (dooglus)
Date: 2007-09-24 00:12

Message:
Logged In: YES 
user_id=1546005
Originator: NO

I implemented this in svn r745.

See
  http://wiki.synfig.com/Following_a_BLine
for a tutorial and
  http://wiki.synfig.com/Convert#BLine_Tangent
  http://wiki.synfig.com/Convert#BLine_Vector
for documentation.

--

Comment By: dooglus (dooglus)
Date: 2007-09-18 18:30

Message:
Logged In: YES 
user_id=1546005
Originator: NO

I found that it is already possible to get an object to follow a single
bline, but not a general outline.  I uploaded an example to YouTube:

http://www.youtube.com/watch?v=wJ7C-FcxAy0

The sif file is http://dooglus.rincevent.net/synfig/follow-bline.sifz and
the .avi movie file is
http://dooglus.rincevent.net/synfig/follow-bline.avi

I still intend to make it possible to do the same for general outlines
(lists of blines).

I had to fix a few bugs in Synfig to get this to work, so it probably
won't work in any of the released versions.  The fixes will be in
subversion in an hour or so, and will be in the next release.

--

Comment By: dooglus (dooglus)
Date: 2007-09-18 02:45

Message:
Logged In: YES 
user_id=1546005
Originator: NO

Interesting suggestion.  I'll have a go at implementing something like
that soon.  I'll post more here as and when I've got anything.


[Synfig-devl] [ synfig-Feature Requests-1688429 ] make 'time loop' layer more flexible

2009-07-27 Thread SourceForge.net
Feature Requests item #1688429, was opened at 2007-03-26 16:30
Message generated for change (Comment added) made by genete
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757419aid=1688429group_id=144022

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Closed
Resolution: Fixed
Priority: 5
Private: No
Submitted By: dooglus (dooglus)
Assigned to: Nobody/Anonymous (nobody)
Summary: make 'time loop' layer more flexible

Initial Comment:
Using the time loop layer, I am able to repeat the first 'n' seconds of a 
layer's behaviour over and over.  But what if I want to repeat the part from 
10s to 11s over and over?

I don't think it's possible.

--

Comment By: Genete (genete)
Date: 2009-07-27 22:06

Message:
The new TIme Loop layer seems to fix this feature request. I close it.

--

Comment By: dooglus (dooglus)
Date: 2007-03-26 22:19

Message:
Logged In: YES 
user_id=1546005
Originator: YES

I just realised that all the features I requested here are currently
possible with the existing 'time loop' layer, since it's possible to adjust
the start time and end time with waypoints.  With suitable waypoints it's
even possible to make animations play backwards using the existing time
loop layer.

Suppose we have a 10 second layer.

To make it play backwards (from 10s to 0s), set the time loop layer like
this:

A waypoint at 0s, with start time = -10s, end time = 1m
A waypoint at 10s, with start time = 10s, end time = 1m


--

Comment By: dooglus (dooglus)
Date: 2007-03-26 16:35

Message:
Logged In: YES 
user_id=1546005
Originator: YES

... and what if I want to play a segment of the layer faster or slower
than before?

Perhaps a better design would be to have parameters:

source start time
source end time
target start time
target end time

this would allow me to play the part from 10s-15s in the source layer at
time 30s-32s in the time loop layer, resulting in a 2.5x speed up.  The
time loop layer would loop, playing the same 10s-15 from the source layer
at 32s-34s, 34s-36s, and so on, until a waypoint changes the settings.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757419aid=1688429group_id=144022

--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] [ synfig-Feature Requests-1672749 ] Timeline and Keyframes window merge

2009-07-27 Thread SourceForge.net
Feature Requests item #1672749, was opened at 2007-03-03 01:03
Message generated for change (Comment added) made by genete
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757419aid=1672749group_id=144022

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: User interface
Group: None
Status: Closed
Resolution: Fixed
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Genete (genete)
Summary: Timeline and Keyframes window merge

Initial Comment:
I foresee that key frames will become difficult to manage if not placed 
visually on the time-line. 

The best way would be to have a key frame represented visually by a vertical 
block on a time-line of frames. Key-frame properties such as duration, start 
and end time would be edited simply by its placement and length.

Sorry I have no idea how this would be accomplished, as I am an animator and 
not a programmer. However, I must say this project is a very exciting 
opportunity for those such as myself who lack resources and time.

Good luck; looking forward to version 1.0!

--

Comment By: Genete (genete)
Date: 2009-07-27 22:12

Message:
It has been implemented in development branch. It will be available in the
next release.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757419aid=1672749group_id=144022

--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] [ synfig-Bugs-2807163 ] param blend mode not selecting Composite

2009-07-27 Thread SourceForge.net
Bugs item #2807163, was opened at 2009-06-16 15:25
Message generated for change (Comment added) made by genete
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757416aid=2807163group_id=144022

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Usability
Group: None
Status: Open
Resolution: Works For Me
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: param blend mode not selecting Composite

Initial Comment:
Happens on windows 2375 build and only for region and outlines as the other 
layers are fine

--

Comment By: Genete (genete)
Date: 2009-07-27 22:23

Message:
I cannot reproduce. Can you describe a detailed step by step procedure?

--

Comment By: Genete (genete)
Date: 2009-07-27 22:23

Message:
Closed due to lack of confirmation and lack of information or no response
to request for information.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757416aid=2807163group_id=144022

--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] [ synfig-Bugs-2685228 ] Timeline frame numbering inaccurate

2009-07-27 Thread SourceForge.net
Bugs item #2685228, was opened at 2009-03-12 15:51
Message generated for change (Comment added) made by genete
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757416aid=2685228group_id=144022

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Usability
Group: Latest release
Status: Pending
Resolution: Remind
Priority: 5
Private: No
Submitted By: David Rylander (rylleman)
Assigned to: Nobody/Anonymous (nobody)
Summary: Timeline frame numbering inaccurate

Initial Comment:
The frame numbers indicated above the timeline is not accurate.

Looking at the timeline in my attached image, it looks like I'm at frame 336 
but I am in fact at frame 350 which is properly indicated in the main window 
seen above (and to further confirm the imported image sequence has a frame 
count rendered into it, saying frame 350).



--

Comment By: Genete (genete)
Date: 2009-07-27 22:33

Message:
Remind to test this bug in the next release.

--

Comment By: David Rylander (rylleman)
Date: 2009-03-13 17:36

Message:
If it is as you say that you can't find the issue in any revision you've
tried then I'll live with it for now and keep my fingers crossed for the
bug to magically dissapear next time I upgrade Synfig. (In the middle of an
production so I don't want to risk anything by upgrading now)
I'll get back to this report when I've upgraded.

--

Comment By: Genete (genete)
Date: 2009-03-13 16:58

Message:
That's possible a correct one because the extra info is optional. I wonder
how can I reproduce the bug...

--

Comment By: Genete (genete)
Date: 2009-03-13 16:47

Message:
Hmmm, that's an old about dialog before the one of the 0.61.09 release. See
the correct one posted.

--

Comment By: Genete (genete)
Date: 2009-03-13 16:38

Message:
I've tried to reproduce the bug at the following revisions: 2130, 2140,
2150, 2160, 2170, 2180, 2190 and 2200 with no success. Release for 0.61.09
was revision 2128
Continue testing :)

--

Comment By: David Rylander (rylleman)
Date: 2009-03-13 16:34

Message:
The About dialog doesn't have any revision info. Posting it anyway.

synfig --info gives;

synfig-0.61.09
Compiled on Nov 23 2008 with GCC 4.3.2
Copyright (c) 2001-2005 Robert B. Quattlebaum Jr., Adrian Bentley


File Added: about_synfig.png

--

Comment By: Genete (genete)
Date: 2009-03-13 16:26

Message:
I meant to say 2320 :)

--

Comment By: Genete (genete)
Date: 2009-03-13 16:24

Message:
I have several binaries compiled from different revisions since revision
1200 to 2032. To allow me to hook the bug maybe you can paste the about
dialog. There should be the revision number against that installed version
was built. As far as I've seen in the sources you have posted, the revision
doesn't correspond to exactly the 0.61.09 release but a little later.
Meanwhile you post the about dialog I'll try to reproduce it in my old
binaries.
I confirm that in the latest svn revision it doesn't happen.

--

Comment By: David Rylander (rylleman)
Date: 2009-03-13 08:54

Message:
There's nonthing special I'm doing to get this. As I wrote in my last
comment I get this by just starting up a new project and setting it's frame
length to a few hundred frames.

Here's some specs that might help in pinpointing this bug;
Ubuntu Studio 8.10, 64 bit on a Dell Precision 490. 4Gb of RAM, dual core
Xeon. 2.6.27-11-generic kernel.
Synfig Studio 0.61.09, installed by adding deb
http://ppa.launchpad.net/stemp/ubuntu intrepid main to my sources.

I also tested on my laptop, an old Sony Vaio with Ubuntu 8.10 with Synfig
installed in the same way as above and I get the same behavior there.

[A short note on the scene attached. It's part of an fuzzy cloud effect
for an animated short. After animating the gradient in Synfig I process the
images with a photoshop filter and imports the sequence into Moho which we
do the main animation in. But I do have plans for a all Synfig short film
later on. Thanks for the project size note, never crossed my mind, I'm all
too used to working with pixel graphics.]

--

Comment By: Genete (genete)
Date: 2009-03-13 00:37

Message:
I don't find a way to reproduce it with your sample file. Should I do
something special apart 

[Synfig-devl] [ synfig-Bugs-2356818 ] studio hung with duplicate layer active

2009-07-27 Thread SourceForge.net
Bugs item #2356818, was opened at 2008-11-28 22:13
Message generated for change (Comment added) made by genete
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757416aid=2356818group_id=144022

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: Works For Me
Priority: 5
Private: No
Submitted By: dooglus (dooglus)
Assigned to: Nobody/Anonymous (nobody)
Summary: studio hung with duplicate layer active

Initial Comment:
I don't know how I did it, but studio hung.

gdb shows me 2 threads both stopped, waiting to get a WriteLock:

#1  synfig::RWLock::writer_lock (this=0x325ac48) at mutex.cpp:204
#2  WriterLock (this=0x4286ba80, x...@0x325ac48) at mutex.h:98
#3  synfig::Context::set_time (this=0x4286bc50, time={value_ = 1}) at 
context.cpp:342
#4  synfig::Layer_Duplicate::accelerated_render (this=0x325abb0, ...) at 
layer_duplicate.cpp:181

#1  synfig::RWLock::writer_lock (this=0x32349d8) at mutex.cpp:204
#2  WriterLock (this=0x7fffdcf43d10, x...@0x32349d8) at mutex.h:98
#3  synfig::Context::set_time (this=0x7fffdcf43d70, time={value_ = 0}) at 
context.cpp:342
#4  synfig::Canvas::set_time (this=0x3233f70, t={value_ = 0}) at canvas.cpp:299
#5  studio::CanvasView::rebuild_ducks (this=0x3252000) at canvasview.cpp:2916
#6  sigc::bound_mem_functor0void, studio::CanvasView::operator() 
(this=0x35dfc00)

I was looking at the attached file - note it has a Duplicate layer.  I suspect 
the Duplicate code isn't taking care when calling 'set_time()'

--

Comment By: Genete (genete)
Date: 2009-07-27 22:53

Message:
Can't reproduce in latest development branch.

--

Comment By: dooglus (dooglus)
Date: 2008-11-28 22:15

Message:
Note that no CPU was being used.  And this was in SVN r2303.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757416aid=2356818group_id=144022

--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] [ synfig-Bugs-2175043 ] Crash when rendering in directory without write permission

2009-07-27 Thread SourceForge.net
Bugs item #2175043, was opened at 2008-10-17 17:39
Message generated for change (Comment added) made by genete
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757416aid=2175043group_id=144022

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Crasher/nasty bug
Group: GIT version
Status: Closed
Resolution: Fixed
Priority: 5
Private: No
Submitted By: Daniel Hornung (rubikcube)
Assigned to: Genete (genete)
Summary: Crash when rendering in directory without write permission

Initial Comment:
Setting the render target to a directory without write permissions crashes 
synfig-studio when trying to actually start the render. 

It aborts with the following error message:

glibmm-ERROR **:
unhandled exception (type unknown) in signal handler

Trying to reproduce this with synfig alone, for example via

synfig -o /foo.png /usr/share/synfig/examples/pirates.sifz

yields:

error: Caught string :add_frame(): target panic on start_frame()15527 -- 1h 9m 
42s
Render Failure.


--

Comment By: Genete (genete)
Date: 2009-07-27 23:05

Message:
Fixed in latest development branch. Will be included in the next release.

--

Comment By: Genete (genete)
Date: 2009-07-12 19:59

Message:
I've commit a solution for the first case (render a non writable target
from the GUI). 
It is pending the second case.
See git 'master' branch for July 12th 2009.


--

Comment By: Genete (genete)
Date: 2008-10-18 00:43

Message:
I've confirmed only the first bug (glibmm-ERROR*). There is a patch to
solve that in the review board. 
The second bug I cannot reproduce if the sifz file folder is writable, so
the problem is not the same. I think that it would happen also if the
/foo.png file were accessible. Not tested, just guessing.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757416aid=2175043group_id=144022

--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] [ synfig-Bugs-2175043 ] Crash when rendering in directory without write permission

2009-07-27 Thread SourceForge.net
Bugs item #2175043, was opened at 2008-10-17 17:39
Message generated for change (Settings changed) made by genete
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757416aid=2175043group_id=144022

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Crasher/nasty bug
Group: GIT version
Status: Open
Resolution: Accepted
Priority: 5
Private: No
Submitted By: Daniel Hornung (rubikcube)
Assigned to: Genete (genete)
Summary: Crash when rendering in directory without write permission

Initial Comment:
Setting the render target to a directory without write permissions crashes 
synfig-studio when trying to actually start the render. 

It aborts with the following error message:

glibmm-ERROR **:
unhandled exception (type unknown) in signal handler

Trying to reproduce this with synfig alone, for example via

synfig -o /foo.png /usr/share/synfig/examples/pirates.sifz

yields:

error: Caught string :add_frame(): target panic on start_frame()15527 -- 1h 9m 
42s
Render Failure.


--

Comment By: Genete (genete)
Date: 2009-07-27 23:05

Message:
Fixed in latest development branch. Will be included in the next release.

--

Comment By: Genete (genete)
Date: 2009-07-12 19:59

Message:
I've commit a solution for the first case (render a non writable target
from the GUI). 
It is pending the second case.
See git 'master' branch for July 12th 2009.


--

Comment By: Genete (genete)
Date: 2008-10-18 00:43

Message:
I've confirmed only the first bug (glibmm-ERROR*). There is a patch to
solve that in the review board. 
The second bug I cannot reproduce if the sifz file folder is writable, so
the problem is not the same. I think that it would happen also if the
/foo.png file were accessible. Not tested, just guessing.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757416aid=2175043group_id=144022

--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] [ synfig-Feature Requests-1912950 ] don't use low res as default

2009-07-27 Thread SourceForge.net
Feature Requests item #1912950, was opened at 2008-03-12 19:57
Message generated for change (Settings changed) made by genete
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757419aid=1912950group_id=144022

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: don't use low res as default

Initial Comment:
Hi ,I'm working on Synfig Studio 0.61.08. on Ubuntu.
this is not quite a bug but a suggestion . Don't use low res as a default. One 
might think this is a bug. Let the program default to high res. I was puzzled 
when i saw those jagged images at first and i thought perhaps it can't do more 
than that. 

--

Comment By: Konstantin Dmitriev (zelgadis_ksee)
Date: 2008-04-11 06:47

Message:
Logged In: YES 
user_id=1438889
Originator: NO

Agree with nobody. Synfig starting with low-res and imported images
(especially sketches) looking really bad. That can distract new users. See
screenshots:

http://zelgadis.profusehost.net/files/synfig/lowres-on.png
http://zelgadis.profusehost.net/files/synfig/lowres-off.png

--

Comment By: Nobody/Anonymous (nobody)
Date: 2008-03-23 16:06

Message:
Logged In: NO 

Date: 2008-03-21 14:56
Sender: nobody
Logged In: NO 

Suggestion:  Set the default resolution (View-Preview Quality) according
to image size, so that the number of pixels to calculate is fixed, not
their size

I wasn't talking about the preview resolution but actually about the
resolution of the drawing screen. My synfig starts in low res by default
and keeps on doing that every restart.

--

Comment By: Nobody/Anonymous (nobody)
Date: 2008-03-21 22:56

Message:
Logged In: NO 

Suggestion:  Set the default resolution (View-Preview Quality) according
to image size, so that the number of pixels to calculate is fixed, not
their size.  Of course when doing animations for PAL, NTSC or youtube
resolution you might want a higher preview quality (smaller low-res pixels)
than for 35mm film rendering.  Also, why not allow full-resolution (1
preview pixel = 1 final pixel) preview?

--

Comment By: Nobody/Anonymous (nobody)
Date: 2008-03-17 17:11

Message:
Logged In: NO 

Yeah . My settings are as follow : 
Set low res pixelsize = 2.

And it looks horrible. really. It's a big difference. And it only gets
worse when increasing the pixelsize ( at about 4 even the chess table of
the background gets distorted. What can i say maybe it's because i'm using
a wide screen ? I know the card is not great ( it's an integrated intel
mobile chipset, one of the cheepest i think but i never had any problems in
2d . 

But it looks ok without low-res. no problem whatsoever.
thnx

M.M
ps . If you want i can send you more data about the
chipset,screen,driver,etc whatever . :)


--

Comment By: dooglus (dooglus)
Date: 2008-03-12 20:06

Message:
Logged In: YES 
user_id=1546005
Originator: NO

Is your monitor displaying at quite a low resolution?

On my monitor I can barely notice the difference between low and hi
resolution, except that high resolution is four times slower to render...

It's a trade-off between quality and speed, of course.  There's a similar
issue with the render quality - there are 11 levels of render quality, and
studio defaults to using one of the lowest when previewing, for the sake of
performance.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757419aid=1912950group_id=144022

--
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] [ synfig-Bugs-1876919 ] Modify a parameter in non animation mode is weird.

2009-07-27 Thread SourceForge.net
Bugs item #1876919, was opened at 2008-01-22 00:28
Message generated for change (Comment added) made by genete
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757416aid=1876919group_id=144022

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: Works For Me
Priority: 5
Private: No
Submitted By: Genete (genete)
Assigned to: Nobody/Anonymous (nobody)
Summary: Modify a parameter in non animation mode is weird.

Initial Comment:
1)File - new (set time bigger than 0)
2)Add any type of layer
3)Change to animation mode
4) modify any parameter (add a waypoint) Let's call the modified parameter 
value A
5) Set non animation mode.
6) Modify again the same parameter (it would complain about being in non 
animation mode) let's say the modified parameter value is B. It is reverted 
to be A again.
7) Immediately set it to animation mode. It stills being A
8) Click on any parameter (the same or other) and the parameter holding A 
value becomes to be B value.


--

Comment By: Genete (genete)
Date: 2009-07-27 23:23

Message:
Cannot reproduce in current development branch. 

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757416aid=1876919group_id=144022

--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] [ synfig-Bugs-1876745 ] enumerated lists interfere with each other

2009-07-27 Thread SourceForge.net
Bugs item #1876745, was opened at 2008-01-21 21:53
Message generated for change (Comment added) made by genete
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757416aid=1876745group_id=144022

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: Accepted
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: enumerated lists interfere with each other

Initial Comment:
In studio, if I select a circle then:

* set falloff to 'cosine'

and attempt to

* set blend method to 'brighten'

then the blend method doesn't appear to change immediately.  I need to click on 
some other parameter before it will update.  Both 'cosine' and 'brighten' have 
values of 2 in the .sif file.

Similarly, if the falloff is 'linear' and blend method is edited to be 
'straight' (both values 0) the blend method doesn't change immediately.  Also 
squared and composite (both value 0).

I've been able to reproduce this on two different machines, with studio 0.61.06 
and the latest svn code on both ubuntu 6.06 and debian sid, in both xfce4 and 
gnome.  A could of other people have been unable to reproduce the problem.

--

Comment By: Genete (genete)
Date: 2009-07-27 23:26

Message:
Still confirmed.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757416aid=1876745group_id=144022

--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] [ synfig-Bugs-1814151 ] Add a layer inside an exported canvas crash

2009-07-27 Thread SourceForge.net
Bugs item #1814151, was opened at 2007-10-15 23:23
Message generated for change (Comment added) made by genete
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757416aid=1814151group_id=144022

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Crasher/nasty bug
Group: SVN version
Status: Open
Resolution: Fixed
Priority: 5
Private: No
Submitted By: Genete (genete)
Assigned to: Nobody/Anonymous (nobody)
Summary: Add a layer inside an exported canvas crash

Initial Comment:
Using svn 933.

If I select a layer inside an exported canvas when the main canvas is active 
and try to add a new layer then synfig crashes. The layer is not added. The 
result message in console is:

synfig(22244): error: Bad canvas passed to add_layer_to
Fallo de segmentación (core dumped)

It happens when using the tools from the tool window (Circle, Bline, Rectangle, 
Polygon, Gradient and Draw).  But if you add a layer by the canvas caret menu 
LayerNew Layer then the layer is not added and the console output is:

synfig(22708): error: Bad canvas passed to add_layer_to

Then synfig doesn't crash.



On the other hand if I open the exported canvas in other window (only edit the 
exported canvas) then it is possible to add a new layer. 

But in this case when I close the exported canvas the new layer is not 
accessible by the main canvas. It is shown in the drawing area but not in the 
layer list. If I click on the layer it seems that the layer receives the click 
message due to the console output is:

synfig(22353): info: STATE NORMAL: Received mouse button down Event
synfig(22353): info: STATE NORMAL: Received layer click Event, rectangle

(The added layer was a rectangle.)

but is not possible select the layer immediately. (In fact is accesible because 
you can fill it with the Fill tool but the layer is not shown in the layer list 
and the ducks are not shown). If I save and load the file then the just added 
layer is accessible. 

Carlos

--

Comment By: Genete (genete)
Date: 2009-07-27 23:30

Message:
Close it as it was fixed

--

Comment By: Pixelgeek (pxegeek)
Date: 2008-11-16 04:27

Message:
Tested - it works.  

Thank you dooglus!

--

Comment By: dooglus (dooglus)
Date: 2008-11-14 23:58

Message:
SVN r2201 makes it complain with an error dialog now rather than crashing.

It's possible to work around the problem by working in the exported
canvas' separate window (double click the canvas in the canvases panel to
open it)

It's also possible to work around it by making an encapsulation layer
inside the exported canvas, and working in there.  It seems to be only
working at the top level of the exported canvas that is a problem.  This is
probably not intentional...

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757416aid=1814151group_id=144022

--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


[Synfig-devl] [ synfig-Bugs-1420091 ] Crash when deleting vertex items

2009-07-27 Thread SourceForge.net
Bugs item #1420091, was opened at 2006-01-31 09:11
Message generated for change (Comment added) made by genete
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=757416aid=1420091group_id=144022

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Closed
Resolution: Fixed
Priority: 5
Private: No
Submitted By: Paul Wise (pabs3)
Assigned to: Nobody/Anonymous (nobody)
Summary: Crash when deleting vertex items 

Initial Comment:
A bug report from snapsilverlight:

Layer - New Layer - Geometry - Region
Then in Params, expand the vertex list, right click on
any vertex, click Insert Item (Smart)
Then go and delete it. POOF!

#0  0x082af60d in
studio::CanvasTreeStore::get_value_vfunc
(this=0x8a60800, it...@0xbfe897f4, column=2,
val...@0xbfe89888) at canvastreestore.cpp:248
#1  0x082c071c in
studio::LayerParamTreeStore::get_value_vfunc
(this=0x8a60800, it...@0xbfe897f4, column=2,
val...@0xbfe89888)
at layerparamtreestore.cpp:150
#2  0xb79e2f77 in
Gtk::TreeModel_Class::get_value_vfunc_callback () from
/usr/lib/libgtkmm-2.4.so.1
#3  0xb767dec5 in IA__gtk_tree_model_get_value
(tree_model=0x8a60b08, iter=0xbfe89984, column=0,
value=0xbfe89888) at gtktreemodel.c:1077
#4  0xb76aa096 in
IA__gtk_tree_view_column_cell_set_cell_data
(tree_column=0x8a39790, tree_model=0x8a60b08,
iter=0xbfe89984, is_expander=0, is_expanded=0)
at gtktreeviewcolumn.c:2544
#5  0xb7699200 in gtk_tree_view_expose
(widget=0x8a37418, event=0xbfe89f50) at gtktreeview.c:3651
#6  0xb79f4a62 in
Gtk::Widget_Class::expose_event_callback () from
/usr/lib/libgtkmm-2.4.so.1
#7  0xb75c6960 in _gtk_marshal_BOOLEAN__BOXED
(closure=0x84d5d60, return_value=0xbfe89bc0,
n_param_values=2, param_values=0xbfe89cac,
invocation_hint=0xbfe89bac,
marshal_data=0xb79f49e0) at gtkmarshalers.c:83
#8  0xb7133179 in g_type_class_meta_marshal
(closure=0x84d5d60, return_value=0x0, n_param_values=0,
param_values=0xbfe89cac, invocation_hint=0x0,
marshal_data=0x0) at gclosure.c:569
#9  0xb7133839 in IA__g_closure_invoke
(closure=0x84d5d60, return_value=0x0, n_param_values=0,
param_values=0x0, invocation_hint=0x0) at gclosure.c:492
#10 0xb71437f5 in signal_emit_unlocked_R
(node=0x84d5db0, detail=0, instance=0x8a37418,
emission_return=0xbfe89e2c, instance_and_params=0xbfe89cac)
at gsignal.c:2523
#11 0xb71446de in IA__g_signal_emit_valist
(instance=0x8a37418, signal_id=33, detail=0,
var_args=0xbfe89eb0
\u\236\u\uP\237\u\u\030t\u\b\017\203k\u\030t\u\b\u4J\b)
at gsignal.c:2254
#12 0xb7144cd9 in IA__g_signal_emit (instance=0x0,
signal_id=0, detail=0) at gsignal.c:2288
#13 0xb76b81c4 in gtk_widget_event_internal
(widget=0x8a37418, event=0xbfe89f50) at gtkwidget.c:3735
#14 0xb75c53ca in IA__gtk_main_do_event
(event=0xbfe89f50) at gtkmain.c:1370
#15 0xb73d388d in gdk_window_process_updates_internal
(window=0x8a973f0) at gdkwindow.c:2215
#16 0xb73d396f in IA__gdk_window_process_all_updates ()
at gdkwindow.c:2268
#17 0xb7533597 in gtk_container_idle_sizer (data=0x0)
at gtkcontainer.c:1117
#18 0xb70ad0f1 in g_idle_dispatch (source=0x8a94478,
callback=0x3, user_data=0x0) at gmain.c:3817
#19 0xb70aab8c in IA__g_main_context_dispatch
(context=0x849e978) at gmain.c:1934
#20 0xb70adf6b in g_main_context_iterate
(context=0x849e978, block=1, dispatch=1,
self=0x84b3488) at gmain.c:2565
#21 0xb70ae2c7 in IA__g_main_loop_run (loop=0x85aaee8)
at gmain.c:2769
#22 0xb75c43a1 in IA__gtk_main () at gtkmain.c:991
#23 0xb799a626 in Gtk::Main::run_impl () from
/usr/lib/libgtkmm-2.4.so.1
#24 0xb799a4d1 in Gtk::Main::run () from
/usr/lib/libgtkmm-2.4.so.1
#25 0x081b8d05 in main (argc=0, argv=0xbfe8a394) at
main.cpp:86

--

Comment By: Genete (genete)
Date: 2009-07-28 00:06

Message:
It seems it was long time ago fixed. Works for me.

--

Comment By: dooglus (dooglus)
Date: 2008-12-10 10:47

Message:
 get_root_canvas() in this case is returning the root canvas of the
 original window

No, it's returning 0.  Exporting a canvas causes it to be cloned, and
clone() doesn't set the root canvas.

 Of course, it's possible that both windows have the same layer selected,
 and so both windows really need to have their parameter trees rebuilt.

Oh, but there's only one params panel.  So only one tree can be displayed
at a time.  Do we still need to rebuild both of them?

--

Comment By: dooglus (dooglus)
Date: 2008-12-10 10:09

Message:
Here's another way to get the same crash:

1. layer  new layer  geometry  outline
2. encapsulate
3. in params panel, right click canvas parameter and export, give it a
name
4. in canvas panel, expand the entry and double-click the canvas inside it
5. with the