Commit 748b443b by Haye Hinrichsen

Tuning log debug tool

parent 223eee3a
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,10 +10,10 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
......@@ -75,11 +75,24 @@ simple chords perfectly but it also finds reasonable compromises
for self-contradicting chords such as the diminished Seventh
that cannot be tuned consistently in just intonation.
## Structure of the software
### How to compile
JustIntonation is a multi-platform application based on Qt. It depends on the QMidi library developed by Christoph Wick. It includes the linear algebra package "Eigen" in the thirdparty folder.
### Modularity
The essential part of the software, namely, the tuner, is implemented
as a separate static library, connected to the core of the
application only via Qt signals and slots. This allows you
The application folder contains the following subfolders:
- instrument: Parts of the code which define a musical instrument (Piano, Organ, Harpsichord etc.), holding the sampled data.
- sampler: Parts of the code responsable for real-time sampling and sound generation.
- platforms: Platform-dependent additions (Android etc)
- resources: Wave file, QML files, images and icons
- system: Various system-related parts of the software
- modules: Various parts of the software which could also be compiled separately, having a well-defined meaning even without the reset of the code.
To see all modules follow <a href="modules.html"> this link</a>\endhtmlonly
### Tuner module
The essential module is te 'Tuner'. This moudle is connected to the application exclusively via Qt signals and slots. This allows you
to use the tuner in different projects very easily. It also
makes it easier to understand how it works.
# USAGE: Rename COPYRIGHT to OLDCOPYRIGHT
# python add_copyright.py
# updates the copyright information for all .cs files
# usage: call recursive_traversal, with the following parameters
# parent directory, old copyright text content, new copyright text content
......@@ -5,7 +9,7 @@
import os
# Directories to exclude
excludedir = ["./dependencies", "./thirdparty"]
excludedir = ["./dependencies", "./thirdparty", "./publish"]
# single filed to exclude
excludefile = []
......@@ -43,7 +47,7 @@ def recursive_traversal(dir, oldcopyright, copyright):
update_source(fullfn, oldcopyright, copyright)
oldcright = file("COPYRIGHT","r+").read()
oldcright = file("OLDCOPYRIGHT","r+").read()
cright = file("COPYRIGHT","r+").read()
recursive_traversal(".", oldcright, cright)
exit()
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
//=============================================================================
......@@ -64,6 +64,7 @@ Application::Application(QApplication &app)
, mSoundGenerator()
, mMidiHandler(mSoundGenerator,mAudioOutput)
, mTuner()
, mTuningLog()
, mKeyboard()
, mInstrumentIndex(-1)
, mAvailableMidiDevices()
......@@ -72,6 +73,7 @@ Application::Application(QApplication &app)
, mMidiAutomaticRecognition(true)
, mMidiPlayerWasPlaying(false)
, mSuspended(false)
, mLastEmittedPitchProgression(0)
{
setModuleName("Main");
......@@ -86,6 +88,8 @@ Application::Application(QApplication &app)
// mMidi.setVerbosity(4);
// mMidiMicrotonalConverter.setVerbosity(4);
// mAudioOutput.setVerbosity(4);
// mTuningLog.init("/home/hinrichsen/justint.dat");
}
......@@ -123,6 +127,11 @@ void Application::init (QQmlApplicationEngine &engine)
connect(&mMidiPlayer,&MidiPlayer::signalMidiEvent, &mTuner,&Tuner::receiveMidiEvent);
connect(&mKeyboard,&TouchscreenKeyboard::sendTouchpadMidiEvent, &mTuner,&Tuner::receiveMidiEvent);
// Tuning log
connect(&mMidiPlayer,&MidiPlayer::signalPlayingStatusChanged,&mTuningLog,&TuningLog::operate);
connect(&mMidiPlayer,&MidiPlayer::signalMidiEvent,&mTuningLog,&TuningLog::receiveMidiEvent);
connect(&mTuner,&Tuner::signalTuningCorrections,&mTuningLog,&TuningLog::receiveTuningCorrections);
// Connect microtonal Midi converter
connect(&mMidi,&Midi::receivedMidiMessage, &mMidiMicrotonalConverter,&MidiMicrotonal::receiveMidiEvent);
connect(&mMidiPlayer,&MidiPlayer::signalMidiEvent, &mMidiMicrotonalConverter,&MidiMicrotonal::receiveMidiEvent);
......@@ -189,7 +198,7 @@ void Application::init (QQmlApplicationEngine &engine)
// Temperament selection
connect(pQml,SIGNAL(signalCentsChanged(int,double)),&mTuner,SLOT(setIntervalSize(int,double)));
connect(pQml,SIGNAL(signalWeightsChanged(int,double)),&mTuner,SLOT(setIntervalWeight(int,double)));
connect(&mTuner,SIGNAL(signalRequestParameters()),pQml,SLOT(sendAllCentsAndWeights()));
connect(&mTuner,SIGNAL(signalReadyForReceivingParameters()),pQml,SLOT(sendAllCentsAndWeights()));
// Tuning delay
connect (pQml,SIGNAL(setTuningDelay(double)),&mTuner,SLOT(setDelayParameter(double)));
......@@ -198,15 +207,16 @@ void Application::init (QQmlApplicationEngine &engine)
connect(pQml,SIGNAL(setStaticTuning(bool,int)),&mTuner,SLOT(setStaticTuningMode(bool,int)));
// Drift correction
connect (pQml,SIGNAL(setDriftCorrectionParameter(double)),&mTuner,SLOT(setPitchAdjustmentParameter(double)));
connect (pQml,SIGNAL(resetPitchCorrection()),&mTuner,SLOT(resetPitchCorrection()));
connect (pQml,SIGNAL(setDriftCorrectionParameter(double)),&mTuner,SLOT(setPitchProgressionCompensationParameter(double)));
connect (pQml,SIGNAL(resetPitchProgression()),&mTuner,SLOT(resetPitchProgression()));
// Target frequency
connect (&mMidiHandler,SIGNAL(changeTargetFrequency(QVariant)),pQml,SLOT(changeTargetFrequency(QVariant)));
connect (pQml,SIGNAL(setTargetFrequency(double)),&mTuner,SLOT(setTargetFrequency(double)));
connect (pQml,SIGNAL(setFrequencyOfA4(double)),&mTuner,SLOT(setFrequencyOfA4(double)));
// Circular gauge for pitch deviation
connect (&mTuner,SIGNAL(signalAveragePitch(QVariant)),pQml,SLOT(setAveragePitchDeviation(QVariant)));
// Circular gauge for pitch progression
connect (&mTuner,SIGNAL(signalAveragePitchProgression(double,bool)),this,SLOT(emitAveragePitchProgression(double,bool)));
connect (this,SIGNAL(signalCircularGauge(QVariant)),pQml,SLOT(setAveragePitchDeviation(QVariant)));
// Downloading instruments from the internet
connect(pQml,SIGNAL(startDownload(bool)),this,SLOT(startDownload(bool)));
......@@ -531,6 +541,42 @@ void Application::hearExample()
//-----------------------------------------------------------------------------
// Emit the newly calculated average pitch
//-----------------------------------------------------------------------------
///////////////////////////////////////////////////////////////////////////////
/// \brief Emit the newly calculated average pitch progression
/// \details This function restricted the displayed range of the pitch
/// progression according to the range of the circular gauge and
/// \param pitchProgression
///////////////////////////////////////////////////////////////////////////////
void Application::emitAveragePitchProgression (double pitchProgression, bool instantly)
{
if (instantly and pitchProgression > -50 and pitchProgression < 50)
{
mLastEmittedPitchProgression = pitchProgression;
emit signalCircularGauge (mLastEmittedPitchProgression);
}
else
{
double diffpitch = 1;
if (pitchProgression > mLastEmittedPitchProgression+diffpitch and mLastEmittedPitchProgression < 50)
{
mLastEmittedPitchProgression += diffpitch*0.99;
LOGSTATUS << "Average pitch =" << mLastEmittedPitchProgression;
emit signalCircularGauge (mLastEmittedPitchProgression);
}
else if (pitchProgression < mLastEmittedPitchProgression-diffpitch and mLastEmittedPitchProgression > -50)
{
mLastEmittedPitchProgression -= diffpitch*0.99;
LOGSTATUS << "Average pitch =" << mLastEmittedPitchProgression;
emit signalCircularGauge (mLastEmittedPitchProgression);
}
}
}
//-----------------------------------------------------------------------------
// Update the list of instruments in the Qml Combo box
//-----------------------------------------------------------------------------
///////////////////////////////////////////////////////////////////////////////
......@@ -969,7 +1015,6 @@ void mobileError(QString msg)
// TODO Importer workaround:
#include "instrument/wave.h"
void Wave::automaticCyclicMorphing(){}
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
//=============================================================================
......@@ -41,6 +41,7 @@
#include "midimicrotone/midimicrotonal.h"
#include "audio/audiooutput.h"
#include "tuner/tuner.h"
#include "system/tuninglog.h"
#include "touchscreenkeyboard.h"
#include "system/fileopendialog.h"
......@@ -108,6 +109,7 @@ private slots:
// Various
void hearExample();
void emitAveragePitchProgression (double pitchProgression, bool instantly);
signals:
// System
......@@ -128,6 +130,9 @@ signals:
void setAudioBufferSizes (QVariant buffer, QVariant packet);
void connectAudioDevice (bool active);
// Tuning
void signalCircularGauge (QVariant progression);
private:
void setInstrumentSelector();
QStringList updateShownInstrumentNames();
......@@ -155,6 +160,7 @@ private:
SoundGenerator mSoundGenerator;
MidiHandler mMidiHandler;
Tuner mTuner;
TuningLog mTuningLog;
TouchscreenKeyboard mKeyboard;
int mInstrumentIndex;
QStringList mAvailableMidiDevices;
......@@ -163,6 +169,7 @@ private:
bool mMidiAutomaticRecognition;
bool mMidiPlayerWasPlaying;
bool mSuspended;
double mLastEmittedPitchProgression;
};
#endif // APPLICATION_H
......@@ -24,6 +24,7 @@ HEADERS += \
system/systemtools.h \
system/platformtools.h \
system/fileopendialog.h \
system/tuninglog.h \
instrument/scale.h \
instrument/voice.h \
instrument/wave.h \
......@@ -44,6 +45,7 @@ SOURCES += \
system/systemtools.cpp \
system/platformtools.cpp \
system/fileopendialog.cpp \
system/tuninglog.cpp \
instrument/scale.cpp \
instrument/voice.cpp \
instrument/wave.cpp \
......
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
#include <QtGlobal>
......
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
#include "SystemTools.h"
......
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
#ifndef SYSTEMTOOLS_H
......
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
//=============================================================================
......
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
//=============================================================================
......
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
#include "instrumentfilehandler.h"
......
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
#ifndef INSTRUMENTFILEHANDLER_H
......@@ -22,6 +22,10 @@
#include <QIODevice>
///////////////////////////////////////////////////////////////////////////////
/// \brief Class for reading and writing an entire instrument
///////////////////////////////////////////////////////////////////////////////
class InstrumentFileHandler
{
public:
......
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
//=============================================================================
......
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
//=============================================================================
......
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
//============================================================================
......
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
//============================================================================
......
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
//=============================================================================
......
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
//=============================================================================
......
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
//=============================================================================
......
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
//=============================================================================
......
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
//=============================================================================
......@@ -32,6 +32,10 @@
#include "system/log.h"
///////////////////////////////////////////////////////////////////////////////
/// \brief Class handling Midi input and output
///////////////////////////////////////////////////////////////////////////////
class Midi : public QObject, public Log
{
Q_OBJECT
......
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* JustIntonation. If not, see http://www.gnu.org/licenses/.
* You should have received a copy of the GNU General Public License along
* with JustIntonation. If not, see http://www.gnu.org/licenses/.
*****************************************************************************/
//=============================================================================
......
/*****************************************************************************
* Copyright 2016 Karolin Stange, Christoph Wick, and Haye Hinrichsen
* Copyright 2016-2017 Karolin Stange, Christoph Wick, and Haye Hinrichsen
*
* This file is part of JustIntonation.
*
......@@ -10,11 +10,11 @@
*
* JustIntonation is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License