Code Monkey home page Code Monkey logo

polyphone's People

Contributors

andreacln avatar bartmassey avatar davy7125 avatar dvzrv avatar hfiguiere avatar lexeii avatar mawe42 avatar mirabilos avatar mrbumpy409 avatar nyanpasu64 avatar redtide avatar schnitzeltony avatar trebmuh avatar zicklag avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

polyphone's Issues

Feature request: duplicate presets.

I can create a new preset, and then copy instruments from other presets into it.

I want to be able to duplicate a preset (either by copy/paste or a separate duplicate function) - and then make minor tweaks to one.

No package libqt5-dev

In the trunk/README file, it's mentioned that to build Polyphone on a Debian based system, you need to install 'libqt5-dev'. This is misleading since, there is no package called 'libqt5-dev' in any version of Debian or Ubuntu.

Download and Installation on Mac fails

Hi,

I encounter problems with the Downloads on your website.
They fail before finishing...and even if one out of ten finishes,
I get this error message.
screen shot 2018-10-16 at 11 10 38

Any ideas on this?

Thanks
Stefan

My system:
screen shot 2018-10-16 at 11 12 55

Ctrl+K : retour visuel

Je viens de découvrir qu'en utilisant Ctrl+K, alors le focus est mis sur le clavier virtuel que l'on peut alors piloter avec le clavier alpha-numérique. C'est une super petite fonctionnalité.

Je suggère d'avoir un retour visuel de cette action comme par exemple, un truc du genre:

  • ajouter un cadre autour du clavier virtuel qui apparaîtrait après avoir mis le focus dessus,
  • mettre un peu de luminosité de fond sur le clavier virtuel lorsque le focus est dessus,
  • ...

Je pense que ça aiderai à comprendre que "quelque chose s'est passé lorsque j'ai appuyé sur Ctrl+K".

error: use of undeclared identifier 'unlink'

--- generated_files/sfarkextractor1.o ---
../polyphone-d7459fa/sources/core/input/sfark/sfarkextractor1.cpp:2444:9: error: use of undeclared identifier 'unlink'
        unlink((char *)_sfArkInfo->WorkBuffer2);
        ^

This section is certainly wrong: https://github.com/davy7125/polyphone/blob/master/sources/core/input/sfark/sfarkextractor1.cpp#L33

For the unlink function, unistd.h needs to be included everywhere.
FreeBSD needs to be added defined(__FreeBSD__) || defined(__DragonFly__).
Linux also needs this include: https://linux.die.net/man/2/unlink
Also, system includes should be included with angular brackets:

#include <unistd.h>

You should likely remove this section.

File with uppercases

Polyphone only provides "save as" when using a file with a name such as "file.SF2"

Reset configuration

Provide a small program for Windows to reset the registry, in the case when Polyphone cannot be launched anymore (midi & audio settings)

Build fails on Linux with Qt 5.11

When I try to compile the latest version 1.9 on Manjaro Linux, I get this error:

