25 #include <QReadLocker> 26 #include <QWriteLocker> 28 #include <KLocalizedString> 41 :m_tracks(), m_lock_tracks()
79 if (!t)
return Q_NULLPTR;
102 connect(t, SIGNAL(sigSelectionChanged(
bool)),
155 return (t) ? t->
openWriter(mode, left, right) : Q_NULLPTR;
171 return (t) ? t->
openReader(mode, left, right) : Q_NULLPTR;
184 if (t)
return t->
stripes(left, right);
200 if (!t)
return false;
210 QList<unsigned int> list;
212 for (track=0; track <
tracks; track++) {
264 if (!track)
continue;
266 if (len > max) max = len;
277 if (!
m_tracks.at(track))
return false;
279 return m_tracks.at(track)->selected();
302 if (!
m_tracks.at(track))
return QUuid();
571 int index =
m_tracks.indexOf(const_cast<Kwave::Track *>(track));
572 return (index >= 0) ? index :
m_tracks.count();
void sigTrackSelectionChanged(bool enabled)
void deleteTrack(unsigned int index)
unsigned int trackIndex(const Kwave::Track *track)
void slotSamplesModified(Kwave::Track *src, sample_index_t offset, sample_index_t length)
Kwave::Stripe::List stripes(unsigned int track, sample_index_t left=0, sample_index_t right=SAMPLE_INDEX_MAX)
Kwave::Track * appendTrack(sample_index_t length, QUuid *uuid)
void deleteRange(sample_index_t offset, sample_index_t length, bool make_gap=false)
void sigTrackInserted(unsigned int index, Kwave::Track *track)
Kwave::SampleReader * openReader(Kwave::ReaderMode mode, sample_index_t left=0, sample_index_t right=SAMPLE_INDEX_MAX)
bool mergeStripes(const Kwave::Stripe::List &stripes)
bool insertSpace(sample_index_t offset, sample_index_t shift)
bool connect(Kwave::StreamObject &source, const char *output, Kwave::StreamObject &sink, const char *input)
void sigSamplesDeleted(unsigned int track, sample_index_t offset, sample_index_t length)
QUuid uuidOfTrack(unsigned int track)
QList< Kwave::Track * > m_tracks
QReadWriteLock m_lock_tracks
void slotSamplesDeleted(Kwave::Track *src, sample_index_t offset, sample_index_t length)
void deleteRange(unsigned int track, sample_index_t offset, sample_index_t length)
Kwave::SampleReader * openReader(Kwave::ReaderMode mode, unsigned int track, sample_index_t left=0, sample_index_t right=SAMPLE_INDEX_MAX)
void sigTrackDeleted(unsigned int index, Kwave::Track *track)
Kwave::Track * insertTrack(unsigned int index, sample_index_t length, QUuid *uuid)
void sigSamplesModified(unsigned int track, sample_index_t offset, sample_index_t length)
void slotSamplesInserted(Kwave::Track *src, sample_index_t offset, sample_index_t length)
Kwave::Writer * openWriter(Kwave::InsertMode mode, sample_index_t left=0, sample_index_t right=0)
void sigSamplesInserted(unsigned int track, sample_index_t offset, sample_index_t length)
Kwave::Writer * openWriter(Kwave::InsertMode mode, unsigned int track, sample_index_t left=0, sample_index_t right=0)
void insertSpace(unsigned int track, sample_index_t offset, sample_index_t length)
QList< unsigned int > allTracks()
bool mergeStripes(const Kwave::Stripe::List &stripes, unsigned int track)
Kwave::Stripe::List stripes(sample_index_t left, sample_index_t right)
bool trackSelected(unsigned int track)
void selectTrack(unsigned int track, bool select)