#include <wavewidget.hh>
Publikus rések | |
void | playSelected () |
Lejátsza a kiválasztott intervallumot. | |
void | stopPlayback () |
Leállítja a lejátszást. | |
void | setXZoom (int zoom) |
Beállítja a hullám X felbontását. | |
void | setYZoom (int zoom) |
Beállítja a hullám Y nagyítását. | |
void | scrollTo (int start) |
A megadott időhöz állítja a widgetet. | |
Szignálok | |
void | startTimeChanged (QTime *start) |
Értesíti a SubTimerWnd -t a kezdőpont változásáról. | |
void | endTimeChanged (QTime *end) |
Értesíti a SubTimerWnd -t a végpont változásáról. | |
void | lengthChanged (int length) |
Értesíti a SubTimerWnd -t a hossz megváltozásáról. | |
void | positionChanged (int pos) |
Értesíti a SubTimerWnd -t a hullám görgetéséről. | |
Publikus tagfüggvények | |
WaveWidget (QWidget *parent=0, const char *name=0) | |
Készít egy WaveWidget widgetet. | |
bool | loadFile (QString const fname) |
Betölt egy hangfájlt. | |
bool | isVisible (QTime const t) const |
Megadja, hogy az adott időpont látható-e a widgetben. | |
QTime | startTime () const |
Megadja az aktuális kezdőpontot. | |
QTime | endTime () const |
Megadja az aktuális végpontot. | |
void | setStartTime (QTime t) |
Beállítja a kezdőpontot és újrarajzolja a widgetet. | |
void | setEndTime (QTime t) |
Beállítja a végpontot és újrarazolja a widgetet. | |
Védett tagfüggvények | |
void | customEvent (QCustomEvent *e) |
A PlayThread::Finished eseményt kezeli. | |
void | mousePressEvent (QMouseEvent *e) |
A widgetre érkező egérklikkeket kezeli. | |
void | paintEvent (QPaintEvent *) |
Kirajzolja a widgetet. |
A SubTimer fő widgeteként a WaveWidget végzi a legtöbb feladatot, ami a hangfájllal kapcsolatos. Ez az osztály kommunikál a WaveFile és PlayThread osztályokkal, valamint SubTimerWnd -vel, a fő párbeszédablakkal.
Definíció a(z) wavewidget.hh fájl 76. sorában.
|
A PlayThread::Finished eseményt kezeli.
Definíció a(z) wavewidget.cc fájl 166. sorában. |
|
Megadja az aktuális végpontot.
Definíció a(z) wavewidget.cc fájl 124. sorában. |
|
Értesíti a SubTimerWnd -t a végpont változásáról.
Hivatkozások: mousePressEvent(). |
|
Megadja, hogy az adott időpont látható-e a widgetben.
Definíció a(z) wavewidget.cc fájl 102. sorában. |
|
Értesíti a SubTimerWnd -t a hossz megváltozásáról. A görgethető hosszt kell megadni paraméternek, tehát a teljes megjelenítési hosszt mínusz a látható hosszt.
Hivatkozások: loadFile() és setXZoom(). |
|
Betölt egy hangfájlt. Becsukja a már megnyitott hangfájlt és meghívja a WaveFile osztály egy leszármazottját a fájl kiterjesztésének megfelelően.
Definíció a(z) wavewidget.cc fájl 72. sorában. Hivatkozások WaveFile::close(), WaveFile::isOpen(), WaveFile::length(), lengthChanged(), MSECS() és WaveFile::open(). |
|
A widgetre érkező egérklikkeket kezeli. Balklikk állítja be a kezdőpontot, jobb klikk a végpontot. A hullám vége utáni klikkeléseket és a kezdőpont előtti jobbklikkeket figyelmen kívül hagyja. Végpont utáni balklikk a végpontot a klikkelés helye után 2 másodperccel későbbre állítja, illetve a hullám végére, ha az rövidebb.
Definíció a(z) wavewidget.cc fájl 175. sorában. Hivatkozások endTimeChanged(), WaveFile::length() és startTimeChanged(). |
|
Kirajzolja a widgetet. Ha a WHITE_LINE definiált, akkor lejátszás közben kirajzol egy fehér vonalat az aktuális lejátszási pozíciónál. Definíció a(z) wavewidget.cc fájl 200. sorában. Hivatkozások WaveFile::getDispBuffer(), WaveFile::isOpen(), MSECS() és QTIME_MS(). |
|
Lejátsza a kiválasztott intervallumot. Megnyitja és beállítja a PCM eszközt, majd felkészíti a lejátszásra és elindít egy PlayThread objektumot. Ha a WHITE_LINE definiált, akkor elindít egy időzítőt is, ami újra és újra meghívja az újrarajzolást minden PAINT_FREQ ezredmásodpercekben.
Definíció a(z) wavewidget.cc fájl 261. sorában. Hivatkozások WaveFormat::access, WaveFormat::channels, WaveFormat::format, WaveFile::getPlayBuffer(), WaveFile::getPlayBufferSize(), PlayThread::initThread(), PlayThread::loadData(), PAINT_FREQ, WaveFormat::rate és WaveFile::waveFormat(). |
|
Értesíti a SubTimerWnd -t a hullám görgetéséről.
Hivatkozások: scrollTo(). |
|
A megadott időhöz állítja a widgetet.
Újrarajzolja a widgetet úgy, hogy a
Definíció a(z) wavewidget.cc fájl 147. sorában. Hivatkozások WaveFile::isOpen(), WaveFile::length(), MSECS(), positionChanged(), QTIME_MS(), QTIME_S() és SECS(). |
|
Beállítja a végpontot és újrarazolja a widgetet.
Definíció a(z) wavewidget.cc fájl 113. sorában. |
|
Beállítja a kezdőpontot és újrarajzolja a widgetet.
Definíció a(z) wavewidget.cc fájl 107. sorában. |
|
Beállítja a hullám X felbontását. Betölti az új kirajzoláshoz szükséges adatokat a WaveFile::changeRes metódus segítségével, és hozzáállítja a görgetősávot.
Definíció a(z) wavewidget.cc fájl 129. sorában. Hivatkozások WaveFile::changeRes(), WaveFile::length(), lengthChanged(), MAX_PIXPERSEC, MSECS() és SECS(). |
|
Beállítja a hullám Y nagyítását.
Definíció a(z) wavewidget.cc fájl 141. sorában. |
|
Megadja az aktuális kezdőpontot.
Definíció a(z) wavewidget.cc fájl 119. sorában. |
|
Értesíti a SubTimerWnd -t a kezdőpont változásáról.
Hivatkozások: mousePressEvent(). |
|
Leállítja a lejátszást. Küld egy PlayThread::Stop eseményt a PlayThread objektumnak. Definíció a(z) wavewidget.cc fájl 354. sorában. |