g++ -c -pipe -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -pthread -Wall -W -D_REENTRANT -fPIC -DUSE_LOCAL_RTMIDI -DUSE_LOCAL_STK -DUSE_LOCAL_QCUSTOMPLOT -DVERSION=1.9 -DFINAL=true -D__LINUX_ALSA__ -D__UNIX_JACK__ -D__LITTLE_ENDIAN__ -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/jack -Ilib/rtmidi -Ilib/stk -Ilib/qcustomplot -Igui_divers -Iconfiguration -Ipages -Iqcustomplot -Iressources -Isf2_core -Itools -Iclavier -Isynthetiseur -Isynthetiseur/elements -Isfark -Ilib/sf3 -I. -Ilib/sfarklib -isystem /usr/include/alsa -isystem /usr/include/qt -isystem /usr/include/qt/QtPrintSupport -isystem /usr/include/qt/QtSvg -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -IRELEASE/.moc -isystem /usr/include/libdrm -IRELEASE/.ui -I/usr/lib/qt/mkspecs/linux-g++ -o RELEASE/.obj/dialog_list.o gui_divers/dialog_list.cpp
g++ -c -pipe -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -pthread -Wall -W -D_REENTRANT -fPIC -DUSE_LOCAL_RTMIDI -DUSE_LOCAL_STK -DUSE_LOCAL_QCUSTOMPLOT -DVERSION=1.9 -DFINAL=true -D__LINUX_ALSA__ -D__UNIX_JACK__ -D__LITTLE_ENDIAN__ -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/jack -Ilib/rtmidi -Ilib/stk -Ilib/qcustomplot -Igui_divers -Iconfiguration -Ipages -Iqcustomplot -Iressources -Isf2_core -Itools -Iclavier -Isynthetiseur -Isynthetiseur/elements -Isfark -Ilib/sf3 -I. -Ilib/sfarklib -isystem /usr/include/alsa -isystem /usr/include/qt -isystem /usr/include/qt/QtPrintSupport -isystem /usr/include/qt/QtSvg -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -IRELEASE/.moc -isystem /usr/include/libdrm -IRELEASE/.ui -I/usr/lib/qt/mkspecs/linux-g++ -o RELEASE/.obj/dialog_rename.o gui_divers/dialog_rename.cpp
configuration/config.cpp: In member function 'void Config::fillActions()':
configuration/config.cpp:363:55: error: invalid use of incomplete type 'class QAction'
             ui->listActions->addItem(_actionList.at(i)->text().replace("&", ""));
                                                       ^~
In file included from /usr/include/qt/QtWidgets/qdialog.h:44,
                 from /usr/include/qt/QtWidgets/qcolordialog.h:45,
                 from /usr/include/qt/QtWidgets/QColorDialog:1,
                 from configuration/config.cpp:27:
/usr/include/qt/QtWidgets/qwidget.h:68:7: note: forward declaration of 'class QAction'
 class QAction;
       ^~~~~~~
configuration/config.cpp:365:44: error: invalid use of incomplete type 'class QAction'
             item->setIcon(_actionList.at(i)->icon());
                                            ^~
In file included from /usr/include/qt/QtWidgets/qdialog.h:44,
                 from /usr/include/qt/QtWidgets/qcolordialog.h:45,
                 from /usr/include/qt/QtWidgets/QColorDialog:1,
                 from configuration/config.cpp:27:
/usr/include/qt/QtWidgets/qwidget.h:68:7: note: forward declaration of 'class QAction'
 class QAction;
       ^~~~~~~
configuration/config.cpp:393:61: error: invalid use of incomplete type 'class QAction'
                 ui->listToolbar->addItem(_actionList.at(num)->text().replace("&", ""));
                                                             ^~
In file included from /usr/include/qt/QtWidgets/qdialog.h:44,
                 from /usr/include/qt/QtWidgets/qcolordialog.h:45,
                 from /usr/include/qt/QtWidgets/QColorDialog:1,
                 from configuration/config.cpp:27:
/usr/include/qt/QtWidgets/qwidget.h:68:7: note: forward declaration of 'class QAction'
 class QAction;
       ^~~~~~~
configuration/config.cpp:395:50: error: invalid use of incomplete type 'class QAction'
                 item->setIcon(_actionList.at(num)->icon());
                                                  ^~
In file included from /usr/include/qt/QtWidgets/qdialog.h:44,
                 from /usr/include/qt/QtWidgets/qcolordialog.h:45,
                 from /usr/include/qt/QtWidgets/QColorDialog:1,
                 from configuration/config.cpp:27:
/usr/include/qt/QtWidgets/qwidget.h:68:7: note: forward declaration of 'class QAction'
 class QAction;
       ^~~~~~~
make: *** [Makefile:3142: RELEASE/.obj/config.o] Error 1
make: *** Waiting for unfinished jobs....

Arch/Manjaro Linux recently updated their Qt version to the latest 5.11. Maybe this has something to do with this? Seems like a missing include somewhere.

The build commands I use are these (see also the polyphone AUR package):

sed -i \
    -e 's/^#DEFINES += USE_LOCAL/DEFINES += USE_LOCAL/g' \
    -e 's/__LINUX_ALSASEQ__/__LINUX_ALSA__ __UNIX_JACK__/g' \
    polyphone.pro

qmake-qt5
make

scanned index not in SF2 spec

index2 = readWord();

