[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso resources/keymap.xml src/core/AudioCli...
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso resources/keymap.xml src/core/AudioCli... |
Date: |
Thu, 28 Jun 2007 15:03:56 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/06/28 15:03:56
Modified files:
resources : keymap.xml
src/core : AudioClip.cpp AudioClip.h
src/traverso/songcanvas: songcanvas.pro
src/traverso : traverso.pro
src/traverso/widgets: ResourcesWidget.cpp
Added files:
src/traverso/dialogs: AudioClipEditDialog.cpp
AudioClipEditDialog.h
src/traverso/ui: AudioClipEditWidget.ui
Log message:
AudioClip Edit dialog/widget added, not finished yet though
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/resources/keymap.xml?cvsroot=traverso&r1=1.85&r2=1.86
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/AudioClip.cpp?cvsroot=traverso&r1=1.110&r2=1.111
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/AudioClip.h?cvsroot=traverso&r1=1.54&r2=1.55
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/dialogs/AudioClipEditDialog.cpp?cvsroot=traverso&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/dialogs/AudioClipEditDialog.h?cvsroot=traverso&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/songcanvas/songcanvas.pro?cvsroot=traverso&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/traverso.pro?cvsroot=traverso&r1=1.57&r2=1.58
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/ui/AudioClipEditWidget.ui?cvsroot=traverso&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/widgets/ResourcesWidget.cpp?cvsroot=traverso&r1=1.27&r2=1.28
Patches:
Index: resources/keymap.xml
===================================================================
RCS file: /sources/traverso/traverso/resources/keymap.xml,v
retrieving revision 1.85
retrieving revision 1.86
diff -u -b -r1.85 -r1.86
--- resources/keymap.xml 27 Jun 2007 12:25:34 -0000 1.85
+++ resources/keymap.xml 28 Jun 2007 15:03:55 -0000 1.86
@@ -157,7 +157,8 @@
<Object objectname="TrackView"
slotsignature="edit_properties" modes="All" sortorder="11" />
<Object objectname="PluginView"
slotsignature="edit_properties" modes="All" />
<Object objectname="SpectralMeterView"
slotsignature="edit_properties" modes="All" />
- <Object objectname="AudioClip" modes="All"
sortorder="18" pluginname="TraversoCommands"
commandname="AudioClipExternalProcessing" />
+ <Object objectname="TrackView"
slotsignature="edit_properties" modes="All" sortorder="11" />
+ <Object objectname="AudioClipView"
slotsignature="edit_properties" modes="All" sortorder="11" />
<Object objectname="TimeLineView"
slotsignature="Interface::show_marker_dialog" modes="All" />
</Objects>
</keyfact>
Index: src/core/AudioClip.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/AudioClip.cpp,v
retrieving revision 1.110
retrieving revision 1.111
diff -u -b -r1.110 -r1.111
--- src/core/AudioClip.cpp 26 Jun 2007 20:08:51 -0000 1.110
+++ src/core/AudioClip.cpp 28 Jun 2007 15:03:55 -0000 1.111
@@ -367,7 +367,7 @@
gain = 32.0;
m_fader->set_gain(gain);
- emit gainChanged();
+ emit stateChanged();
}
void AudioClip::set_selected(bool selected)
@@ -763,6 +763,7 @@
void AudioClip::set_name( const QString& name )
{
m_name = name;
+ emit stateChanged();
}
bool AudioClip::is_selected( ) const
Index: src/core/AudioClip.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/AudioClip.h,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -b -r1.54 -r1.55
--- src/core/AudioClip.h 5 Jun 2007 12:47:09 -0000 1.54
+++ src/core/AudioClip.h 28 Jun 2007 15:03:56 -0000 1.55
@@ -176,7 +176,6 @@
void lockChanged();
void positionChanged(Snappable*);
void trackEndFrameChanged();
- void gainChanged();
void fadeAdded(FadeCurve*);
void fadeRemoved(FadeCurve*);
void recordingFinished();
Index: src/traverso/songcanvas/songcanvas.pro
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/songcanvas/songcanvas.pro,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- src/traverso/songcanvas/songcanvas.pro 26 Jun 2007 18:07:57 -0000
1.7
+++ src/traverso/songcanvas/songcanvas.pro 28 Jun 2007 15:03:56 -0000
1.8
@@ -8,6 +8,7 @@
INCLUDEPATH += ../../core \
../../traverso \
+ ../../traverso/dialogs \
../../engine \
../../commands \
../../plugins \
Index: src/traverso/traverso.pro
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/traverso.pro,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -b -r1.57 -r1.58
--- src/traverso/traverso.pro 27 Jun 2007 12:17:29 -0000 1.57
+++ src/traverso/traverso.pro 28 Jun 2007 15:03:56 -0000 1.58
@@ -51,7 +51,8 @@
dialogs/project/OpenProjectDialog.h \
dialogs/project/NewTrackDialog.h \
songcanvas/PositionIndicator.h \
- widgets/ResourcesWidget.h
+ widgets/ResourcesWidget.h \
+ dialogs/AudioClipEditDialog.h
SOURCES += \
Traverso.cpp \
BusMonitor.cpp \
@@ -79,10 +80,10 @@
dialogs/project/OpenProjectDialog.cpp \
dialogs/project/NewTrackDialog.cpp \
songcanvas/PositionIndicator.cpp \
- widgets/ResourcesWidget.cpp
+ widgets/ResourcesWidget.cpp \
+ dialogs/AudioClipEditDialog.cpp
FORMS += ui/ExportWidget.ui \
ui/AudioSourcesManagerWidget.ui \
-# ui/PluginSelectorDialog.ui \
ui/SpectralMeterConfigWidget.ui \
ui/QuickDriverConfigWidget.ui \
ui/DriverConfigPage.ui \
@@ -103,7 +104,9 @@
ui/NewTrackDialog.ui \
ui/ResourcesWidget.ui \
ui/QuickStart.ui \
- ui/InsertSilenceDialog.ui
+ ui/InsertSilenceDialog.ui \
+ ui/AudioClipEditWidget.ui
+
INCLUDEPATH += ../core \
../commands \
../engine \
@@ -125,7 +128,7 @@
}
contains(DEFINES, QT_OPENGL_SUPPORT){
-QT += opengl
+ QT += opengl
}
QMAKE_LIBDIR = ../../lib
Index: src/traverso/widgets/ResourcesWidget.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/widgets/ResourcesWidget.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- src/traverso/widgets/ResourcesWidget.cpp 27 Jun 2007 19:32:43 -0000
1.27
+++ src/traverso/widgets/ResourcesWidget.cpp 28 Jun 2007 15:03:56 -0000
1.28
@@ -390,6 +390,7 @@
{
setData(0, Qt::UserRole, clip->get_id());
connect(clip, SIGNAL(recordingFinished()), this,
SLOT(clip_state_changed()));
+ connect(clip, SIGNAL(stateChanged()), this, SLOT(clip_state_changed()));
}
void ClipTreeItem::clip_state_changed()
Index: src/traverso/dialogs/AudioClipEditDialog.cpp
===================================================================
RCS file: src/traverso/dialogs/AudioClipEditDialog.cpp
diff -N src/traverso/dialogs/AudioClipEditDialog.cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/traverso/dialogs/AudioClipEditDialog.cpp 28 Jun 2007 15:03:56
-0000 1.1
@@ -0,0 +1,135 @@
+/*
+Copyright (C) 2007 Remon Sijrier
+
+This file is part of Traverso
+
+Traverso 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 program 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.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+
+*/
+
+
+#include "AudioClipEditDialog.h"
+
+#include <QWidget>
+#include "ui_AudioClipEditWidget.h"
+
+#include "AudioClip.h"
+#include "Utils.h"
+#include "defines.h"
+#include "Mixer.h"
+#include "Command.h"
+#include "AudioClipExternalProcessing.h"
+
+class AudioClipEditWidget : public QWidget, protected Ui::AudioClipEditWidget
+{
+ Q_OBJECT
+
+public:
+ AudioClipEditWidget(AudioClip* clip, QWidget* parent) :
QWidget(parent), m_clip(clip)
+ {
+ setupUi(this);
+
+ clip_state_changed();
+ clip_start_value_changed(m_clip->get_track_start_frame() /
m_clip->get_rate());
+
+ connect(clip, SIGNAL(stateChanged()), this,
SLOT(clip_state_changed()));
+ connect(clip, SIGNAL(positionChanged(Snappable*)), this,
SLOT(clip_position_changed()));
+
+ connect(clipGainSpinBox, SIGNAL(valueChanged(double)), this,
SLOT(gain_spinbox_value_changed(double)));
+ connect(clipStartSpinBox, SIGNAL(valueChanged(double)), this,
SLOT(clip_start_value_changed(double)));
+
+ connect(externalProcessingButton, SIGNAL(clicked()), this,
SLOT(external_processing()));
+ connect(buttonBox, SIGNAL(accepted()), this,
SLOT(save_changes()));
+ }
+
+ ~AudioClipEditWidget() {}
+
+private:
+ AudioClip* m_clip;
+ friend class AudioClipEditDialog;
+
+private slots:
+ void external_processing();
+ void clip_state_changed();
+ void save_changes();
+ void clip_position_changed();
+ void gain_spinbox_value_changed(double value);
+ void clip_start_value_changed(double value);
+};
+
+
+AudioClipEditDialog::AudioClipEditDialog(AudioClip* clip, QWidget* parent)
+{
+ m_edit = new AudioClipEditWidget(clip, this);
+
+ QHBoxLayout* mainLayout = new QHBoxLayout(this);
+ mainLayout->setMargin(0);
+ mainLayout->addWidget(m_edit);
+
+ setLayout(mainLayout);
+
+ connect(m_edit->buttonBox, SIGNAL(rejected()), this, SLOT(close()));
+}
+
+void AudioClipEditWidget::external_processing()
+{
+ parentWidget()->hide();
+ Command::process_command(new AudioClipExternalProcessing(m_clip));
+}
+
+void AudioClipEditWidget::clip_state_changed()
+{
+ if (m_clip->get_name() != clipNameLineEdit->text()) {
+ parentWidget()->setWindowTitle(m_clip->get_name());
+ clipNameLineEdit->setText(m_clip->get_name());
+ }
+
+ clipGainSpinBox->setValue(coefficient_to_dB(m_clip->get_gain()));
+}
+
+void AudioClipEditWidget::save_changes()
+{
+ parentWidget()->hide();
+ QString name = clipNameLineEdit->text();
+ if (!name.isEmpty()) {
+ m_clip->set_name(name);
+ } else {
+ clipNameLineEdit->setText(m_clip->get_name());
+ }
+}
+
+void AudioClipEditWidget::gain_spinbox_value_changed(double value)
+{
+ float gain = dB_to_scale_factor(value);
+ m_clip->set_gain(gain);
+}
+
+void AudioClipEditWidget::clip_start_value_changed(double value)
+{
+ clipStartSpinBox->setValue(value);
+
+ nframes_t startframe = (nframes_t)(value * m_clip->get_rate());
+
+ if (m_clip->get_track_start_frame() != startframe) {
+ m_clip->set_track_start_frame(startframe);
+ }
+}
+
+void AudioClipEditWidget::clip_position_changed()
+{
+ clip_start_value_changed((double)m_clip->get_track_start_frame() /
m_clip->get_rate());
+}
+
+#include "AudioClipEditDialog.moc"
Index: src/traverso/dialogs/AudioClipEditDialog.h
===================================================================
RCS file: src/traverso/dialogs/AudioClipEditDialog.h
diff -N src/traverso/dialogs/AudioClipEditDialog.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/traverso/dialogs/AudioClipEditDialog.h 28 Jun 2007 15:03:56 -0000
1.1
@@ -0,0 +1,40 @@
+/*
+Copyright (C) 2007 Remon Sijrier
+
+This file is part of Traverso
+
+Traverso 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 program 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.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+
+*/
+
+#ifndef AUDIOCLIP_EDIT_DIALOG_H
+#define AUDIOCLIP_EDIT_DIALOG_H
+
+#include <QDialog>
+
+class AudioClipEditWidget;
+class AudioClip;
+
+class AudioClipEditDialog : public QDialog
+{
+public:
+ AudioClipEditDialog(AudioClip* clip, QWidget* parent=0);
+ ~AudioClipEditDialog() {};
+
+private:
+ AudioClipEditWidget* m_edit;
+};
+
+#endif
Index: src/traverso/ui/AudioClipEditWidget.ui
===================================================================
RCS file: src/traverso/ui/AudioClipEditWidget.ui
diff -N src/traverso/ui/AudioClipEditWidget.ui
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/traverso/ui/AudioClipEditWidget.ui 28 Jun 2007 15:03:56 -0000
1.1
@@ -0,0 +1,257 @@
+<ui version="4.0" >
+ <class>AudioClipEditWidget</class>
+ <widget class="QWidget" name="AudioClipEditWidget" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>485</width>
+ <height>286</height>
+ </rect>
+ </property>
+ <property name="minimumSize" >
+ <size>
+ <width>450</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="windowTitle" >
+ <string>Form</string>
+ </property>
+ <layout class="QVBoxLayout" >
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QGroupBox" name="groupBox_3" >
+ <property name="title" >
+ <string>Clip parameters</string>
+ </property>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <layout class="QVBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label" >
+ <property name="text" >
+ <string>Name</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_4" >
+ <property name="text" >
+ <string>Gain</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_2" >
+ <property name="text" >
+ <string>Length</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_3" >
+ <property name="text" >
+ <string>Track start</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="clipNameLineEdit" />
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <layout class="QVBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QDoubleSpinBox" name="clipGainSpinBox" >
+ <property name="maximum" >
+ <double>30.000000000000000</double>
+ </property>
+ <property name="minimum" >
+ <double>-120.000000000000000</double>
+ </property>
+ <property name="singleStep" >
+ <double>0.100000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDoubleSpinBox" name="clipLengthSpinBox" >
+ <property name="decimals" >
+ <number>3</number>
+ </property>
+ <property name="maximum" >
+ <double>1200.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDoubleSpinBox" name="clipStartSpinBox" >
+ <property name="suffix" >
+ <string/>
+ </property>
+ <property name="decimals" >
+ <number>3</number>
+ </property>
+ <property name="maximum" >
+ <double>1200.000000000000000</double>
+ </property>
+ <property name="singleStep" >
+ <double>1.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="externalProcessingButton" >
+ <property name="text" >
+ <string>External Processing</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer>
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QGroupBox" name="groupBox" >
+ <property name="title" >
+ <string>Fade In</string>
+ </property>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_5" >
+ <property name="text" >
+ <string>Length</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDoubleSpinBox" name="doubleSpinBox_4" />
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_2" >
+ <property name="title" >
+ <string>Fade Out</string>
+ </property>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_9" >
+ <property name="text" >
+ <string>Length</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDoubleSpinBox" name="doubleSpinBox_5" />
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons" >
+
<set>QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-commit] traverso resources/keymap.xml src/core/AudioCli...,
Remon Sijrier <=