[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso resources/keymap.xml src/core/InputEng...
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso resources/keymap.xml src/core/InputEng... |
Date: |
Fri, 03 Oct 2008 20:09:11 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 08/10/03 20:09:11
Modified files:
resources : keymap.xml
src/core : InputEngine.cpp Sheet.cpp Sheet.h
src/traverso/widgets: TransportConsoleWidget.cpp
TransportConsoleWidget.h
Log message:
* fixed a bug in InputeEngine where the delegatedobject was always
fetched from the 'normal' objects hash, even if the action was one with a
modifier key.
* moved all logic regarding skipping playhead to prev/next snap pos to
Sheet, allowing it to work with CTRL+ right/left arrow key's as well.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/resources/keymap.xml?cvsroot=traverso&r1=1.108&r2=1.109
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/InputEngine.cpp?cvsroot=traverso&r1=1.73&r2=1.74
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Sheet.cpp?cvsroot=traverso&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Sheet.h?cvsroot=traverso&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/widgets/TransportConsoleWidget.cpp?cvsroot=traverso&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/widgets/TransportConsoleWidget.h?cvsroot=traverso&r1=1.8&r2=1.9
Patches:
Index: resources/keymap.xml
===================================================================
RCS file: /sources/traverso/traverso/resources/keymap.xml,v
retrieving revision 1.108
retrieving revision 1.109
diff -u -b -r1.108 -r1.109
--- resources/keymap.xml 18 Feb 2008 19:49:59 -0000 1.108
+++ resources/keymap.xml 3 Oct 2008 20:09:10 -0000 1.109
@@ -48,6 +48,7 @@
<Object objectname="SheetView"
slotsignature="scroll_left" modes="All" sortorder="1" submenu="Scroll" />
<Object objectname="MoveClip"
slotsignature="move_left" modes="All" sortorder="3" />
<Object objectname="TrackPan"
slotsignature="pan_left" modes="All" sortorder="1" />
+ <Object objectname="Sheet"
slotsignature="prev_skip_pos" modes="All" sortorder="5" modifierkeys="CTRL"
submenu="Playhead" />
</Objects>
</keyfact>
<keyfact type="FKEY" key1="RARROW" >
@@ -55,6 +56,7 @@
<Object objectname="SheetView"
slotsignature="scroll_right" modes="All" sortorder="2" submenu="Scroll" />
<Object objectname="MoveClip"
slotsignature="move_right" modes="All" sortorder="4" />
<Object objectname="TrackPan"
slotsignature="pan_right" modes="All" sortorder="2" />
+ <Object objectname="Sheet"
slotsignature="next_skip_pos" modes="All" sortorder="5" modifierkeys="CTRL"
submenu="Playhead" />
</Objects>
</keyfact>
<keyfact type="FKEY" key1="UARROW" >
Index: src/core/InputEngine.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/InputEngine.cpp,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -b -r1.73 -r1.74
--- src/core/InputEngine.cpp 6 Aug 2008 13:56:39 -0000 1.73
+++ src/core/InputEngine.cpp 3 Oct 2008 20:09:10 -0000 1.74
@@ -399,8 +399,13 @@
delegatedobject = "HoldCommand";
} else {
delegatedobject =
item->metaObject()->className();
+ if (m_activeModifierKeys.size() > 0) {
+ delegatingdata =
action->objectUsingModifierKeys.value(delegatedobject);
+ } else {
delegatingdata =
action->objects.value(delegatedobject);
}
+ PMESG("delegatedobject is %s",
QS_C(delegatedobject));
+ }
if ( ! delegatingdata) {
PMESG("No delegating data ? WEIRD");
@@ -1376,7 +1381,7 @@
QDomNode keyfactNode = keyfactsNode.firstChild();
QString keyFactType;
- QString key1, key2, key3, key4, mouseHint, slot, modifierKeys;
+ QString key1, key2, key3, key4, mouseHint, modifierKeys;
IEAction::Data* data;
while( !keyfactNode.isNull() ) {
@@ -1396,7 +1401,6 @@
keyFactType = e.attribute( "type", "" );
key1 = e.attribute( "key1", "");
key2 = e.attribute( "key2", "" );
- slot = e.attribute( "slotname", "" );
if (keyFactType == "FKEY")
action->type = FKEY;
@@ -1524,7 +1528,7 @@
if (!exists) {
m_ieActions.append(action);
- PMESG2("ADDED action: type=%d keys=%d,%d,%d,%d useX=%d
useY=%d, slot=%s", action->type,
action->fact1_key1,action->fact1_key2,action->fact2_key1,action->fact2_key2,data->useX,data->useY,
QS_C(slot));
+ PMESG2("ADDED action: type=%d keys=%d,%d,%d,%d useX=%d
useY=%d, slot=%s", action->type,
action->fact1_key1,action->fact1_key2,action->fact2_key1,action->fact2_key2,data->useX,data->useY,
QS_C(data->slotsignature));
}
keyfactNode = keyfactNode.nextSibling();
Index: src/core/Sheet.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/Sheet.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- src/core/Sheet.cpp 2 Oct 2008 20:08:58 -0000 1.12
+++ src/core/Sheet.cpp 3 Oct 2008 20:09:10 -0000 1.13
@@ -191,6 +191,8 @@
m_fader->set_gain(0.5);
m_timeline = new TimeLine(this);
+ m_skipTimer.setSingleShot(true);
+
m_audiodeviceClient = new Client("sheet_" +
QByteArray::number(get_id()));
m_audiodeviceClient->set_process_callback( MakeDelegate(this,
&Sheet::process) );
m_audiodeviceClient->set_transport_control_callback( MakeDelegate(this,
&Sheet::transport_control) );
@@ -1444,7 +1446,10 @@
return 0;
}
-void Sheet::prev_skip_pos(int steps)
+
+// the timer is used to allow 'hopping' to the left from snap position to snap
position
+// even during playback.
+Command* Sheet::prev_skip_pos()
{
if (snaplist->was_dirty()) {
update_skip_positions();
@@ -1455,13 +1460,20 @@
if (p < TimeRef()) {
PERROR("pos < 0");
set_transport_pos(TimeRef());
- return;
+ return ie().failure();
}
QListIterator<TimeRef> it(m_xposList);
it.toBack();
+ int steps = 1;
+
+ if (m_skipTimer.isActive())
+ {
+ ++steps;
+ }
+
int i = 0;
while (it.hasPrevious()) {
TimeRef pos = it.previous();
@@ -1475,9 +1487,13 @@
}
set_transport_pos(p);
+
+ m_skipTimer.start(500);
+
+ return ie().succes();
}
-void Sheet::next_skip_pos(int steps)
+Command* Sheet::next_skip_pos()
{
if (snaplist->was_dirty()) {
update_skip_positions();
@@ -1487,12 +1503,14 @@
if (p > m_xposList.last()) {
PERROR("pos > last snap position");
- return;
+ return ie().failure();
}
QListIterator<TimeRef> it(m_xposList);
int i = 0;
+ int steps = 1;
+
while (it.hasNext()) {
TimeRef pos = it.next();
if (pos > p) {
@@ -1505,6 +1523,8 @@
}
set_transport_pos(p);
+
+ return ie().succes();
}
void Sheet::update_skip_positions()
Index: src/core/Sheet.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/Sheet.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- src/core/Sheet.h 2 Oct 2008 20:04:06 -0000 1.5
+++ src/core/Sheet.h 3 Oct 2008 20:09:11 -0000 1.6
@@ -25,6 +25,7 @@
#include "ContextItem.h"
#include "AudioProcessingItem.h"
#include <QDomNode>
+#include <QTimer>
#include "defines.h"
#include "APILinkedList.h"
#include "GainEnvelope.h"
@@ -63,6 +64,7 @@
Q_CLASSINFO("toggle_arm", tr("Arm: On/Off"))
Q_CLASSINFO("set_editing_mode", tr("Mode: Edit"))
Q_CLASSINFO("set_effects_mode", tr("Mode: Curve"))
+ Q_CLASSINFO("prev_skip_pos", tr("Skip to Left"))
public:
@@ -121,8 +123,6 @@
int set_state( const QDomNode & node );
void set_recording(bool recording, bool realtime);
- void next_skip_pos(int steps = 1);
- void prev_skip_pos(int steps = 1);
void skip_to_start();
void skip_to_end();
@@ -164,6 +164,7 @@
private:
APILinkedList m_tracks;
QList<AudioClip*> m_recordingClips;
+ QTimer m_skipTimer;
Project* m_project;
WriteSource* m_exportSource;
AudioBus* m_playBackBus;
@@ -240,6 +241,8 @@
void set_temp_follow_state(bool state);
+ Command* next_skip_pos();
+ Command* prev_skip_pos();
Command* start_transport();
Command* set_recordable();
Command* set_recordable_and_start_transport();
Index: src/traverso/widgets/TransportConsoleWidget.cpp
===================================================================
RCS file:
/sources/traverso/traverso/src/traverso/widgets/TransportConsoleWidget.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- src/traverso/widgets/TransportConsoleWidget.cpp 2 Oct 2008 20:04:06
-0000 1.15
+++ src/traverso/widgets/TransportConsoleWidget.cpp 3 Oct 2008 20:09:11
-0000 1.16
@@ -58,7 +58,6 @@
m_playAction->setCheckable(true);
m_lastSnapPosition = TimeRef();
- m_skipTimer.setSingleShot(true);
connect(&pm(), SIGNAL(projectLoaded(Project*)), this,
SLOT(set_project(Project*)));
connect(&m_updateTimer, SIGNAL(timeout()), this, SLOT(update_label()));
@@ -104,19 +103,9 @@
m_sheet->skip_to_start();
}
-// the timer is used to allow 'hopping' to the left from snap position to snap
position
-// even during playback.
void TransportConsoleWidget::to_left()
{
- int steps = 1;
-
- if (m_skipTimer.isActive())
- {
- ++steps;
- }
-
- m_sheet->prev_skip_pos(steps);
- m_skipTimer.start(500);
+ m_sheet->prev_skip_pos();
}
void TransportConsoleWidget::rec_toggled()
Index: src/traverso/widgets/TransportConsoleWidget.h
===================================================================
RCS file:
/sources/traverso/traverso/src/traverso/widgets/TransportConsoleWidget.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- src/traverso/widgets/TransportConsoleWidget.h 2 Oct 2008 19:56:39
-0000 1.8
+++ src/traverso/widgets/TransportConsoleWidget.h 3 Oct 2008 20:09:11
-0000 1.9
@@ -23,9 +23,9 @@
#define TRANSPORTCONSOLEWIDGET_H
#include <QWidget>
+#include <QTimer>
#include <QToolBar>
#include <QToolButton>
-#include <QTimer>
#include <QEvent>
#include <QFont>
#include <QString>
@@ -53,7 +53,6 @@
QAction* m_toEndAction;
QAction* m_toRightAction;
QTimer m_updateTimer;
- QTimer m_skipTimer;
TimeRef m_lastSnapPosition;
protected slots:
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-commit] traverso resources/keymap.xml src/core/InputEng...,
Remon Sijrier <=