The soundfont2 and SoundFont3 spec does not contain this extra word in the Phdr block:

/*
7.2 The PHDR Sub-chunk
The PHDR sub-chunk is a required sub-chunk listing all presets within the SoundFont compatible file. It is always a
multiple of thirty-eight bytes in length, and contains a minimum of two records, one record for each preset and one for a
terminal record according to the structure:
*/
struct sfPresetHeader
{
 CHAR achPresetName[20];
 WORD wPreset;
 WORD wBank;
 WORD wPresetBagNdx;
 DWORD dwLibrary;
 DWORD dwGenre;
 DWORD dwMorphology;
}; 

What source are you using that says there is a second word value after the wPresetBagNdx indicating the end of the preset bag list for the preset?

Current GUI Difficulties

Polyphone 2.0
New GUI for Polyphone is difficult to use and confusing. Elements break when it is inside a small window. Public Repository screen wastes network data.
Polyphone 1.9
GUI was professional. This version can no longer be built because of librtmidi3 -> librtmidi4.

Creation of instruments / presets based on samples / instruments

This operation could speed up the creation of instruments / presets:

  • select multiple samples,
  • drag them over the "instruments" node
  • a dialog will pop to display those options:
    • create an instrument containing all selected samples
    • create an instrument per sample
    • cancel the operation.
      The same can be done with instruments when dropping them on the node "presets".

Redesign the modulator area

Directly edit in the table (having a suitable layout) instead of selecting a row and then edit in the right part.
Take care that once a row is selected, the image of the curve is still readable.

Linux compilation error for version 2.0.1 in `graphique.cpp`

When trying to update the polyphone AUR package to the latest version 2.0.1, I get the following error on compilation.

I installed QCustomPlot 2.0.1, unpacked the source distribution from here and compiled with:

cd sources
qmake-qt5
make
g++ -c -pipe -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -pthread -pthread -Wall -W -D_REENTRANT -fPIC -DSOFT_VERSION=\"2.0.1\" -DIDENTIFIER=\"\" -D__LINUX_ALSASEQ__ -DSFTOOLS_NOXML -D__LITTLE_ENDIAN__ -D_FORTIFY_SOURCE=2 -D__UNIX_JACK__ -D__LINUX_ALSA__ -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -isystem /usr/include/jack -isystem /usr/include/stk -isystem /usr/include/qcustomplot -Imainwindow -Idialogs -Icontext -Icontext/interface -Ieditor -Ieditor/graphics -Ieditor/overview -Ieditor/tools -Ieditor/widgets -Ieditor/tree -Iqcustomplot -Iresources -Icore -Icore/input -Icore/output -Icore/model -Icore/types -Iclavier -Isound_engine -Isound_engine/elements -Ilib/sf3 -Irepository -Irepository/browser -Irepository/daily -Irepository/widgets -Irepository/user -Irepository/soundfont -I. -Ilib/sfarklib -isystem /usr/include/alsa -isystem /usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -isystem /usr/include/rtmidi -isystem /usr/include/qt -isystem /usr/include/qt/QtPrintSupport -isystem /usr/include/qt/QtSvg -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtNetwork -isystem /usr/include/qt/QtCore -Igenerated_files -isystem /usr/include/libdrm -Igenerated_files -I/usr/lib/qt/mkspecs/linux-g++ -o generated_files/pageoverviewprst.o editor/overview/pageoverviewprst.cpp
editor/graphics/graphique.cpp: In constructor 'Graphique::Graphique(QWidget*)':
editor/graphics/graphique.cpp:86:5: error: 'addItem' was not declared in this scope
     addItem(_textMultipleSelection);
     ^~~~~~~
editor/graphics/graphique.cpp:86:5: note: suggested alternative: 'hasItem'
     addItem(_textMultipleSelection);
     ^~~~~~~
     hasItem
editor/graphics/graphique.cpp: In member function 'void Graphique::clearAll()':
editor/graphics/graphique.cpp:197:21: error: 'class QCPGraph' has no member named 'clearData'; did you mean 'userData'?
     this->graph(0)->clearData();
                     ^~~~~~~~~
                     userData
