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