From 32568af90e5c521c68432a7e77b6dd8bf524adde Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Wed, 20 Apr 2016 23:29:39 +0800 Subject: UI refinements and fix to two memory leaks. Minor improvement in MIDI reading process. --- ChangeLog | 12 +- core/qmpmidimapperrtmidi.cpp | 1 + core/qmpmidiplay.cpp | 4 +- core/qmpmidiplay.hpp | 2 + core/qmpmidiread.cpp | 15 +- debian/changelog | 7 + doc/index_internal.html | 34 +- qmidiplayer-desktop/qmidiplayer-desktop.pro | 3 +- qmidiplayer-desktop/qmpchanneleditor.ui | 1078 +++++++++++++-------------- qmidiplayer-desktop/qmpmainwindow.cpp | 40 +- qmidiplayer-desktop/qmpmainwindow.hpp | 21 + qmidiplayer-desktop/qmpmainwindow.ui | 860 ++++++++++++--------- qmidiplayer-desktop/qmpplistwindow.ui | 502 +++++++------ qmidiplayer-desktop/qmppresetselect.ui | 165 ++-- qmidiplayer-desktop/qmpsettingswindow.ui | 18 + qmidiplayer-lite/qmidiplayer-lite.pro | 3 +- 16 files changed, 1497 insertions(+), 1268 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4880631..9ae9c10 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,14 @@ -2016-04-18 0.7.2 beta +2016-04-20 0.7.2 beta +UI refinements: + Use Qt layouts in most of the dialogs. + Allow seeking with a single click on the slider. + Remove file extension from the file name on main window. + Use QLCDNumber to display current polyphone. +Fixed two memory leaks. +Minor improvement in MIDI reading process. +Added a function to dump midi file content (for debugging). + +2016-04-19 0.7.2 beta Fixed several bugs in command line parsing (on Windows). 2016-04-18 0.7.2 beta diff --git a/core/qmpmidimapperrtmidi.cpp b/core/qmpmidimapperrtmidi.cpp index 845f24b..059ca77 100644 --- a/core/qmpmidimapperrtmidi.cpp +++ b/core/qmpmidimapperrtmidi.cpp @@ -88,6 +88,7 @@ void qmpMidiMapperRtMidi::sysEx(int iid,int length,const char *data) void qmpMidiMapperRtMidi::panic(int iid,int ch) { //maybe all notes off is more close to panic? + pitchBend(iid,ch,8192); ctrlChange(iid,ch,120,0); //ctrlChange(iid,ch,123,0); } diff --git a/core/qmpmidiplay.cpp b/core/qmpmidiplay.cpp index 43ae17e..ab312f7 100644 --- a/core/qmpmidiplay.cpp +++ b/core/qmpmidiplay.cpp @@ -291,12 +291,14 @@ void CMidiPlayer::playerPanic(bool reset) { if(reset) { - fluid_synth_pitch_bend(synth,i,8192); + fluid_synth_cc(synth,i,0,0); fluid_synth_cc(synth,i,7,100); fluid_synth_cc(synth,i,10,64); fluid_synth_cc(synth,i,11,127); + fluid_synth_cc(synth,i,32,0); } fluid_synth_cc(synth,i,64,0); + fluid_synth_pitch_bend(synth,i,8192); //all sounds off causes the minus polyphone bug... fluid_synth_all_notes_off(synth,i); if(deviceusage[i])for(int j=0;j<16;++j) diff --git a/core/qmpmidiplay.hpp b/core/qmpmidiplay.hpp index f2d7a4a..9bb6323 100644 --- a/core/qmpmidiplay.hpp +++ b/core/qmpmidiplay.hpp @@ -13,6 +13,7 @@ struct SEvent uint8_t type; char *str; SEvent(){time=p1=p2=0;type=0;str=NULL;} + ~SEvent(){if(str){delete[] str;str=NULL;}} SEvent(uint32_t _iid,uint32_t _t,char _tp,uint32_t _p1,uint32_t _p2,const char* s=NULL) { iid=_iid;time=_t;type=_tp; @@ -46,6 +47,7 @@ class CMidiFile void trackChunkReader(); void headerChunkReader(); int chunkReader(int hdrXp); + void dumpEvents(); public: CMidiFile(const char* fn); ~CMidiFile(); diff --git a/core/qmpmidiread.cpp b/core/qmpmidiread.cpp index 115b7b3..762ce5d 100644 --- a/core/qmpmidiread.cpp +++ b/core/qmpmidiread.cpp @@ -51,7 +51,7 @@ int CMidiFile::eventReader()//returns 0 if End of Track encountered uint32_t delta=readVL();curt+=delta; char type=fgetc(f);++byteread;uint32_t p1,p2; static char lasttype; -retry: + if(!(type&0x80)){fseek(f,-1,SEEK_CUR);--byteread;type=lasttype;} switch(type&0xF0) { case 0x80://Note Off @@ -164,11 +164,12 @@ retry: if(!strcmp(str,GM2SysX))std=2; if(!strcmp(str,GSSysEx))std=3; if(!strcmp(str,XGSysEx))std=4; + delete[] str; } else error(0,"W: Unknown event type %#x",type); break; default: - fseek(f,-1,SEEK_CUR);--byteread;type=lasttype;goto retry; + error(0,"W: Unknown event type %#x",type); } lasttype=type;++curid; return 1; @@ -211,6 +212,16 @@ int CMidiFile::chunkReader(int hdrXp) } else return trackChunkReader(),1; } +void CMidiFile::dumpEvents() +{ + for(uint32_t i=0;istr) + printf("type %x #%d @%d p1 %d p2 %d str %s\n",eventList[i]->type, + eventList[i]->iid,eventList[i]->time,eventList[i]->p1,eventList[i]->p2,eventList[i]->str); + else + printf("type %x #%d @%d p1 %d p2 %d\n",eventList[i]->type, + eventList[i]->iid,eventList[i]->time,eventList[i]->p1,eventList[i]->p2); +} CMidiFile::CMidiFile(const char* fn) { title=copyright=NULL;notes=0;std=0;valid=1; diff --git a/debian/changelog b/debian/changelog index 9ef843b..d21bd02 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +qmidiplayer (0.7.2-4) UNRELEASED; urgency=low + + * New upstream release. + + -- chrisoft Wed, 20 Apr 2016 23:21:21 +0800 + + qmidiplayer (0.7.2-3) UNRELEASED; urgency=low * New upstream release. diff --git a/doc/index_internal.html b/doc/index_internal.html index c795b90..17f9cc0 100644 --- a/doc/index_internal.html +++ b/doc/index_internal.html @@ -4,29 +4,15 @@ QMidiPlayer Help - - - - - -
- - -

User manual

- You can find documentation here.
- Alternatively, you can use the version on chrisoft.org or the version installed on your computer. -

Contributing to the project

- Take a look at the project's git repo. -

About QMidiPlayer

- -
+

User manual

+ You can find documentation here.
+ Alternatively, you can use the version on chrisoft.org or the version installed on your computer. +

Contributing to the project

+ Take a look at the project's git repo. +

About QMidiPlayer

+ \ No newline at end of file diff --git a/qmidiplayer-desktop/qmidiplayer-desktop.pro b/qmidiplayer-desktop/qmidiplayer-desktop.pro index c7d2e99..4eaf3dd 100644 --- a/qmidiplayer-desktop/qmidiplayer-desktop.pro +++ b/qmidiplayer-desktop/qmidiplayer-desktop.pro @@ -83,7 +83,8 @@ unix{ win32{ #change these before building... LIBS += e:/libs/fluidsynth/fluidsynth.lib winmm.lib - LIBS += e:/libs/rtmidi/rtmidi.lib + Release:LIBS += e:/libs/rtmidi/rtmidi.lib + Debug:LIBS += e:/libs/rtmidi/rtmidid.lib INCLUDEPATH += e:/libs/fluidsynth/include INCLUDEPATH += e:/libs/rtmidi RC_FILE = qmidiplayer.rc diff --git a/qmidiplayer-desktop/qmpchanneleditor.ui b/qmidiplayer-desktop/qmpchanneleditor.ui index 49e8c8e..ccd944b 100644 --- a/qmidiplayer-desktop/qmpchanneleditor.ui +++ b/qmidiplayer-desktop/qmpchanneleditor.ui @@ -25,577 +25,513 @@ Dialog - - - - 10 - 10 - 21 - 21 - - - - < - - - - - - 30 - 10 - 21 - 20 - - - - 1 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 50 - 10 - 21 - 21 - - - - > - - - - - - 90 - 10 - 261 - 51 - - - - - 16 - - - - Yamaha Grand Piano - - - - - - 10 - 30 - 81 - 20 - - - - BK: 0 - - - - - - 10 - 50 - 81 - 20 - - - - PC: 0 - - - - - - 0 - 70 - 141 - 101 - - - - Filters - - - - - 70 - 80 - 66 - 20 - - - - Res. 64 - - - Qt::AlignCenter - - - - - - 80 - 30 - 50 - 51 - - - - 127 - - - 64 - - - true - - - - - - 10 - 30 - 50 - 51 - - - - 127 - - - 64 - - - true - - - - - - 0 - 80 - 71 - 20 - - - - Cut. 64 - - - Qt::AlignCenter - - - - - - - 140 - 70 - 141 - 101 - - - - Effects - - - - - 70 - 80 - 66 - 20 - - - - Chr. 64 - - - Qt::AlignCenter - - - - - - 80 - 30 - 50 - 51 - - - - 127 - - - 64 - - - true - - - - - - 10 - 30 - 50 - 51 - - - - 127 - - - 64 - - - true - - - - - - 0 - 80 - 71 - 20 - - - - Rev. 64 - - - Qt::AlignCenter - - - - - - - 0 - 170 - 211 - 101 - - - - Envelope - - - - - 70 - 80 - 66 - 20 - - - - Dec. 64 - - - Qt::AlignCenter - - - - - - 80 - 30 - 50 - 51 - - - - 127 - - - 64 - - - true - - - - - - 10 - 30 - 50 - 51 - - - - 127 - - - 64 - - - true - - - - - - 0 - 80 - 71 - 20 - - - - Atk. 64 - - - Qt::AlignCenter - - - - - - 150 - 30 - 50 - 51 - - - - 127 - - - 64 - - - true - - - - - - 140 - 80 - 66 - 20 - - - - Rel. 64 - - - Qt::AlignCenter - - - - - - - 210 - 170 - 211 - 101 - - - - Vibrato - - - - - 70 - 80 - 66 - 20 - - - - Dep. 64 - - - Qt::AlignCenter - - - - - - 80 - 30 - 50 - 51 - - - - 127 - - - 64 - - - true - - - - - - 10 - 30 - 50 - 51 - - - - 127 - - - 64 - - - true - - - - - - 0 - 80 - 71 - 20 - - - - Rate 64 - - - Qt::AlignCenter - - - - - - 150 - 30 - 50 - 51 - - - - 127 - - - 64 - - - true - - - - - - 140 - 80 - 66 - 20 - - - - Del. 64 - - - Qt::AlignCenter - - - - - - - 280 - 70 - 141 - 101 - - - - Mixer - - - - - 70 - 80 - 66 - 20 - - - - Pan. C - - - Qt::AlignCenter - - - - - - 80 - 30 - 50 - 51 - - - - 127 - - - 64 - - - true - - - - - - 0 - 80 - 66 - 20 - - - - Vol. 127 - - - Qt::AlignCenter - - - - - - 10 - 30 - 50 - 51 - - - - 127 - - - 127 - - - true - - - + + + + + + + 0 + + + + + + + + 20 + 20 + + + + + 20 + 20 + + + + < + + + + + + + + 24 + 0 + + + + 1 + + + Qt::AlignCenter + + + + + + + + 20 + 20 + + + + + 20 + 20 + + + + > + + + + + + + + + BK: 0 + + + + + + + PC: 0 + + + + + + + + + + 0 + 0 + + + + + 16 + + + + Yamaha Grand Piano + + + + + + + + + + + Filters + + + + 0 + + + 4 + + + 0 + + + 0 + + + 0 + + + + + 127 + + + 64 + + + true + + + + + + + 127 + + + 64 + + + true + + + + + + + Cut. 64 + + + Qt::AlignCenter + + + + + + + Res. 64 + + + Qt::AlignCenter + + + + + + + + + + Effects + + + + 0 + + + 4 + + + 0 + + + 0 + + + 0 + + + + + 127 + + + 64 + + + true + + + + + + + 127 + + + 64 + + + true + + + + + + + Rev. 64 + + + Qt::AlignCenter + + + + + + + Chr. 64 + + + Qt::AlignCenter + + + + + + + + + + Mixer + + + + 0 + + + 4 + + + 0 + + + 0 + + + 0 + + + + + 127 + + + 127 + + + true + + + + + + + 127 + + + 64 + + + true + + + + + + + Vol. 127 + + + Qt::AlignCenter + + + + + + + Pan. C + + + Qt::AlignCenter + + + + + + + + + + + + + + Envelope + + + + 0 + + + 4 + + + 0 + + + 0 + + + 0 + + + + + 127 + + + 64 + + + true + + + + + + + 127 + + + 64 + + + true + + + + + + + 127 + + + 64 + + + true + + + + + + + Atk. 64 + + + Qt::AlignCenter + + + + + + + Dec. 64 + + + Qt::AlignCenter + + + + + + + Rel. 64 + + + Qt::AlignCenter + + + + + + + + + + Vibrato + + + + 0 + + + 4 + + + 0 + + + 0 + + + 0 + + + + + 127 + + + 64 + + + true + + + + + + + 127 + + + 64 + + + true + + + + + + + 127 + + + 64 + + + true + + + + + + + Rate 64 + + + Qt::AlignCenter + + + + + + + Dep. 64 + + + Qt::AlignCenter + + + + + + + Del. 64 + + + Qt::AlignCenter + + + + + + + + + diff --git a/qmidiplayer-desktop/qmpmainwindow.cpp b/qmidiplayer-desktop/qmpmainwindow.cpp index e38ed2a..c04bc93 100644 --- a/qmidiplayer-desktop/qmpmainwindow.cpp +++ b/qmidiplayer-desktop/qmpmainwindow.cpp @@ -1,7 +1,9 @@ #include +#include #include #include #include +#include #include #include #include "qmpmainwindow.hpp" @@ -43,6 +45,7 @@ qmpMainWindow::qmpMainWindow(QWidget *parent) : ui(new Ui::qmpMainWindow) { ui->setupUi(this); + ui->lnPolyphone->display("00000-00000"); ui->lbFileName->setText("");ref=this; playing=false;stopped=true;dragging=false; settingsw=new qmpSettingsWindow(this); @@ -219,7 +222,7 @@ void qmpMainWindow::updateWidgets() chnlw->on_pbUnmute_clicked();chnlw->on_pbUnsolo_clicked(); ui->pbPlayPause->setIcon(QIcon(":/img/play.png")); ui->hsTimer->setValue(0); - ui->lbPolyphone->setText("Poly: 0/0"); + ui->lnPolyphone->display("00000-00000"); ui->lbCurTime->setText("00:00"); } else @@ -230,7 +233,8 @@ void qmpMainWindow::updateWidgets() if(singleFS)player->playerPanic(true); chnlw->on_pbUnmute_clicked();chnlw->on_pbUnsolo_clicked(); QString fns=plistw->getNextItem(); - ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName()); + ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName().left(QUrl::fromLocalFile(fns).fileName().lastIndexOf('.'))); + onfnChanged(); LOAD_FILE; char ts[100]; sprintf(ts,"%02d:%02d",(int)player->getFtime()/60,(int)player->getFtime()%60); @@ -276,8 +280,9 @@ void qmpMainWindow::updateWidgets() char ts[100]; sprintf(ts,"%02d:%02d",(int)(elapsed.count()+offset)/60,(int)(elapsed.count()+offset)%60); ui->lbCurTime->setText(ts); - sprintf(ts,"Poly: %d/%d",player->getPolyphone(),player->getMaxPolyphone()); - ui->lbPolyphone->setText(ts); + //sprintf(ts,"Poly: %d/%d",player->getPolyphone(),player->getMaxPolyphone()); + ui->lnPolyphone->display(QString("%1-%2").arg(player->getPolyphone(),5,10,QChar('0')) + .arg(player->getMaxPolyphone(),5,10,QChar('0'))); } } @@ -330,7 +335,8 @@ void qmpMainWindow::on_pbPlayPause_clicked() fns=plistw->getFirstItem(); if(!fns.length())return(void)(playing=false); } - ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName()); + ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName().left(QUrl::fromLocalFile(fns).fileName().lastIndexOf('.'))); + onfnChanged(); LOAD_FILE; char ts[100]; sprintf(ts,"%02d:%02d",(int)player->getFtime()/60,(int)player->getFtime()%60); @@ -408,7 +414,7 @@ void qmpMainWindow::on_pbStop_clicked() chnlw->on_pbUnmute_clicked();chnlw->on_pbUnsolo_clicked(); ui->pbPlayPause->setIcon(QIcon(":/img/play.png")); ui->hsTimer->setValue(0); - ui->lbPolyphone->setText("Poly: 0/0"); + ui->lnPolyphone->display("00000-00000"); ui->lbCurTime->setText("00:00"); } } @@ -454,7 +460,8 @@ void qmpMainWindow::on_pbPrev_clicked() if(singleFS)player->playerPanic(true); ui->hsTimer->setValue(0);chnlw->on_pbUnmute_clicked();chnlw->on_pbUnsolo_clicked(); QString fns=plistw->getPrevItem();if(fns.length()==0)return on_pbStop_clicked(); - ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName()); + ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName().left(QUrl::fromLocalFile(fns).fileName().lastIndexOf('.'))); + onfnChanged(); LOAD_FILE; char ts[100]; sprintf(ts,"%02d:%02d",(int)player->getFtime()/60,(int)player->getFtime()%60); @@ -479,7 +486,8 @@ void qmpMainWindow::on_pbNext_clicked() if(singleFS)player->playerPanic(true); ui->hsTimer->setValue(0);chnlw->on_pbUnmute_clicked();chnlw->on_pbUnsolo_clicked(); QString fns=plistw->getNextItem();if(fns.length()==0)return on_pbStop_clicked(); - ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName()); + ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName().left(QUrl::fromLocalFile(fns).fileName().lastIndexOf('.'))); + onfnChanged(); LOAD_FILE; char ts[100]; sprintf(ts,"%02d:%02d",(int)player->getFtime()/60,(int)player->getFtime()%60); @@ -507,7 +515,8 @@ void qmpMainWindow::selectionChanged() ui->hsTimer->setValue(0); chnlw->on_pbUnmute_clicked();chnlw->on_pbUnsolo_clicked(); QString fns=plistw->getSelectedItem(); - ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName()); + ui->lbFileName->setText(QUrl::fromLocalFile(fns).fileName().left(QUrl::fromLocalFile(fns).fileName().lastIndexOf('.'))); + onfnChanged(); LOAD_FILE; char ts[100]; sprintf(ts,"%02d:%02d",(int)player->getFtime()/60,(int)player->getFtime()%60); @@ -546,6 +555,19 @@ void qmpMainWindow::on_lbFileName_customContextMenuRequested(const QPoint &pos) menu.exec(this->pos()+ui->lbFileName->pos()+pos); } +void qmpMainWindow::onfnChanged() +{ + if(!ui->lbFileName->text().length())return; + QFont f=ui->lbFileName->font();f.setPointSize(18); + QFontMetrics fm(f); + QSize size=fm.size(0,ui->lbFileName->text()); + double fw=ui->lbFileName->width()/(double)size.width(); + double fh=ui->lbFileName->height()/(double)size.height(); + double ps=floor(f.pointSizeF()*(fw18?18:ps); + ui->lbFileName->setFont(f); +} + void qmpMainWindow::onfnA1() { infow->show(); diff --git a/qmidiplayer-desktop/qmpmainwindow.hpp b/qmidiplayer-desktop/qmpmainwindow.hpp index 55e0b12..2f3876d 100644 --- a/qmidiplayer-desktop/qmpmainwindow.hpp +++ b/qmidiplayer-desktop/qmpmainwindow.hpp @@ -7,9 +7,11 @@ #include #include #include +#include #include #include #include +#include #include #include #include "../core/qmpmidiplay.hpp" @@ -24,6 +26,24 @@ namespace Ui { class qmpMainWindow; } +class QClickableSlider:public QSlider +{ + Q_OBJECT + public: + explicit QClickableSlider(QWidget *parent=0):QSlider(parent){} + protected: + void mouseReleaseEvent(QMouseEvent *e) + { + QSlider::mouseReleaseEvent(e); + if(e->buttons()^Qt::LeftButton) + { + double p=e->pos().x()/(double)width(); + setValue(p*(maximum()-minimum())+minimum()); + emit sliderReleased(); + } + } +}; + class qmpMainWindow:public QMainWindow { Q_OBJECT @@ -83,6 +103,7 @@ class qmpMainWindow:public QMainWindow qmpHelpWindow *helpw; QAction *fnA1,*fnA2,*fnA3; + void onfnChanged(); void playerSetup(); private: diff --git a/qmidiplayer-desktop/qmpmainwindow.ui b/qmidiplayer-desktop/qmpmainwindow.ui index 0764e09..e61c3d4 100644 --- a/qmidiplayer-desktop/qmpmainwindow.ui +++ b/qmidiplayer-desktop/qmpmainwindow.ui @@ -6,19 +6,19 @@ 0 0 - 435 + 450 245 - 435 + 450 245 - 435 + 450 245 @@ -33,379 +33,521 @@ :/img/qmidiplyr.png:/img/qmidiplyr.png - - - - 30 - 20 - 311 - 41 - - - - - 18 - - - - Qt::CustomContextMenu - - - somefile.mid - - - Qt::AlignCenter - - - - - - 20 - 90 - 321 - 20 - - - - 100 - - - 0 - - - Qt::Horizontal - - - - - - 20 - 110 - 61 - 36 - - - - - - - - :/img/play.png:/img/play.png - - - - 32 - 32 - - - - - - - 80 - 110 - 61 - 36 - - - - - - - - :/img/stop.png:/img/stop.png - - - - 32 - 32 - - - - - - - 140 - 110 - 61 - 36 - - - - - - - - :/img/prev.png:/img/prev.png - - - - 32 - 32 - - - - - - - 200 - 110 - 61 - 36 - - - - - - - - :/img/next.png:/img/next.png - - - - 32 - 32 - - - - - - - 280 - 110 - 61 - 36 - - - - - - - - :/img/settings.png:/img/settings.png - - - - 32 - 32 - - - - true - - - - - - 20 - 160 - 151 - 36 - - - - text-align:left - - - Channels - - - - :/img/channel.png:/img/channel.png - - - - 32 - 32 - - - - true - - - - - - 190 - 160 - 151 - 36 - - - - text-align:left - - - Playlist - - - - :/img/list.png:/img/list.png - - - - 32 - 32 - - - - true - - - false - - - false - - - - - - 20 - 200 - 151 - 36 - - - - text-align:left - - - Effects - - - - :/img/effects.png:/img/effects.png - - - - 32 - 32 - - - - true - - - - - - 190 - 200 - 151 - 36 - - - - text-align:left - - - Visualization - - - - :/img/visualization.png:/img/visualization.png - - - - 32 - 32 - - - - - - - 320 - 20 - 111 - 20 - - - - <html><head/><body><p>Poly: 0/0</p></body></html> - - - Qt::AlignCenter - - - - - - 370 - 50 - 20 - 160 - - - - 100 - - - 50 - - - Qt::Vertical - - - - - - 360 - 210 - 61 - 20 - - - - Master - - - - - - 20 - 70 - 66 - 20 - - - - 00:00 - - - + - 270 - 70 - 66 - 20 + 0 + 0 + 21 + 21 - 00:00 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + ? - + 0 0 - 21 - 21 + 451 + 241 - - ? - + + + 4 + + + + + + + + 0 + 0 + + + + + 18 + + + + Qt::CustomContextMenu + + + somefile.mid + + + Qt::AlignBottom|Qt::AlignHCenter + + + + + + + 0 + + + + + + 0 + 0 + + + + 00:00 + + + + + + + + 0 + 0 + + + + 00:00 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + 0 + 0 + + + + 100 + + + 0 + + + Qt::Horizontal + + + + + + + 0 + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 34 + + + + + + + + :/img/play.png:/img/play.png + + + + 32 + 32 + + + + + + + + + 0 + 34 + + + + + 16777215 + 34 + + + + + + + + :/img/stop.png:/img/stop.png + + + + 32 + 32 + + + + + + + + + 0 + 34 + + + + + 16777215 + 34 + + + + + + + + :/img/prev.png:/img/prev.png + + + + 32 + 32 + + + + + + + + + 0 + 34 + + + + + 16777215 + 34 + + + + + + + + :/img/next.png:/img/next.png + + + + 32 + 32 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 32 + 32 + + + + + + + + + 0 + 0 + + + + + 0 + 34 + + + + + 16777215 + 34 + + + + + + + + :/img/settings.png:/img/settings.png + + + + 32 + 32 + + + + true + + + + + + + + + + + + 16777215 + 36 + + + + text-align:left + + + Channels + + + + :/img/channel.png:/img/channel.png + + + + 32 + 32 + + + + true + + + + + + + + 16777215 + 36 + + + + text-align:left + + + Playlist + + + + :/img/list.png:/img/list.png + + + + 32 + 32 + + + + true + + + false + + + false + + + + + + + + 16777215 + 36 + + + + text-align:left + + + Effects + + + + :/img/effects.png:/img/effects.png + + + + 32 + 32 + + + + true + + + + + + + + 16777215 + 36 + + + + text-align:left + + + Visualization + + + + :/img/visualization.png:/img/visualization.png + + + + 32 + 32 + + + + + + + + + + + + 0 + + + 4 + + + + + + 0 + 0 + + + + <html><head/><body><p>Poly</p></body></html> + + + Qt::AlignBottom|Qt::AlignHCenter + + + + + + + + 0 + 0 + + + + + 84 + 16777215 + + + + QFrame::NoFrame + + + 11 + + + QLCDNumber::Flat + + + + + + + + 0 + 0 + + + + 100 + + + 50 + + + Qt::Vertical + + + + + + + + 0 + 0 + + + + Master + + + Qt::AlignCenter + + + + + + + horizontalLayoutWidget + pushButton + + + QClickableSlider + QSlider +
qmpmainwindow.hpp
+
+
diff --git a/qmidiplayer-desktop/qmpplistwindow.ui b/qmidiplayer-desktop/qmpplistwindow.ui index 99124df..7b4eaa5 100644 --- a/qmidiplayer-desktop/qmpplistwindow.ui +++ b/qmidiplayer-desktop/qmpplistwindow.ui @@ -28,233 +28,281 @@ Playlist - - - - 10 - 280 - 121 - 36 - - - - text-align:left - - - Add - - - - :/img/add.png:/img/add.png - - - - 32 - 32 - - - - - - - 140 - 280 - 121 - 36 - - - - text-align:left - - - Add Folder - - - - :/img/addfolder.png:/img/addfolder.png - - - - 32 - 32 - - - - - - - 270 - 240 - 121 - 36 - - - - text-align:left - - - Repeat Off - - - - :/img/repeat-non.png:/img/repeat-non.png - - - - 32 - 32 - - - - - - - 400 - 240 - 121 - 36 - - - - text-align:left - - - Shuffle Off - - - - :/img/shuffle-off.png:/img/shuffle-off.png - - - - 32 - 32 - - - - - - - 10 - 240 - 121 - 36 - - - - text-align:left - - - Save - - - - :/img/save.png:/img/save.png - - - - 32 - 32 - - - - - - - 140 - 240 - 121 - 36 - - - - text-align:left - - - Load - - - - :/img/load.png:/img/load.png - - - - 32 - 32 - - - - - - - 270 - 280 - 121 - 36 - - - - text-align:left - - - Remove - - - - :/img/remove.png:/img/remove.png - - - - 32 - 32 - - - - - - - 400 - 280 - 121 - 36 - - - - text-align:left - - - Clear - - - - :/img/clear.png:/img/clear.png - - - - 32 - 32 - - - - - - - 10 - 10 - 511 - 221 - - - - false - - - true - - - QAbstractItemView::InternalMove - - + + + + + false + + + true + + + QAbstractItemView::InternalMove + + + + + + + + + + 0 + 0 + + + + + 16777215 + 36 + + + + text-align:left + + + Save + + + + :/img/save.png:/img/save.png + + + + 32 + 32 + + + + + + + + + 0 + 0 + + + + + 16777215 + 36 + + + + text-align:left + + + Add + + + + :/img/add.png:/img/add.png + + + + 32 + 32 + + + + + + + + + 0 + 0 + + + + + 16777215 + 36 + + + + text-align:left + + + Load + + + + :/img/load.png:/img/load.png + + + + 32 + 32 + + + + + + + + + 0 + 0 + + + + + 16777215 + 36 + + + + text-align:left + + + Repeat Off + + + + :/img/repeat-non.png:/img/repeat-non.png + + + + 32 + 32 + + + + + + + + + 0 + 0 + + + + + 16777215 + 36 + + + + text-align:left + + + Remove + + + + :/img/remove.png:/img/remove.png + + + + 32 + 32 + + + + + + + + + 0 + 0 + + + + + 16777215 + 36 + + + + text-align:left + + + Add Folder + + + + :/img/addfolder.png:/img/addfolder.png + + + + 32 + 32 + + + + + + + + + 0 + 0 + + + + + 16777215 + 36 + + + + text-align:left + + + Shuffle Off + + + + :/img/shuffle-off.png:/img/shuffle-off.png + + + + 32 + 32 + + + + + + + + + 0 + 0 + + + + + 16777215 + 36 + + + + text-align:left + + + Clear + + + + :/img/clear.png:/img/clear.png + + + + 32 + 32 + + + + + + +
diff --git a/qmidiplayer-desktop/qmppresetselect.ui b/qmidiplayer-desktop/qmppresetselect.ui index f18600d..c9293d1 100644 --- a/qmidiplayer-desktop/qmppresetselect.ui +++ b/qmidiplayer-desktop/qmppresetselect.ui @@ -28,78 +28,99 @@ true - - - - 10 - 30 - 71 - 221 - - - - - - - 90 - 30 - 301 - 221 - - - - - - - 10 - 10 - 66 - 20 - - - - Bank - - - - - - 90 - 10 - 66 - 20 - - - - Preset - - - - - - 300 - 260 - 97 - 36 - - - - OK - - - - - - 190 - 260 - 97 - 36 - - - - Cancel - - + + + + + + + + + Bank + + + + + + + + 0 + 0 + + + + + 64 + 16777215 + + + + + + + + + + + + Preset + + + + + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + Cancel + + + + + + + + 0 + 0 + + + + OK + + + + + + + horizontalLayoutWidget + horizontalLayoutWidget_2 + verticalLayoutWidget diff --git a/qmidiplayer-desktop/qmpsettingswindow.ui b/qmidiplayer-desktop/qmpsettingswindow.ui index 330afa2..0baa694 100644 --- a/qmidiplayer-desktop/qmpsettingswindow.ui +++ b/qmidiplayer-desktop/qmpsettingswindow.ui @@ -609,6 +609,12 @@ 0 + + + 250 + 16777215 + + Qt::Horizontal @@ -652,6 +658,12 @@ 0 + + + 250 + 16777215 + + Qt::Horizontal @@ -695,6 +707,12 @@ 0 + + + 250 + 16777215 + + Qt::Horizontal diff --git a/qmidiplayer-lite/qmidiplayer-lite.pro b/qmidiplayer-lite/qmidiplayer-lite.pro index 7d901f6..4dc53bc 100644 --- a/qmidiplayer-lite/qmidiplayer-lite.pro +++ b/qmidiplayer-lite/qmidiplayer-lite.pro @@ -29,7 +29,8 @@ LIBS += -lfluidsynth -lrtmidi win32{ #change these before building... LIBS += e:/libs/fluidsynth/fluidsynth.lib winmm.lib - LIBS += e:/libs/rtmidi/rtmidi.lib + Release:LIBS += e:/libs/rtmidi/rtmidi.lib + Debug:LIBS += e:/libs/rtmidi/rtmidid.lib INCLUDEPATH += e:/libs/fluidsynth/include INCLUDEPATH += e:/libs/rtmidi } -- cgit v1.2.3