editor/graphics/graphique.cpp:198:21: error: 'class QCPGraph' has no member named 'clearData'; did you mean 'userData'?
     this->graph(1)->clearData();
                     ^~~~~~~~~
                     userData
editor/graphics/graphique.cpp:199:21: error: 'class QCPGraph' has no member named 'clearData'; did you mean 'userData'?
     this->graph(2)->clearData();
                     ^~~~~~~~~
                     userData
editor/graphics/graphique.cpp:200:21: error: 'class QCPGraph' has no member named 'clearData'; did you mean 'userData'?
     this->graph(3)->clearData();
                     ^~~~~~~~~
                     userData
editor/graphics/graphique.cpp:201:21: error: 'class QCPGraph' has no member named 'clearData'; did you mean 'userData'?
     this->graph(4)->clearData();
                     ^~~~~~~~~
                     userData
editor/graphics/graphique.cpp:202:21: error: 'class QCPGraph' has no member named 'clearData'; did you mean 'userData'?
     this->graph(5)->clearData();
                     ^~~~~~~~~
                     userData
editor/graphics/graphique.cpp: In member function 'void Graphique::zoomDrag()':
editor/graphics/graphique.cpp:331:31: error: 'rpQueued' is not a member of 'QCustomPlot'
     this->replot(QCustomPlot::rpQueued);
                               ^~~~~~~~
editor/graphics/graphique.cpp: In member function 'void Graphique::setZoomLine(double, double, double, double)':
editor/graphics/graphique.cpp:419:25: error: 'class QCPGraph' has no member named 'clearData'; did you mean 'userData'?
         this->graph(3)->clearData();
                         ^~~~~~~~~
                         userData
editor/graphics/graphique.cpp: In member function 'void Graphique::plotOverlay()':
editor/graphics/graphique.cpp:435:67: error: 'class QCPDataContainer<QCPGraphData>' has no member named 'value'
             y1[i]                       = this->graph(0)->data()->value(posFin - sizeOverlay + i).value;
                                                                   ^~~~~
editor/graphics/graphique.cpp:436:67: error: 'class QCPDataContainer<QCPGraphData>' has no member named 'value'
             y1[2 * sizeOverlay - i - 1] = this->graph(0)->data()->value(posFin + sizeOverlay - i).value;
                                                                   ^~~~~
editor/graphics/graphique.cpp:440:67: error: 'class QCPDataContainer<QCPGraphData>' has no member named 'value'
             y2[i]                       = this->graph(0)->data()->value(posDebut - sizeOverlay + i).value;
                                                                   ^~~~~
editor/graphics/graphique.cpp:441:67: error: 'class QCPDataContainer<QCPGraphData>' has no member named 'value'
             y2[2 * sizeOverlay - i - 1] = this->graph(0)->data()->value(posDebut + sizeOverlay - i).value;
                                                                   ^~~~~
editor/graphics/graphique.cpp:448:25: error: 'class QCPGraph' has no member named 'clearData'; did you mean 'userData'?
         this->graph(4)->clearData();
                         ^~~~~~~~~
                         userData
editor/graphics/graphique.cpp:449:25: error: 'class QCPGraph' has no member named 'clearData'; did you mean 'userData'?
         this->graph(5)->clearData();
                         ^~~~~~~~~
                         userData
make: *** [Makefile:4991: generated_files/graphique.o] Error 1
make: *** Waiting for unfinished jobs....
editor/graphics/graphiquefourier.cpp: In constructor 'GraphiqueFourier::GraphiqueFourier(QWidget*)':
editor/graphics/graphiquefourier.cpp:52:18: error: 'class QCPAxis' has no member named 'setAutoSubTicks'; did you mean 'setSubTicks'?
     this->xAxis->setAutoSubTicks(false);
                  ^~~~~~~~~~~~~~~
                  setSubTicks
editor/graphics/graphiquefourier.cpp:53:18: error: 'class QCPAxis' has no member named 'setAutoTickStep'; did you mean 'setSubTickPen'?
     this->xAxis->setAutoTickStep(false);
                  ^~~~~~~~~~~~~~~
                  setSubTickPen
