18 #ifndef SIGNAL_MANAGER_H 19 #define SIGNAL_MANAGER_H 46 #define NEW_FILENAME i18n("New File") 52 class UndoInsertAction;
53 class UndoTransaction;
54 class UndoTransactionGuard;
55 class MultiTrackWriter;
80 int loadFile(
const QUrl &url);
90 unsigned int bits,
unsigned int tracks);
115 int executeCommand(
const QString &command);
121 QString signalName();
126 inline unsigned int bits()
const {
136 inline unsigned int tracks() {
return m_signal.tracks(); }
152 return (m_signal.trackSelected(track));
158 const QList<unsigned int> selectedTracks();
163 const QList<unsigned int> allTracks();
172 int save(
const QUrl &url,
bool selection);
183 const QList<unsigned int> &track_list);
204 const QList<unsigned int> &track_list);
224 void insertTrack(
unsigned int index);
231 void deleteTrack(
unsigned int index);
237 void selectTracks(QList<unsigned int> &track_list);
245 void selectTrack(
unsigned int track,
bool select);
262 return m_signal.openWriter(mode, track, left, right);
278 return m_signal.openReader(mode, track, left, right);
290 QList<Kwave::Stripe::List> stripes(
291 const QList<unsigned int> &track_list,
302 bool mergeStripes(
const QList<Kwave::Stripe::List> &stripes,
303 const QList<unsigned int> &track_list);
313 return !m_undo_buffer.isEmpty() && undoEnabled();
318 return !m_redo_buffer.isEmpty() && undoEnabled();
355 void deleteLabel(
int index,
bool with_undo);
367 bool modifyLabel(
int index,
sample_index_t pos,
const QString &name,
409 return m_signal.uuidOfTrack(track);
417 m_parent_widget = new_parent;
434 void sigTrackInserted(
unsigned int index,
Kwave::Track *track);
441 void sigTrackDeleted(
unsigned int index,
Kwave::Track *track);
447 void sigTrackSelectionChanged(
bool enabled);
458 void sigSamplesInserted(
unsigned int track,
sample_index_t offset,
476 void sigSamplesModified(
unsigned int track,
sample_index_t offset,
490 void sigUndoRedoInfo(
const QString &undo,
const QString &redo);
519 void slotTrackInserted(
unsigned int index,
Kwave::Track *track);
528 void slotTrackDeleted(
unsigned int index,
Kwave::Track *track);
538 void slotSamplesInserted(
unsigned int track,
sample_index_t offset,
549 void slotSamplesDeleted(
unsigned int track,
sample_index_t offset,
560 void slotSamplesModified(
unsigned int track,
sample_index_t offset,
567 void closeUndoTransaction();
577 void emitUndoRedoInfo();
594 m_signal.deleteRange(track, offset, length);
628 bool saveUndoDelete(QList<unsigned int> &track_list,
634 void abortUndoTransaction();
642 void startUndoTransaction(
const QString &name = QString());
648 void flushUndoBuffers();
653 void flushRedoBuffer();
659 void setModified(
bool mod);
671 bool continueWithoutUndo();
676 qint64 usedUndoRedoMemory();
684 void freeUndoMemory(qint64 needed);
690 void enableModifiedChange(
bool en);
693 void rememberCurrentSelection();
700 void checkSelectionChange();
QWidget * parentWidget() const
QList< Kwave::UndoTransaction * > m_redo_buffer
Kwave::UndoManager & undoManager()
Kwave::MetaDataList & metaData()
QUuid uuidOfTrack(unsigned int track)
QMutex m_undo_transaction_lock
Kwave::Selection & selection()
Kwave::Writer * openWriter(Kwave::InsertMode mode, unsigned int track, sample_index_t left=0, sample_index_t right=0)
unsigned int m_undo_transaction_level
Kwave::SampleReader * openReader(Kwave::ReaderMode mode, unsigned int track, sample_index_t left=0, sample_index_t right=SAMPLE_INDEX_MAX)
void deleteRange(unsigned int track, sample_index_t offset, sample_index_t length)
sample_index_t m_last_length
bool trackSelected(unsigned int track)
Kwave::PlaybackController m_playback_controller
void setParentWidget(QWidget *new_parent)
Kwave::MetaDataList m_meta_data
Kwave::Selection m_last_selection
Kwave::UndoTransaction * m_undo_transaction
unsigned int bits() const
unsigned int bits() const
QList< Kwave::UndoTransaction * > m_undo_buffer
Kwave::Selection m_selection
QWidget * m_parent_widget
const Kwave::MetaDataList & metaData() const
Kwave::UndoManager m_undo_manager
QList< unsigned int > m_last_track_selection