kwave
18.07.70
|
#include <Signal.h>
Signals | |
void | sigTrackInserted (unsigned int index, Kwave::Track *track) |
void | sigTrackDeleted (unsigned int index, Kwave::Track *track) |
void | sigTrackSelectionChanged (bool enabled) |
void | sigSamplesInserted (unsigned int track, sample_index_t offset, sample_index_t length) |
void | sigSamplesDeleted (unsigned int track, sample_index_t offset, sample_index_t length) |
void | sigSamplesModified (unsigned int track, sample_index_t offset, sample_index_t length) |
Private Slots | |
void | slotSamplesInserted (Kwave::Track *src, sample_index_t offset, sample_index_t length) |
void | slotSamplesDeleted (Kwave::Track *src, sample_index_t offset, sample_index_t length) |
void | slotSamplesModified (Kwave::Track *src, sample_index_t offset, sample_index_t length) |
Private Member Functions | |
unsigned int | trackIndex (const Kwave::Track *track) |
Private Attributes | |
QList< Kwave::Track * > | m_tracks |
QReadWriteLock | m_lock_tracks |
Kwave::Signal::Signal | ( | ) |
Default Constructor. Creates an empty signal with zero-length and no tracks
Definition at line 40 of file Signal.cpp.
Kwave::Signal::Signal | ( | unsigned int | tracks, |
sample_index_t | length | ||
) |
Constructor. Creates an empty signal with a specified number of tracks and length. Each track will contain only one stripe.
Definition at line 46 of file Signal.cpp.
References appendTrack().
|
virtual |
Destructor.
Definition at line 55 of file Signal.cpp.
References close().
QList< unsigned int > Kwave::Signal::allTracks | ( | ) |
Returns an array of indices of all present tracks.
Definition at line 206 of file Signal.cpp.
References tracks().
Referenced by Kwave::SignalManager::allTracks().
Kwave::Track * Kwave::Signal::appendTrack | ( | sample_index_t | length, |
QUuid * | uuid | ||
) |
Appends a new track to the end of the tracks list, shortcut for insertTrack(tracks()-1, length)
length | number of samples of the new track (zero is allowed) |
uuid | pointer to a unique ID (optional, can be null) |
Definition at line 113 of file Signal.cpp.
References insertTrack(), and tracks().
Referenced by Kwave::SignalManager::insertTrack(), Kwave::SignalManager::loadFile(), Kwave::SignalManager::newSignal(), and Signal().
void Kwave::Signal::close | ( | ) |
Closes the signal by removing all tracks.
Definition at line 61 of file Signal.cpp.
References deleteTrack(), and tracks().
Referenced by Kwave::SignalManager::close(), Kwave::SignalManager::loadFile(), and ~Signal().
void Kwave::Signal::deleteRange | ( | unsigned int | track, |
sample_index_t | offset, | ||
sample_index_t | length | ||
) |
Deletes a range of samples
track | index of the track |
offset | index of the first sample |
length | number of samples |
Definition at line 220 of file Signal.cpp.
References Kwave::Track::deleteRange(), m_lock_tracks, m_tracks, and Kwave::toInt().
Referenced by Kwave::SignalManager::deleteRange(), and Kwave::SignalManager::executeCommand().
void Kwave::Signal::deleteTrack | ( | unsigned int | index | ) |
Deletes a track.
index | the index of the track to be deleted [0...tracks()-1] |
Definition at line 119 of file Signal.cpp.
References m_lock_tracks, m_tracks, sigTrackDeleted(), and Kwave::toInt().
Referenced by close(), Kwave::SignalManager::deleteTrack(), and Kwave::UndoInsertTrack::undo().
void Kwave::Signal::insertSpace | ( | unsigned int | track, |
sample_index_t | offset, | ||
sample_index_t | length | ||
) |
Inserts some space at a given position
track | index of the track |
offset | index of the first sample |
length | number of samples |
Definition at line 236 of file Signal.cpp.
References Kwave::Track::insertSpace(), m_lock_tracks, m_tracks, and Kwave::toInt().
Referenced by Kwave::SignalManager::insertSpace().
Kwave::Track * Kwave::Signal::insertTrack | ( | unsigned int | index, |
sample_index_t | length, | ||
QUuid * | uuid | ||
) |
Inserts a new track to into the track list or appends it to the end.
index | the position where to insert [0...tracks()]. If the position is at or after the last track, the new track will be appended to the end. |
length | number of samples of the new track (zero is allowed) |
uuid | pointer to a unique ID (optional, can be null) |
Definition at line 69 of file Signal.cpp.
References Kwave::connect(), m_lock_tracks, m_tracks, sigSamplesDeleted(), sigSamplesInserted(), sigSamplesModified(), sigTrackInserted(), sigTrackSelectionChanged(), slotSamplesDeleted(), slotSamplesInserted(), slotSamplesModified(), and Kwave::toInt().
Referenced by appendTrack(), Kwave::SignalManager::insertTrack(), and Kwave::UndoDeleteTrack::undo().
sample_index_t Kwave::Signal::length | ( | ) |
Returns the length of the signal. This is determined by searching for the highest sample position of all tracks.
Definition at line 258 of file Signal.cpp.
References Kwave::Track::length(), m_lock_tracks, and m_tracks.
Referenced by Kwave::UndoInsertTrack::redoSize(), Kwave::SignalManager::slotSamplesDeleted(), and Kwave::SignalManager::slotSamplesInserted().
bool Kwave::Signal::mergeStripes | ( | const Kwave::Stripe::List & | stripes, |
unsigned int | track | ||
) |
Merge a list of stripes into the signal.
stripes | list of stripes |
track | index of the track |
Definition at line 190 of file Signal.cpp.
References m_lock_tracks, m_tracks, Kwave::Track::mergeStripes(), and Kwave::toInt().
Referenced by Kwave::SignalManager::mergeStripes().
Kwave::SampleReader * Kwave::Signal::openReader | ( | Kwave::ReaderMode | mode, |
unsigned int | track, | ||
sample_index_t | left = 0 , |
||
sample_index_t | right = SAMPLE_INDEX_MAX |
||
) |
Opens a stream for reading samples. If the last position is omitted, the value UINT_MAX will be used.
mode | a reader mode, see Kwave::ReaderMode |
track | index of the track |
left | first offset to be read (default = 0) |
right | last position to read (default = UINT_MAX) |
Definition at line 159 of file Signal.cpp.
References m_lock_tracks, m_tracks, Kwave::Track::openReader(), and Kwave::toInt().
Kwave::Writer * Kwave::Signal::openWriter | ( | Kwave::InsertMode | mode, |
unsigned int | track, | ||
sample_index_t | left = 0 , |
||
sample_index_t | right = 0 |
||
) |
Opens an output stream for a track, starting at a specified sample position.
mode | specifies where and how to insert |
track | index of the track |
left | start of the input (only useful in insert and overwrite mode) |
right | end of the input (only useful with overwrite mode) |
Definition at line 143 of file Signal.cpp.
References m_lock_tracks, m_tracks, Kwave::Track::openWriter(), and Kwave::toInt().
void Kwave::Signal::selectTrack | ( | unsigned int | track, |
bool | select | ||
) |
Sets the "selected" flag of a track.
track | index of the track [0...tracks-1] |
select | true if the track should be selected, false for de-selecting |
Definition at line 283 of file Signal.cpp.
References m_lock_tracks, m_tracks, and Kwave::toInt().
Referenced by Kwave::SignalManager::selectTrack(), and Kwave::SignalManager::selectTracks().
|
signal |
Emitted if samples have been removed from a track.
track | index of the track |
offset | position from which the data was removed |
length | number of samples deleted |
Referenced by insertTrack(), and slotSamplesDeleted().
|
signal |
Emitted if samples have been inserted into a track. This implies a modification of the inserted data, so no extra sigSamplesModified is emitted.
track | index of the track |
offset | position from which the data was inserted |
length | number of samples inserted |
Referenced by insertTrack(), and slotSamplesInserted().
|
signal |
Emitted if samples within a track have been modified.
track | index of the track |
offset | position from which the data was modified |
length | number of samples modified |
Referenced by insertTrack(), and slotSamplesModified().
|
signal |
Signals that a track has been deleted.
index | position of the deleted track [0...tracks()-1] |
track | reference to the deleted track |
Referenced by deleteTrack().
|
signal |
Signals that a track has been inserted.
index | position of the new track [0...tracks()-1] |
track | reference to the new track |
Referenced by insertTrack().
|
signal |
Signals that the selection of one of the tracks has changed
enabled | state of the track, true=selected |
Referenced by insertTrack().
|
privateslot |
Connected to each track's sigSamplesDeleted.
src | source track |
offset | position from which the data was removed |
length | number of samples deleted |
Definition at line 585 of file Signal.cpp.
References sigSamplesDeleted(), and trackIndex().
Referenced by insertTrack().
|
privateslot |
Connected to each track's sigSamplesInserted.
src | source track |
offset | position from which the data was inserted |
length | number of samples inserted |
Definition at line 576 of file Signal.cpp.
References sigSamplesInserted(), and trackIndex().
Referenced by insertTrack().
|
privateslot |
Connected to each track's sigSamplesModified
src | source track |
offset | position from which the data was modified |
length | number of samples modified |
Definition at line 594 of file Signal.cpp.
References sigSamplesModified(), and trackIndex().
Referenced by insertTrack().
Kwave::Stripe::List Kwave::Signal::stripes | ( | unsigned int | track, |
sample_index_t | left = 0 , |
||
sample_index_t | right = SAMPLE_INDEX_MAX |
||
) |
Get a list of stripes that matches a given range of samples
track | index of the track |
left | offset of the first sample |
right | offset of the last sample |
Definition at line 175 of file Signal.cpp.
References m_lock_tracks, m_tracks, Kwave::Track::stripes(), and Kwave::toInt().
Referenced by Kwave::SignalManager::stripes().
|
private |
Looks up the index of a track in the track list
track | reference to the trac to be looked up |
Definition at line 567 of file Signal.cpp.
References m_lock_tracks, and m_tracks.
Referenced by slotSamplesDeleted(), slotSamplesInserted(), and slotSamplesModified().
unsigned int Kwave::Signal::tracks | ( | ) |
Returns the number of tracks.
Definition at line 251 of file Signal.cpp.
References m_lock_tracks, and m_tracks.
Referenced by allTracks(), appendTrack(), and close().
bool Kwave::Signal::trackSelected | ( | unsigned int | track | ) |
Queries if a track is selected. If the index of the track is out of range, the return value will be false.
Definition at line 272 of file Signal.cpp.
References m_lock_tracks, m_tracks, and Kwave::toInt().
Referenced by Kwave::SignalManager::selectedTracks(), Kwave::SignalManager::selectTrack(), and Kwave::SignalManager::selectTracks().
QUuid Kwave::Signal::uuidOfTrack | ( | unsigned int | track | ) |
Returns the uuid of a track
track | index of the track [0...tracks-1] |
Definition at line 296 of file Signal.cpp.
References m_lock_tracks, m_tracks, and Kwave::toInt().
|
private |
mutex for access to the track list
Definition at line 316 of file Signal.h.
Referenced by deleteRange(), deleteTrack(), insertSpace(), insertTrack(), length(), mergeStripes(), openReader(), openWriter(), selectTrack(), stripes(), trackIndex(), tracks(), trackSelected(), and uuidOfTrack().
|
private |
list of tracks
Definition at line 313 of file Signal.h.
Referenced by deleteRange(), deleteTrack(), insertSpace(), insertTrack(), length(), mergeStripes(), openReader(), openWriter(), selectTrack(), stripes(), trackIndex(), tracks(), trackSelected(), and uuidOfTrack().