editor/graphics/graphiquefourier.cpp:54:18: error: 'class QCPAxis' has no member named 'setTickStep'; did you mean 'setTicker'?
     this->xAxis->setTickStep(2000);
                  ^~~~~~~~~~~
                  setTicker
editor/graphics/graphiquefourier.cpp:55:18: error: 'class QCPAxis' has no member named 'setSubTickCount'; did you mean 'setSubTickPen'?
     this->xAxis->setSubTickCount(3);
                  ^~~~~~~~~~~~~~~
                  setSubTickPen
editor/graphics/graphiquefourier.cpp:67:18: error: 'class QCPAxis' has no member named 'setAutoSubTicks'; did you mean 'setSubTicks'?
     this->yAxis->setAutoSubTicks(false);
                  ^~~~~~~~~~~~~~~
                  setSubTicks
editor/graphics/graphiquefourier.cpp:68:18: error: 'class QCPAxis' has no member named 'setAutoTickStep'; did you mean 'setSubTickPen'?
     this->yAxis->setAutoTickStep(false);
                  ^~~~~~~~~~~~~~~
                  setSubTickPen
editor/graphics/graphiquefourier.cpp:69:18: error: 'class QCPAxis' has no member named 'setTickStep'; did you mean 'setTicker'?
     this->yAxis->setTickStep(0.2);
                  ^~~~~~~~~~~
                  setTicker
editor/graphics/graphiquefourier.cpp:70:18: error: 'class QCPAxis' has no member named 'setSubTickCount'; did you mean 'setSubTickPen'?
     this->yAxis->setSubTickCount(1);
                  ^~~~~~~~~~~~~~~
                  setSubTickPen
editor/graphics/graphiquefourier.cpp:90:11: error: 'class GraphiqueFourier' has no member named 'addItem'; did you mean 'hasItem'?
     this->addItem(text1);
           ^~~~~~~
           hasItem
editor/graphics/graphiquefourier.cpp:98:11: error: 'class GraphiqueFourier' has no member named 'addItem'; did you mean 'hasItem'?
     this->addItem(text2);
           ^~~~~~~
           hasItem
editor/graphics/graphiquefourier.cpp:105:11: error: 'class GraphiqueFourier' has no member named 'addItem'; did you mean 'hasItem'?
     this->addItem(text3);
           ^~~~~~~
           hasItem
editor/graphics/graphiquefourier.cpp:112:11: error: 'class GraphiqueFourier' has no member named 'addItem'; did you mean 'hasItem'?
     this->addItem(text4);
           ^~~~~~~
           hasItem
editor/graphics/graphiquefourier.cpp:119:11: error: 'class GraphiqueFourier' has no member named 'addItem'; did you mean 'hasItem'?
     this->addItem(text5);
           ^~~~~~~
           hasItem
editor/graphics/graphiquefourier.cpp: In member function 'void GraphiqueFourier::setPos(qint32, qint32, QList<double>&, QList<double>&, QList<int>&, QList<int>&, bool)':
editor/graphics/graphiquefourier.cpp:164:19: error: 'class QCPGraph' has no member named 'clearData'; did you mean 'userData'?
         graph(0)->clearData();
                   ^~~~~~~~~
                   userData
editor/graphics/graphiquefourier.cpp:195:19: error: 'class QCPGraph' has no member named 'clearData'; did you mean 'userData'?
         graph(0)->clearData();
                   ^~~~~~~~~
                   userData
editor/graphics/graphiquefourier.cpp: In member function 'void GraphiqueFourier::dispFourier(QVector<float>, float)':
editor/graphics/graphiquefourier.cpp:355:21: error: 'class QCPGraph' has no member named 'clearData'; did you mean 'userData'?
     this->graph(0)->clearData();
                     ^~~~~~~~~
                     userData
editor/graphics/graphiquefourier.cpp: In member function 'void GraphiqueFourier::exportPng(QString)':
editor/graphics/graphiquefourier.cpp:412:5: error: 'QCPPlotTitle' was not declared in this scope
     QCPPlotTitle * title = new QCPPlotTitle(this, _name);
     ^~~~~~~~~~~~
editor/graphics/graphiquefourier.cpp:412:5: note: suggested alternative: 'hasPlottable'
     QCPPlotTitle * title = new QCPPlotTitle(this, _name);
     ^~~~~~~~~~~~
     hasPlottable
editor/graphics/graphiquefourier.cpp:412:20: error: 'title' was not declared in this scope
     QCPPlotTitle * title = new QCPPlotTitle(this, _name);
                    ^~~~~
editor/graphics/graphiquefourier.cpp:412:20: note: suggested alternative: 'time'
     QCPPlotTitle * title = new QCPPlotTitle(this, _name);
                    ^~~~~
                    time
editor/graphics/graphiquefourier.cpp:412:32: error: expected type-specifier before 'QCPPlotTitle'
     QCPPlotTitle * title = new QCPPlotTitle(this, _name);
                                ^~~~~~~~~~~~
make: *** [Makefile:5008: generated_files/graphiquefourier.o] Error 1
editor/graphics/graphicsviewenvelop.cpp: In constructor 'GraphicsViewEnvelop::GraphicsViewEnvelop(QWidget*)':
editor/graphics/graphicsviewenvelop.cpp:58:18: error: 'class QCPAxis' has no member named 'setAutoTickStep'; did you mean 'setSubTickPen'?
     this->xAxis->setAutoTickStep(false);
                  ^~~~~~~~~~~~~~~
                  setSubTickPen
editor/graphics/graphicsviewenvelop.cpp:76:11: error: 'class GraphicsViewEnvelop' has no member named 'addItem'; did you mean 'hasItem'?
     this->addItem(_textPositionL);
           ^~~~~~~
           hasItem
editor/graphics/graphicsviewenvelop.cpp:85:11: error: 'class GraphicsViewEnvelop' has no member named 'addItem'; did you mean 'hasItem'?
     this->addItem(_textPositionR);
           ^~~~~~~
           hasItem
editor/graphics/graphicsviewenvelop.cpp: In member function 'void GraphicsViewEnvelop::zoomDrag()':
editor/graphics/graphicsviewenvelop.cpp:190:31: error: 'rpQueued' is not a member of 'QCustomPlot'
     this->replot(QCustomPlot::rpQueued);
                               ^~~~~~~~
editor/graphics/graphicsviewenvelop.cpp: In member function 'void GraphicsViewEnvelop::clearEnvelops()':
editor/graphics/graphicsviewenvelop.cpp:259:21: error: 'class QCPGraph' has no member named 'clearData'; did you mean 'userData'?
     this->graph(0)->clearData();
                     ^~~~~~~~~
                     userData
editor/graphics/graphicsviewenvelop.cpp:260:21: error: 'class QCPGraph' has no member named 'clearData'; did you mean 'userData'?
     this->graph(1)->clearData();
                     ^~~~~~~~~
                     userData
editor/graphics/graphicsviewenvelop.cpp: In member function 'virtual void GraphicsViewEnvelop::paintEvent(QPaintEvent*)':
editor/graphics/graphicsviewenvelop.cpp:454:18: error: 'class QCPAxis' has no member named 'setTickStep'; did you mean 'setTicker'?
     this->xAxis->setTickStep(getTickStep());
                  ^~~~~~~~~~~
                  setTicker
editor/graphics/graphicsviewenvelop.cpp: In member function 'void GraphicsViewEnvelop::setZoomLine(double, double, double, double)':
editor/graphics/graphicsviewenvelop.cpp:598:25: error: 'class QCPGraph' has no member named 'clearData'; did you mean 'userData'?
         this->graph(0)->clearData();
                         ^~~~~~~~~
                         userData
make: *** [Makefile:5104: generated_files/graphicsviewenvelop.o] Error 1

FTBS: latest r.a9b1df1 -- qScrollX was not declared in this scope

On Linux Mint 18.2 (based on Ubuntu 16.04) with

gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609

libqt4-dev 4:4.8.7+dfsg-5ubuntu2

QT_SELECT=4
export QT_SELECT

qmake

make
...

  g++ -c -pipe -O2 -pthread -Wall -W -D_REENTRANT -DUSE_LOCAL_QCUSTOMPLOT -DVERSION=1.9 -DFINAL=false -D__LINUX_ALSASEQ__ -D__LITTLE_ENDIAN__ -D__UNIX_JACK__ -D__LINUX_ALSA__ -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I../trunk -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtSvg -I/usr/include/qt4 -I/usr/include/jack -I/usr/include/stk -I../trunk/lib/qcustomplot -I../trunk/gui_divers -I../trunk/configuration -I../trunk/pages -Iqcustomplot -I../trunk/ressources -I../trunk/sf2_core -I../trunk/tools -I../trunk/clavier -I../trunk/synthetiseur -I../trunk/synthetiseur/elements -I../trunk/sfark -I../trunk/lib/sf3 -I../trunk -I../trunk/lib/sfarklib -I/usr/include/alsa -IRELEASE/.moc -IRELEASE/.ui -I. -o RELEASE/.obj/graphique.o ../trunk/pages/graphique.cpp
 . ./trunk/pages/graphique.cpp: In member function 'virtual void Graphique::wheelEvent(QWheelEvent*)':
           . ./trunk/pages/graphique.cpp:569:9: 
           error: 'qScrollX' was not declared in this scope
           qScrollX->setValue(qScrollX->value() - 0.05 * event->delta());
           ^
   Makefile:1150: recipe for target 'RELEASE/.obj/graphique.o' failed
   make: *** [RELEASE/.obj/graphique.o] Error 1

bloat and pre-compiled libraries

Please remove the 3rd party, deployment, lib_windows and lib_mac directory.
The compressed files in there are useless and bloat the download for the source extremely: Extracted, the download is 150Mb, of which 11Mb is the actual source code - that's 92.6% useless data!
The pre-compiled libraries in there on the other hand I would even consider being pretty irresponsible. You can't just YOLO ship openssl in some random version for other people!

Users, who want to build this project either need to build the libs from source or get them from the respective sources. If you have to include sources of a library in a specific version, use git submodules or git tree.
Generally, it really is enough to state the direct (build and runtime) dependencies for this project and let people figure out the rest.

Git is really really really really not good for storing (random) binary data and I honestly can't comprehend, why all this stuff is in this repository (especially after opening a ticket about exactly the same problem before: #16).
You have polluted your repository with binary data in such a way, that it is now over 700Mb(!) in size after initial clone.

Range selection with the keyboard

During the editing of a table, the user could use the keyboard so that the selection goes to the corresponding key range / velocity range. The key "ctrl" can be held in the same time to avoid the display from "jumping" too fast when the user wants to play a melody.

Yellow - Blue - Red in the tree

Yellow samples, blue instruments and red presets was efficient to distinguish everything.
Restore the colors would be fine.
2 sets of colors needed, for light and dark themes.

Select a division with ctrl+keyboard

When holding the key "ctrl", triggering a note will lead us to the current division being played in the table.
Note: the "maj" key is already used to play 2 octaves higher with the keyboard.

This repository is mis-labeled: 'git describe --tags' doesn't return a tag for the last revision

Cloning into 'polyphone'...
remote: Enumerating objects: 87, done.
remote: Counting objects: 100% (87/87), done.
remote: Compressing objects: 100% (60/60), done.
remote: Total 15404 (delta 46), reused 42 (delta 27), pack-reused 15317
Receiving objects: 100% (15404/15404), 20.99 MiB | 7.94 MiB/s, done.
Resolving deltas: 100% (11163/11163), done.
fatal: No tags can describe 'd7459fa04ae4fc47335e4809547999338090fd7e'.
Try --always, or create some tags.

Usually, it returns something like this 2.0.1-{N}-g{hash}.

Cut function at the sample level

The user could be able to select an area and remove that part from the sample

  • click "alt" while pointing over the graph, the mouse cursor becomes Qt::UpArrowCursor
  • define a selection in the graph with the left button of the mouse, the selection being highlighted (red lines hatching the selection)
  • a popup asks for a confirmation
  • the selected area (from mouse press to mouse release) in the sample is deleted

Note: if the "alt" button is released before the mouse release, the process continues.

polyphone v1.8 built from source -- coredumps with realloc(): invalid pointer: 0x0831b1dc

On Linux Mint 18.2 (based on Ubuntu 16.04) with

gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609

libqt4-dev 4:4.8.7+dfsg-5ubuntu2

QT_SELECT=4
export QT_SELECT

with polyphone v1.8 built from source immediately crashes on execution.

/usr/local/bin/polyphone
*** Error in `/usr/local/bin/polyphone': realloc(): invalid pointer: 0x0831b1dc ***

backtrace-polyphone.txt

What I do not understant is why polyphone is showing links to Qt5 libraries when built with Qt4, unless these libraries are supposed to be backwards compatible with Qt4.

ldd /usr/local/bin/polyphone  | grep Qt | sort
      libQt5Core.so.5 => /usr/lib/i386-linux-gnu/libQt5Core.so.5 (0xb5047000)
      libQt5Gui.so.5 => /usr/lib/i386-linux-gnu/libQt5Gui.so.5 (0xb550b000)
      libQt5PrintSupport.so.5 => /usr/lib/i386-linux-gnu/libQt5PrintSupport.so.5 (0xb61d3000)
      libQt5Widgets.so.5 => /usr/lib/i386-linux-gnu/libQt5Widgets.so.5 (0xb5a93000)
      libQtCore.so.4 => /usr/lib/i386-linux-gnu/libQtCore.so.4 (0xb6621000)
      libQtGui.so.4 => /usr/lib/i386-linux-gnu/libQtGui.so.4 (0xb6927000)
      libQtSvg.so.4 => /usr/lib/i386-linux-gnu/libQtSvg.so.4 (0xb743e000)

Is it time for polyphone to move to qt5?

there is no install target?

I'm currently trying to package this software for Arch Linux' [community] repository.
However, there is no install target when doing:

qmake
make
make install

Ability to choose arbitrary sampling rate, without resampling

Soundfonts ripped by vgmtrans often have the wrong sampling rate. I want to be able to change the sampling rate to fix the length and pitch, without resampling the sample data.

Additionally it would be convenient to have arbitrary sampling rates (though I haven't needed anythong not on the list yet) .

Polyphone 1.9 Compiled on Ubuntu 16.04 Crashes with Stack Trace

Hi, I am trying to get Polyphone running on my Ubuntu 16.04 machine and while I am able to successfully compile it and create the Polyphone binary, running the program yields a stack trace:

*** Error in `polyphone': realloc(): invalid pointer: 0x000000000091e400 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7efbfbd927e5]
/lib/x86_64-linux-gnu/libc.so.6(realloc+0x348)[0x7efbfbd9fa08]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN9QListData7reallocEi+0x1f)[0x7efbfa9439cf]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN9QListData6appendEi+0x81)[0x7efbfa943aa1]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0x1d6d78)[0x7efbfaa0fd78]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(_Z21qRegisterResourceDataiPKhS0_S0_+0x2e6)[0x7efbfaa0bb16]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0x7bcc3)[0x7efbfa8b4cc3]
/lib64/ld-linux-x86-64.so.2(+0x106ba)[0x7efbff4e96ba]
/lib64/ld-linux-x86-64.so.2(+0x107cb)[0x7efbff4e97cb]
/lib64/ld-linux-x86-64.so.2(+0xc6a)[0x7efbff4d9c6a]
...I Truncated the Memory Map...

Is there anything that I might be able to try to fix this or any other information that would be useful to help identify the problem?

UPDATE: I have the same issue when compiling Polyphone 1.8 and the master version.

release through tags

Why are there binary files in this source code repository instead of just using git's tag system and releasing a source tarball through that?
With every release this repository will grow by ~4MB in size. There is no benefit.

Virtual keyboard reads improper touchpad touches

Hello! I'm using Polyphone 1.9 on macOS High Sierra on a MacBook Air. I have "tap to click" disabled system-wide via System Preferences but the virtual keyboard reads touching the touchpad even just to move the mouse cursor as clicking a key with a velocity of 1. This also results in some keys getting stuck as blue, presumably holding those keys down with velocities of 1. There seems to be no reliable, consistent way to unstick these keys other than moving the cursor wildly around the keyboard.

I also hope this issue doesn't affect Windows or Linux systems that use touchpads or similar HIDs (maybe the Lenovo trackpoint nib or even a drawing tablet?), but I wouldn't be surprised if it does.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.