From 9e5ed88d25e27e6b52ad658946b1fa249f292d15 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 20 Jan 2014 18:03:57 -0500 Subject: [PATCH 01/18] add CMakeLists.txt.user to .gitignore This file is generated if you edit lmms with Qt Creator. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d8669fa1d..113a4c133 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /build .*.sw? *~ +/CMakeLists.txt.user From 15e85494bd9adb047a69daa1659c54067288e06d Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 20 Jan 2014 18:04:50 -0500 Subject: [PATCH 02/18] UI: smoother knobs This updates knobs to feel smoother and allow the user to have finer control over the value of the knob by multiplying the mouse drag delta by a smoothness factor. Also since it is significantly easier to point the knob where you want it, I removed the magnet effect. This can easily be put back in; try it out and see what you think. --- include/knob.h | 5 ++--- src/gui/widgets/knob.cpp | 45 +++++++++------------------------------- 2 files changed, 12 insertions(+), 38 deletions(-) diff --git a/include/knob.h b/include/knob.h index a224d097d..e50431210 100644 --- a/include/knob.h +++ b/include/knob.h @@ -148,12 +148,11 @@ private: QPixmap * m_knobPixmap; BoolModel m_volumeKnob; - float m_mouseOffset; + QPoint m_mouseOffset; QPoint m_origMousePos; + float m_origValue; bool m_buttonPressed; - int m_magneticDecay; - float m_totalAngle; int m_angle; QImage m_cache; diff --git a/src/gui/widgets/knob.cpp b/src/gui/widgets/knob.cpp index efb4b6e0b..83d341d86 100644 --- a/src/gui/widgets/knob.cpp +++ b/src/gui/widgets/knob.cpp @@ -61,9 +61,7 @@ knob::knob( int _knob_num, QWidget * _parent, const QString & _name ) : m_label( "" ), m_knobPixmap( NULL ), m_volumeKnob( false ), - m_mouseOffset( 0.0f ), m_buttonPressed( false ), - m_magneticDecay( 0 ), m_angle( -10 ), m_outerColor( NULL ) { @@ -364,16 +362,15 @@ void knob::drawKnob( QPainter * _p ) _p->drawImage( 0, 0, m_cache ); } - - - float knob::getValue( const QPoint & _p ) { + const float SMOOTH_FACTOR = 0.125f; + int yDist = (_p.y() - m_origMousePos.y()) * SMOOTH_FACTOR; if( engine::mainWindow()->isShiftPressed() ) { - return( ( _p.y() - m_origMousePos.y() ) * model()->step() ); + return m_origValue - (yDist * model()->step()); } - return( ( _p.y() - m_origMousePos.y() ) * pageSize() ); + return m_origValue - (yDist * pageSize()); } @@ -442,6 +439,8 @@ void knob::mousePressEvent( QMouseEvent * _me ) const QPoint & p = _me->pos(); m_origMousePos = p; + m_mouseOffset = QPoint(0, 0); + m_origValue = model()->value(); emit sliderPressed(); @@ -470,9 +469,10 @@ void knob::mousePressEvent( QMouseEvent * _me ) void knob::mouseMoveEvent( QMouseEvent * _me ) { - if( m_buttonPressed == true && _me->pos() != m_origMousePos ) + if( m_buttonPressed && _me->pos() != m_origMousePos ) { - setPosition( _me->pos() ); + m_mouseOffset += _me->pos() - m_origMousePos; + setPosition( m_mouseOffset ); emit sliderMoved( model()->value() ); QCursor::setPos( mapToGlobal( m_origMousePos ) ); } @@ -489,7 +489,6 @@ void knob::mouseReleaseEvent( QMouseEvent * /* _me*/ ) m_buttonPressed = false; - m_mouseOffset = 0; emit sliderReleased(); QApplication::restoreOverrideCursor(); @@ -559,31 +558,7 @@ void knob::wheelEvent( QWheelEvent * _we ) void knob::setPosition( const QPoint & _p ) { - const float current = model()->value(); - const float next = current - getValue( _p ); - - if( model()->initValue() == current ) - { - if( ++m_magneticDecay > 20 ) - { - m_magneticDecay = 0; - model()->setValue( next ); - } - - return; - } - - const bool current_sign = model()->initValue() - current < 0; - const bool next_sign = model()->initValue() - next < 0; - - if( current_sign != next_sign ) - { - model()->setValue( model()->initValue() ); - } - else - { - model()->setValue( next ); - } + model()->setValue( getValue(_p) ); } From 17ba5caeeff3145a52a72d718ff11053cfd97524 Mon Sep 17 00:00:00 2001 From: Lukas W Date: Tue, 21 Jan 2014 20:21:20 +0100 Subject: [PATCH 03/18] Update .travis.yml: Install g++-multilib for VST --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 2d3660912..92aa8a9d8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: cpp compiler: gcc before_install: sudo apt-get update -install: (sudo apt-get install libqt4-dev libsndfile-dev fftw3-dev libvorbis-dev libogg-dev libasound2-dev libjack-dev libsdl-dev libsamplerate0-dev libstk0-dev libfluidsynth-dev portaudio19-dev) && (sudo apt-get install wine-dev libc6-dev-amd64 || true) +install: sudo apt-get install libqt4-dev libsndfile-dev fftw3-dev libvorbis-dev libogg-dev libasound2-dev libjack-dev libsdl-dev libsamplerate0-dev libstk0-dev libfluidsynth-dev portaudio19-dev wine-dev g++-multilib before_script: mkdir build && cd build script: cmake .. && make -j8 From d9203b2cbca89d56db1387c4108e30c79b978b7c Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Tue, 21 Jan 2014 23:05:40 +0100 Subject: [PATCH 04/18] PianoRoll: increase start key by one octave When opening the Piano Roll for the first time and clicking on "A", you would expect the same note that is previewed in the preview pane (A5), but it is instead one octave lower (A4). Fixed this by adusting INITIAL_START_KEY. Closes #94. --- src/gui/piano_roll.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/piano_roll.cpp b/src/gui/piano_roll.cpp index be14b6da6..61aa43551 100644 --- a/src/gui/piano_roll.cpp +++ b/src/gui/piano_roll.cpp @@ -106,7 +106,7 @@ const int RESIZE_AREA_WIDTH = 4; const int NE_LINE_WIDTH = 3; // key where to start -const int INITIAL_START_KEY = Key_C + Octave_3 * KeysPerOctave; +const int INITIAL_START_KEY = Key_C + Octave_4 * KeysPerOctave; // number of each note to provide in quantization and note lengths const int NUM_EVEN_LENGTHS = 6; From b1a47db7d8cdafe44aa67f5d4a309589220e08ed Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Tue, 21 Jan 2014 23:09:15 +0100 Subject: [PATCH 05/18] CMakeLists.txt: fixed shortcut names generated by NSIS installer Use "LMMS" instead of "Linux MultiMedia Studio" as shortcut name. This allows to search for LMMS in the start menu on Win32. Closes #88. --- CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 65e5916d5..2567c7a2f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -613,7 +613,7 @@ MESSAGE( "\n\n") INCLUDE(InstallRequiredSystemLibraries) -SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Linux MultiMedia Studio - easy music production for everyone!") +SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "LMMS - easy music production for everyone!") SET(CPACK_PACKAGE_VENDOR "LMMS Developers") IF(LMMS_BUILD_APPLE) CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/README ${CMAKE_BINARY_DIR}/README.txt COPYONLY) @@ -640,8 +640,8 @@ SET(CPACK_NSIS_DISPLAY_NAME "LMMS ${VERSION}") SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\lmms.sourceforge.net") SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\lmms.sourceforge.net") SET(CPACK_NSIS_CONTACT "lmms-devel@lists.sourceforge.net") -SET(CPACK_PACKAGE_EXECUTABLES "lmms.exe;Linux MultiMedia Studio") -SET(CPACK_NSIS_MENU_LINKS "lmms.exe;Linux MultiMedia Studio") +SET(CPACK_PACKAGE_EXECUTABLES "lmms.exe;LMMS") +SET(CPACK_NSIS_MENU_LINKS "lmms.exe;LMMS") SET(CPACK_NSIS_DEFINES "!include ${CMAKE_SOURCE_DIR}/cmake/nsis/FileAssociation.nsh") SET(CPACK_PACKAGE_FILE_NAME "lmms-${VERSION}-win32") SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS " @@ -666,7 +666,7 @@ ENDIF(WIN64) SET(MACOSX_BUNDLE_ICON_FILE "${CMAKE_SOURCE_DIR}/data/themes/default/icon.png") SET(MACOSX_BUNDLE_GUI_IDENTIFIER "LMMS") SET(MACOSX_BUNDLE_LONG_VERSION_STRING "${VERSION}") -SET(MACOSX_BUNDLE_BUNDLE_NAME "Linux MultiMedia Studio") +SET(MACOSX_BUNDLE_BUNDLE_NAME "LMMS") SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "${VERSION}") SET(MACOSX_BUNDLE_BUNDLE_VERSION "${VERSION}") SET(MACOSX_BUNDLE_COPYRIGHT "Tobias Doerffel, 2008-2010") From a6b3f2a123d02dca3e84a5959f97de5c32daecec Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Wed, 22 Jan 2014 00:11:12 +0100 Subject: [PATCH 06/18] ZynAddSubFX: fixed logical error Fixed logical nonsense reported when compiling with -Wlogical-op Closes #80. --- plugins/zynaddsubfx/src/Misc/Part.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/zynaddsubfx/src/Misc/Part.cpp b/plugins/zynaddsubfx/src/Misc/Part.cpp index 3830fc630..e54c85891 100644 --- a/plugins/zynaddsubfx/src/Misc/Part.cpp +++ b/plugins/zynaddsubfx/src/Misc/Part.cpp @@ -1076,7 +1076,7 @@ void Part::setPpanning(char Ppanning_) */ void Part::setkititemstatus(int kititem, int Penabled_) { - if((kititem == 0) && (kititem >= NUM_KIT_ITEMS)) + if((kititem == 0) || (kititem >= NUM_KIT_ITEMS)) return; //nonexistent kit item and the first kit item is always enabled kit[kititem].Penabled = Penabled_; From ebc111e7f7171fadc86662ee079eaf621c30f26d Mon Sep 17 00:00:00 2001 From: Johannes Lorenz Date: Wed, 22 Jan 2014 16:25:54 +0100 Subject: [PATCH 07/18] Fixes and improvements for FR 144 (SF version). Tested and working. --- .../peak_controller_effect.cpp | 55 +++++++++++-------- .../peak_controller_effect_control_dialog.cpp | 12 ++-- .../peak_controller_effect_control_dialog.h | 1 - .../peak_controller_effect_controls.cpp | 5 +- .../peak_controller_effect_controls.h | 1 - 5 files changed, 36 insertions(+), 38 deletions(-) diff --git a/plugins/peak_controller_effect/peak_controller_effect.cpp b/plugins/peak_controller_effect/peak_controller_effect.cpp index a9fa56286..f9b4049c5 100644 --- a/plugins/peak_controller_effect/peak_controller_effect.cpp +++ b/plugins/peak_controller_effect/peak_controller_effect.cpp @@ -84,12 +84,17 @@ PeakControllerEffect::~PeakControllerEffect() } } -//! returns 1.0f if val > 0.0f, -1.0 else -inline float my_sign(float val) { return -1.0f + 2.0f * (val > 0.0f); } +namespace helpers +{ + + //! returns 1.0f if val > 0.0f, -1.0 else + inline float sign(float val) { return -1.0f + 2.0f * (val > 0.0f); } + + //! if val >= 0.0f, returns sqrtf(val), else: -sqrtf(-val) + inline float sqrt_neg(float val) { + return sqrtf(fabs(val)) * helpers::sign(val); + } -//! if val >= 0.0f, returns sqrtf(val), else: -sqrtf(-val) -inline float sqrt_neg(float val) { - return sqrtf(fabs(val)) * my_sign(val); } bool PeakControllerEffect::processAudioBuffer( sampleFrame * _buf, @@ -106,16 +111,28 @@ bool PeakControllerEffect::processAudioBuffer( sampleFrame * _buf, // RMS: double sum = 0; - for( int i = 0; i < _frames; ++i ) + + if(c.m_absModel.value()) { - float sign_0 = (c.m_absModel.value()) - ? 1.0f : my_sign(_buf[i][0]); - float sign_1 = (c.m_absModel.value()) - ? 1.0f : my_sign(_buf[i][1]); - sum += _buf[i][0]*_buf[i][0]*sign_0 - + _buf[i][1]*_buf[i][1]*sign_1; + for( int i = 0; i < _frames; ++i ) + { + // absolute value is achieved because the squares are > 0 + sum += _buf[i][0]*_buf[i][0] + _buf[i][1]*_buf[i][1]; + } + } + else + { + for( int i = 0; i < _frames; ++i ) + { + // the value is absolute because of squaring, + // so we need to correct it + sum += _buf[i][0]*_buf[i][0]*helpers::sign(_buf[i][0]) + + _buf[i][1]*_buf[i][1]*helpers::sign(_buf[i][1]); + } } + // TODO: flipping this might cause clipping + // this will mute the output after the values were measured if( c.m_muteModel.value() ) { for( int i = 0; i < _frames; ++i ) @@ -124,7 +141,7 @@ bool PeakControllerEffect::processAudioBuffer( sampleFrame * _buf, } } - float curRMS = sqrt_neg( sum / _frames ); + float curRMS = helpers::sqrt_neg( sum / _frames ); const float origRMS = curRMS; if( !m_lastRMSavail ) @@ -135,7 +152,7 @@ bool PeakControllerEffect::processAudioBuffer( sampleFrame * _buf, const float v = ( curRMS >= m_lastRMS ) ? c.m_attackModel.value() : c.m_decayModel.value(); - const float a = sqrt_neg( sqrt_neg( v ) ); + const float a = helpers::sqrt_neg( helpers::sqrt_neg( v ) ); curRMS = (1-a)*curRMS + a*m_lastRMS; const float amount = c.m_amountModel.value() * c.m_amountMultModel.value(); @@ -153,16 +170,6 @@ bool PeakControllerEffect::processAudioBuffer( sampleFrame * _buf, //checkGate( out_sum / _frames ); - // finally, mute the output if wanted - // TODO: avoid clips? - if( c.m_muteOutputModel.value() ) - { - for( int i = 0; i < _frames; ++i ) - { - _buf[i][0] = _buf[i][1] = 0.0f; - } - } - return isRunning(); } diff --git a/plugins/peak_controller_effect/peak_controller_effect_control_dialog.cpp b/plugins/peak_controller_effect/peak_controller_effect_control_dialog.cpp index 4db7acbe1..596a17de1 100644 --- a/plugins/peak_controller_effect/peak_controller_effect_control_dialog.cpp +++ b/plugins/peak_controller_effect/peak_controller_effect_control_dialog.cpp @@ -56,7 +56,7 @@ PeakControllerEffectControlDialog::PeakControllerEffectControlDialog( m_baseKnob->setHintText( tr( "Base amount:" ) + " ", "" ); m_amountKnob = new knob( knobBright_26, this ); - m_amountKnob->setLabel( tr( "AMT" ) ); + m_amountKnob->setLabel( tr( "AMNT" ) ); m_amountKnob->setModel( &_controls->m_amountModel ); m_amountKnob->setHintText( tr( "Modulation amount:" ) + " ", "" ); @@ -66,12 +66,12 @@ PeakControllerEffectControlDialog::PeakControllerEffectControlDialog( m_amountMultKnob->setHintText( tr( "Amount Multiplicator:" ) + " ", "" ); m_attackKnob = new knob( knobBright_26, this ); - m_attackKnob->setLabel( tr( "ATTCK" ) ); + m_attackKnob->setLabel( tr( "ATCK" ) ); m_attackKnob->setModel( &_controls->m_attackModel ); m_attackKnob->setHintText( tr( "Attack:" ) + " ", "" ); m_decayKnob = new knob( knobBright_26, this ); - m_decayKnob->setLabel( tr( "DECAY" ) ); + m_decayKnob->setLabel( tr( "DCAY" ) ); m_decayKnob->setModel( &_controls->m_decayModel ); m_decayKnob->setHintText( tr( "Release:" ) + " ", "" ); @@ -88,15 +88,11 @@ PeakControllerEffectControlDialog::PeakControllerEffectControlDialog( m_muteLed = new ledCheckBox( "Mute Effect", this ); m_muteLed->setModel( &_controls->m_muteModel ); - m_absLed = new ledCheckBox( "Abs Value", this ); + m_absLed = new ledCheckBox( "Absolute Value", this ); m_absLed->setModel( &_controls->m_absModel ); - m_muteOutputLed = new ledCheckBox( "Mute Output", this ); - m_muteOutputLed->setModel( &_controls->m_muteOutputModel ); - l2->addWidget( m_muteLed ); l2->addWidget( m_absLed ); - l2->addWidget( m_muteOutputLed ); l2->addStretch(); // expand, so other widgets have minimum height tl->addLayout( l2 ); diff --git a/plugins/peak_controller_effect/peak_controller_effect_control_dialog.h b/plugins/peak_controller_effect/peak_controller_effect_control_dialog.h index 40e7abc1f..eca00bac4 100644 --- a/plugins/peak_controller_effect/peak_controller_effect_control_dialog.h +++ b/plugins/peak_controller_effect/peak_controller_effect_control_dialog.h @@ -52,7 +52,6 @@ protected: ledCheckBox * m_absLed; knob * m_amountMultKnob; - ledCheckBox * m_muteOutputLed; } ; diff --git a/plugins/peak_controller_effect/peak_controller_effect_controls.cpp b/plugins/peak_controller_effect/peak_controller_effect_controls.cpp index 69c8f15b9..eb7e5191d 100644 --- a/plugins/peak_controller_effect/peak_controller_effect_controls.cpp +++ b/plugins/peak_controller_effect/peak_controller_effect_controls.cpp @@ -41,8 +41,7 @@ PeakControllerEffectControls( PeakControllerEffect * _eff ) : m_decayModel( 0, 0, 0.999, 0.001, this, tr( "Release" ) ), m_muteModel( false, this, tr( "Mute output" ) ), m_absModel( true, this, tr("Abs Value") ), - m_amountMultModel( 1.0, 0, 32, 0.2, this, tr("Amount Multiplicator") ), - m_muteOutputModel( false, this, tr("Mute Output") ) + m_amountMultModel( 1.0, 0, 32, 0.2, this, tr("Amount Multiplicator") ) { } @@ -59,7 +58,6 @@ void PeakControllerEffectControls::loadSettings( const QDomElement & _this ) m_absModel.loadSettings( _this, "abs" ); m_amountMultModel.loadSettings( _this, "amountmult" ); - m_muteOutputModel.loadSettings( _this, "muteout" ); int effectId = _this.attribute( "effectId" ).toInt(); if( effectId > PeakController::s_lastEffectId ) @@ -92,7 +90,6 @@ void PeakControllerEffectControls::saveSettings( QDomDocument & _doc, m_absModel.saveSettings( _doc, _this, "abs" ); m_amountMultModel.saveSettings( _doc, _this, "amountmult" ); - m_muteOutputModel.saveSettings( _doc, _this, "muteout" ); } diff --git a/plugins/peak_controller_effect/peak_controller_effect_controls.h b/plugins/peak_controller_effect/peak_controller_effect_controls.h index 4a4de0401..d42c6a9fd 100644 --- a/plugins/peak_controller_effect/peak_controller_effect_controls.h +++ b/plugins/peak_controller_effect/peak_controller_effect_controls.h @@ -68,7 +68,6 @@ private: BoolModel m_muteModel; BoolModel m_absModel; FloatModel m_amountMultModel; - BoolModel m_muteOutputModel; friend class PeakControllerEffectControlDialog; friend class PeakControllerEffect; From eadc829a2d82e98b1c02f2a45d61c802886dee6b Mon Sep 17 00:00:00 2001 From: Lukas W Date: Wed, 22 Jan 2014 17:39:09 +0100 Subject: [PATCH 08/18] Add Markdown Readme for display on GitHub [skip ci] --- README.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 000000000..a76d20354 --- /dev/null +++ b/README.md @@ -0,0 +1,37 @@ +Linux MultiMedia Studio +======================= +[![Build Status](https://travis-ci.org/LMMS/lmms.png)](https://travis-ci.org/LMMS/lmms) + +What is LMMS? +-------------- + +LMMS is a free cross-platform alternative to commercial programs like FL Studio (R), which allow you to produce music with your computer. This includes the creation of melodies and beats, the synthesis and mixing of sounds, and arranging of samples. You can have fun with your MIDI-keyboard and much more; all in a user-friendly and modern interface. + + +Features +--------- + +* Song-Editor for composing songs +* A Beat+Bassline-Editor for creating beats and basslines +* An easy-to-use Piano-Roll for editing patterns and melodies +* An FX mixer with 64 FX channels and arbitrary number of effects allow unlimited mixing possibilities +* Many powerful instrument and effect-plugins out of the box +* Full user-defined track-based automation and computer-controlled automation sources +* Compatible with many standards such as SoundFont2, VST(i), LADSPA, GUS Patches, and full MIDI support +* Import of MIDI and FLP (Fruityloops(R) Project) files + + +Building +--------- + +See [Compiling LMMS](https://github.com/LMMS/lmms/wiki/Compiling-lmms) on our wiki for information on how to build LMMS. + + +Join LMMS-development +---------------------- + +If you are interested in LMMS, it's programming, artwork, testing, writing demo-songs, (and improving this readme…) or something like that, you're welcome to participate on the development of LMMS! + +Information about what you can do and how can be found in the [wiki](https://github.com/LMMS/lmms/wiki). + +Before coding a new big feature, please _always_ [file an issue](https://github.com/LMMS/lmms/issues/new) for your idea and suggestions about your feature and about the intended implementation on GitHub or post to the LMMS-devel-mailinglist (lmms-devel@lists.sourceforge.net) and wait for replies! Maybe there're different ideas, improvements, hints or maybe your feature is not welcome/needed at the moment. From 3ff6d8499a5ca5a33097c0045fa352d66fd01479 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Wed, 22 Jan 2014 18:33:32 +0100 Subject: [PATCH 09/18] Organic: fixed tooltips for knobs that do not need a unit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For some knobs it doesn't make sense to use a percentage sign as unit. Thanks to Tobiasz Karoń for pointing out this issue. --- plugins/organic/organic.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/plugins/organic/organic.cpp b/plugins/organic/organic.cpp index f13617567..e2b0241b8 100644 --- a/plugins/organic/organic.cpp +++ b/plugins/organic/organic.cpp @@ -389,7 +389,7 @@ organicInstrumentView::organicInstrumentView( Instrument * _instrument, m_fx1Knob = new organicKnob( this ); m_fx1Knob->move( 15, 201 ); m_fx1Knob->setFixedSize( 37, 47 ); - m_fx1Knob->setHintText( tr( "Distortion:" ) + " ", "%" ); + m_fx1Knob->setHintText( tr( "Distortion:" ) + " ", QString() ); m_fx1Knob->setObjectName( "fx1Knob" ); // setup volume-knob @@ -450,8 +450,7 @@ void organicInstrumentView::modelChanged() // setup waveform-knob knob * oscKnob = new organicKnob( this ); oscKnob->move( x + i * colWidth, y ); - oscKnob->setHintText( tr( "Osc %1 waveform:" ).arg( - i + 1 ) + " ", "%" ); + oscKnob->setHintText( tr( "Osc %1 waveform:" ).arg( i + 1 ) + " ", QString() ); // setup volume-knob knob * volKnob = new knob( knobStyled, this ); From 8a5e0ede01564a16b19243da560a6969f5000de2 Mon Sep 17 00:00:00 2001 From: Vesa Date: Wed, 22 Jan 2014 18:25:11 +0200 Subject: [PATCH 10/18] More artwork updates. New LCD numbers, triple osc artwork, lots of icons, some colour changes. --- data/themes/default/automation.png | Bin 465 -> 586 bytes data/themes/default/automation_track.png | Bin 752 -> 586 bytes data/themes/default/background_artwork.png | Bin 223 -> 989 bytes data/themes/default/bb_track.png | Bin 1311 -> 656 bytes data/themes/default/controller.png | Bin 1333 -> 1285 bytes data/themes/default/fx_mixer.png | Bin 1866 -> 588 bytes data/themes/default/lcd_19green.png | Bin 4752 -> 3709 bytes data/themes/default/piano.png | Bin 500 -> 350 bytes .../default/progression_cubic_hermite.png | Bin 581 -> 616 bytes data/themes/default/progression_discrete.png | Bin 443 -> 284 bytes data/themes/default/progression_linear.png | Bin 627 -> 586 bytes data/themes/default/project_export.png | Bin 1291 -> 562 bytes data/themes/default/project_new.png | Bin 769 -> 472 bytes .../default/project_new_from_template.png | Bin 1410 -> 502 bytes data/themes/default/project_notes.png | Bin 3171 -> 541 bytes data/themes/default/project_open.png | Bin 1088 -> 587 bytes data/themes/default/project_open_recent.png | Bin 1052 -> 725 bytes data/themes/default/project_save.png | Bin 1263 -> 865 bytes data/themes/default/songeditor.png | Bin 379 -> 296 bytes data/themes/default/step_btn_off.png | Bin 390 -> 189 bytes data/themes/default/step_btn_off_light.png | Bin 337 -> 207 bytes data/themes/default/step_btn_on.png | Bin 303 -> 191 bytes data/themes/default/step_btn_on_100.png | Bin 493 -> 207 bytes data/themes/default/step_btn_on_yellow.png | Bin 622 -> 519 bytes data/themes/default/style.css | 10 +++++----- plugins/triple_oscillator/artwork.png | Bin 24334 -> 42941 bytes .../triple_oscillator/exp_shape_active.png | Bin 604 -> 435 bytes .../triple_oscillator/exp_shape_inactive.png | Bin 593 -> 341 bytes plugins/triple_oscillator/fm_active.png | Bin 849 -> 568 bytes plugins/triple_oscillator/fm_inactive.png | Bin 839 -> 446 bytes plugins/triple_oscillator/mix_active.png | Bin 928 -> 650 bytes plugins/triple_oscillator/mix_inactive.png | Bin 908 -> 524 bytes .../moog_saw_shape_active.png | Bin 607 -> 461 bytes .../moog_saw_shape_inactive.png | Bin 594 -> 350 bytes plugins/triple_oscillator/pm_active.png | Bin 881 -> 579 bytes plugins/triple_oscillator/pm_inactive.png | Bin 870 -> 495 bytes .../triple_oscillator/saw_shape_active.png | Bin 595 -> 437 bytes .../triple_oscillator/saw_shape_inactive.png | Bin 576 -> 336 bytes .../triple_oscillator/sin_shape_active.png | Bin 627 -> 505 bytes .../triple_oscillator/sin_shape_inactive.png | Bin 592 -> 366 bytes .../triple_oscillator/square_shape_active.png | Bin 547 -> 423 bytes .../square_shape_inactive.png | Bin 531 -> 346 bytes plugins/triple_oscillator/sync_active.png | Bin 1060 -> 787 bytes plugins/triple_oscillator/sync_inactive.png | Bin 972 -> 548 bytes .../triangle_shape_active.png | Bin 614 -> 478 bytes .../triangle_shape_inactive.png | Bin 591 -> 354 bytes .../triple_oscillator/usr_shape_active.png | Bin 587 -> 462 bytes .../triple_oscillator/usr_shape_inactive.png | Bin 562 -> 332 bytes .../white_noise_shape_active.png | Bin 606 -> 513 bytes .../white_noise_shape_inactive.png | Bin 578 -> 312 bytes src/gui/AutomationPatternView.cpp | 2 +- src/gui/piano_roll.cpp | 12 ++++++------ src/tracks/pattern.cpp | 2 +- 53 files changed, 13 insertions(+), 13 deletions(-) diff --git a/data/themes/default/automation.png b/data/themes/default/automation.png index 65a0a83d01fafb0fa00a7d558260ce5e1a1d40e3..d6193e4f6b6e228355b5f5c606569348f172b60c 100644 GIT binary patch literal 586 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VOROV+)E|Q>d@&M2k5-uuNBrbV}Z}Rk7nPOM*<4J4Flq!duZ#j8lW_dto3OF7( zbl|{&5AXF0HJc`TcPJ{B3*O%OINPOXjg#bznURKHHXVrZFiA*CHrUjcbYN+J2{UKI z!X$->6P@-nUMYKcCQW#ib%7 literal 465 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM3?#3wJbMaAF%}28J29*~C-V}>X$kNNaRt)r zD;dsCV0gBi;n@m?7poXvtY&z*j^WihhL`IZUae<%y@}!N7KS%l8QyMXc(aY+-A;yg zyBI#~Vfe6@;p2XWPx~1@9$@$cL`N7tA7S`%jN!|1hHs}BzMW?HevaYCIfn1&8Gf8+ z_<51x$0dfJml%FsW%vz5HyQriWcYiB;qP6B{|^`{=Ec;299I(L7tG-B>_!@hljQC0 z!qCAg>jC6&7I;J!Gca%qgD@k*tT`Z$v6p!Iy0YJ3XBTDT+Nkp%q;99Di(`n!`L&ad z3pE*txCU}~n0Op_;@5ck|Nr^lM#=`WranITI$iqk5ADxu_V+(FdHL?}2blxgU&!y} zGW{-nu`H;}LCWp=sXWop(CewZvvz6CUKZmLcR~9T>#o3^^+k(?k38M=bg!dIrr2_q zWk!A*jvBg1xCKhIu3GEBQup9DOV+)E|Q>d@&M2k5-uuNBrbV}Z}Rk7nPOM*<4J4Flq!duZ#j8lW_dto3OF7( zbl|{&5AXF0HJc`TcPJ{B3*O%OINPOXjg#bznURKHHXVrZFiA*CHrUjcbYN+J2{UKI z!X$->6P@-nUMYKcCQW#ib%7 literal 752 zcmWmBdq@*d6bA5bsm(1cdyGty3d^JiNsy$-NSlx8Tr~$}6sVAy8@Y5~YS0j@mARS` zjfx_P`B+VDYTDEmrA|#v)>6@Yg-e~zy)<1byTb3>kMI6@&YjcTSRcAS9e@uzj>RLn zdu_Zu$jf?lx19tfhZh?Kb??p@Qf5zc_|YV*^Ux;6loBSQ9Ht8VA}TSh!i);juQ5Zs z!HgQSL=DU}n5~7G&|ppja~3tCvUSZIc|1-2GgTVW$~ zuvki`RI0-!#^>B7#u@g((So(tBy;vr`V&yBA`>{e8;4)z4 z8(c>GF~ap7e~3Z2i6OX$@pl;R5&Rp)>Nt*N<@;`@hJ=>Kcveo=C0G5MeCJ-DD&w4Q+U#(VgMb~)WvQc53jYHx^Hq)j diff --git a/data/themes/default/background_artwork.png b/data/themes/default/background_artwork.png index 0f2ba9a5ef92837d5922db404d7cd93179d64901..8725e664f69a56b14192a435374ba912470922ff 100644 GIT binary patch delta 939 zcmV;c162Iq0o?~7iBL{Q4GJ0x0000DNk~Le0000`0000`2nGNE0FDvzt&vS03f=)0 z0vQLY5+2!+btiuVS4l)cRCwC$TUmC)APf}C(Q^M21?W%Zr>Ba=v1^cmf7-fs5+*a+ z@VM9ORbU?;1%#vN>EBUK*Qfl zDd4?7&TRmNmve@kbCq!j3IanJCjp7^(L8{oz#+5nnh?SPVk+i_V- z??K;NqojX*Zvm8nXBRqh4=r(OaZ^PdSYsAF*J5f9oL;u4VL}s#9zQIVDqTz~z;kv= z_m2R=-$z{%kv=pnfLp;G0g~EAC%JG=T2L!#?#tZURto@p4 z4DBRZEg3DMC5Bo7(T@i9J7d?^Fz{-8;xW?VaCLuZEOG@%>*M{ssq`NJj!15VS-oq_ zjI%^!e={tWF0^1CndRZ+MjDItGPs#6?3{xb;{g_qr_Ll1dJlqXX{yt{^d=lXc zr3~toJ~j4nd7EwJICENZZFMO8@wc<}q{&ry#Z7(OqhAB?qk^uy!hpA0Cx=R%j|zYeJs&3cu)9P%mVn7kHuS+>qrK_!^aXW z05{Xe614+2+sC37z*T%KQ4`xZfGhY|yhiY9pv~~HsOW`P_OYm7U~2(0eJsv7J$2xU zJ{A?jgq3|PDj2xBk41eeH`~Xex|LhO$6{_8^R$n}YiHl5vFomTO-T4EP*;2`CgyX2 zGkq+3Q|aR2H8XAnAB)-;xQdTObrxR1$6}%moatjRmqea^bZ%$ii-%eXui|5gTESbz z$6~6Lo8eF!DA8l8nVc?oJHr&dIz4a@YcV zLR`(v%x73H{Yu}kssaBbl(m73_O?#!U;>EaloaXxv) zzVEf~f4{1hmpE|c`(A#Dd(JI-1`a9v@)H_P?9oq<2(_6c!pv|up!&d@Uioi8QyDy6 L{an^LB{Ts5Cn_+i diff --git a/data/themes/default/bb_track.png b/data/themes/default/bb_track.png index 40f58e139eadf133c3553703011d64fc25124cc3..9e353be471941bea0134fbca219845c293b86873 100644 GIT binary patch literal 656 zcmV;B0&o3^P)|%n~+pN@?cKyeLvne^T9|6fmK$tQW_xLZg*uX z9vvM?46wVqyU^_Qdc1#e&idYCr~^7Gu@__PhfChlrPJxm%^w~fA|eMdfH7tP=$s>I zWu(s@K^=(t2|;T#O>ntessV@rthEabRi&}9M)S!-2oQXQUX?`a4ODfh<`#J0hJ+Xb zAbPHn6HpJg|&l&3?8glcTjK}l68&bhx^?)Uo( zjiM;9A02*V5D{uu;jazhhha1tO|N98vMjp;p1(!&2`2T%uW{}<-#h{}34^G(|A_8icAPqx2K_Ns#) zJIwbSPKR(dV>#YxE{R9HG#;u-ywxP#ZecIR__3vttpR!mB!ngLU}-$2aY_IX5kziu zvyb8iB@!>jV;N9Y(V?OIaz!;!{Mb>KejaFh*VKj1$77;PEj#CMmmWD8Qd^G>3UpWk z%{!nu%h91hBB3f39TbH6{taE|3-}EL{co+B?loHg0000pLLP)Px#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iOK2 z5DYj!r+tS2000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}000DfNklPY&L7Z3Yb+@bu;r{ z0F$TBAB{KJQ2yOs>XnsjqbJWEvc(otP5C+fO2{u9FdS$2{nxm}YmPOnhV1O@U}mJ4 zn4NrrUV$X>;K2hV0UTAsYVzdS!*S+Y<{O}ZsRS?&j5TII?Gt1d>fIy(fzaJcDUsYc zJvq6u(u>7{5JFoCnFkwdto^jFOMEK-1XGQR{kk8>1(WV}0n&yBDNJw}pWXiHt! zq?B-XK7Ra2Q5645K)t~@k8{g>y*qzzeSQh>+xag@&YQn}Cq$!dw-U{iU)pTb=@dzf zMkCz4+X*Qp%nWyL`wyUN_@zo+~bQLVEys9w;Cs zM~Yq0HW5k9z?z}uKq^EtH#M;x>+?(YutSb@=l-qb&ds?P;8D1V!=H|gJ*=Vv&|om= z)~J2Zx*U0PbVOBE-%`OL$1m>OztxnK?g6t4Dsr6^Un9xaN%6Ikyv+|;fmd17Cv z@9X-9$E^>@pAY34`o2tLHUBVUkDHnQBQV+B-JRGnfX!wzmBZmsYv{YGVa1C6L9aPJ z8dk&c&d$yUGqV(v%}ze$gQX|OYv?;`_=hgYXZR}D(06+J-uef!zF*}Z)bkI@d}Y2S zlZj4GPxC>vy1sMCKkym#ivB@8 z|6r1AG#Xjv3s9H98v4%v=pW48n;~3L-+KwHL0oS zq~s>W=I>Yt=I+WDWfquK_1&_*ui_tIk8iSncrh3Zls$m@eER}@U)Mie_5)*J@(+>0 VuydgaOK<=H002ovPDHLkV1kdlU-tk2 diff --git a/data/themes/default/controller.png b/data/themes/default/controller.png index 72229e955af16ca0952fa494cf5258222c4319e1..6bd108d226260abe96054bed6efa353beef88276 100644 GIT binary patch literal 1285 zcmV+g1^W7lP)})$uH)o@jm}uKvW-Fq! zj56p=^guzB)C(b~e;}fF5|to95cDF`EJR63gd#NsJq`^uHI%ip9nbWf>3O)%eeTC! zFP0`-zt`9G`F$_0i;pCPVBs4X8OceKv_;kRafEm@3d3cxtP~=|i6{t;2_X*T^ZDzG z8Ubk`aBOVsO+`_5bmx{TZ5^FfJdxtmiC&hg>VN0i>)UZN->2ts_{2Ot(RKmvpyoo>ThdY@h?O+DPG-##u$(y$Q1 z29WQJX~h$x>o<%mM}Gc^x$-QDxJ4o!!?I%YK-0uD3=Bi3)vPgd?IM|;KFNy3S1ez? ze8-(&^2o?YPF2+%&%gLm{QjXKUVh~@_V4?F^34))D~1&_=O-|9OhczpyT#={@(iwA zOCr@y?~0XLHrw@TCX?9=AWM?8WnjgilI!WgG;~(3e2}-^dYe7peM_l0jcFPH=(lJnNa^eE-@bNuw7sLf9ZlCT zG!4_#>B?pqT{nghASnt_7;)d=0~nSyzpNm@_d|jp00E6^*|=UT9#ehKU$*bZJvhzg zq9gt2<4;gE9fUvtEw{z)Z@yYor)oN~B&C2pRnxS>rsuW{EFT!aG7U`AK-V-RNy2qq zd_N!vLZUE2*L7Zg;~i|-=vTyG$O2rw%C?bj?L=*wgavC^}GYwQ_&-0EIX9}*`-PjcC4w*{4CjH(deyJjY6W0Q$>nlI+iq;jb}i8~ zU8h(maQM&xHg0}_uI?P3=i_=luIr;}CW%xV=T09d7Egh!;@X4q27}h$2B4-Z_&1*Yjw(9&_azR7z8#UY(md zclPYpz#$<-{;nLNFx-5ra`X6wbEj9ZW=u;Y(*OuD54>w0-^Z@kxH)~*x9xiI(w~3s z1!ja0d05~>Ns_FAfq^eNv)R|%GTm}A-LA!~B${F3*fw^fie0wp;DqTNZC=~L* z46yr-Z59a@Ad|^#Oe7N9lBra`X_|eqB&8xDYL4Sf*K4&xxm>>JI8F^XD1^6NE$-N?5x< z5;lay6+t#EBm`JVOk9{4B__fG)Mzvk)F|v~CH%Jp3iQX?Y0C@@?aVOKdGqG|UC(_) zj1f$?CZ6OZZ|1#wzH`3wopS{&(L^8-RmD%XuI=o5c~wV`u4rPpRK}v~x?>M(cdp%@ zc+UZT5t(RM2qynLCoD03W?g#u>u(J7e%NlRuN_xE;fXls&R*xIwKw^i{F zXc0(ig1*y{Yt;R(FHYaQaWA{?9{_!QeXOgi3#(%ctD_2Jr;0!dAjvvJ@<3PN1q`a| zqi!vNH5L(}a}p>mB**{zcK2En64` z$F^BM~@mfJk!!}wF*6Z)SLG9cD8ZjMwUvY zLb^Q9gYWwg1ObUe0v2Ufn9rlc46GY?1@G*8n-ta)zPoaB3|4Ug37sJjeE5M!0`TD2 z7KwsD83DAmwjSy3?iM1%CFi|fuZPa7(OnltEC!7lYs_9j?fy8i*JU0M9KD%Qf&%Il@mD<@gI`T0)pV_OOVMBqb!rjB>xdMR-c$a;=~CE z1Xj6l0one3{G1oCE-oM`*+>y3DaC;+lin$qOD<66K|mfN1T?|~z=+o)6y3fZjYEg<>Y6pE5`Cvne-70P&}sVUYVr}26&RWV$!&z{VFI5RF$9&U zS{6`M<#PEb4cU?P>(?VSG6MVHK`;)uYZvt6$59~3HIXVdZ{Cdl{tbvHmt*jD7ULyQ z&pbp;1GeMgkt?7`{;=+&NW02n66z!jP9L(_EZE7DsGd6q-ulG;{m>5_zyisY_lPTt z4_rq_N7zQLtf8SH{P62_3{K*G&sta;i8h5}RG1aN*nb9lPM=bjErx0LtbX52( zoo4USvw8S1)IEE!NCCN;cuzP0R~Q!p2jsL)O-*6u_qzriv7hXMLUj1fB#)OQe@I^X z+cu>hgu93)8l9b;VNduxXqv|NR5);@QVEljlQ?tc3@%-|gi59I%xz2q%7>Ocb6xlL z_Of(34GzZD#pi>s4L;q2gERxAu<`M6#pVrIf<5;>py6W%-2_Dv=z}D86-kJzY*^WZjHlpHK};lq2me71NtK75?&;o{iPBeRefV5 zp~_XOlm@^wo6X8fOw-g10KmJY<}fH7t>YPqww3jqGZ zukBrs7Df`?{ZAG|f+BjIFPToy7;u}`#0XjwBLIN*x8p)3b2AOh%`^Z2TYKL@F?-ln zSpcSK8npTtqHTp)yRn|N3-@3NFi8@Bc=h|%dgDB!kR;E%es*;M1)dgwBqJctud^_+ zmil%6%7IybCFt`pLdUpEf+*TWELwiwz|1b{W%%%?ck%{$^l>5gd41pR9#zci;kV0V1d&nF}68Ea(;P3}-{tf28 zm)xKemv_MDgF{?g{|C#)h7w**zs>`oFgE$hS5FC}n-#vlk{;?o?Tb#cb?eOl+q+L&u>l0F^?VsYy6<8ky}yNc@CdQ4|0QB_@y z+S<$?!SI8Bzt-tGeu=)!x6UNU8K=kYtN6ar{n&52Mo@eB@Da%aytt_axBCZCTb07( z#A7VxiY)WhFf?!8UX&U_l!ze4SM0Rcg zWfe6tM;r*l5XC~?qTs}{y2lZDjDpeWnTeL}$LG<1GCavnV`6er{BjgZppehW7#2gM z(q#zB(`oPh_uj@E?K=?ozB6WCCd6c&MkS#moFix$MU>kt`uc8Sa%u`u7{)DIR1CiJ zbMyH1W9I+U?fB#Q3uW3d=1Qdgwc+Z11%%8!bK{Pfrka1vQVglKx zvuJ96UW+x3jAHE3-;c0z#R}p_K;q-Ml`94H>wTZf4nd(Q^Ws#0ZXt*1>1k9{ER${NEsfmN0x)(J=``x= zGJK!cN^ntR9Vke2ZYR*lk#n?wI3p5@L&)WFIDYIHhK7bH=eJN(Q;qd48?bBlZd1T) zz5$4H%a&E}yHy~;0g-ipVRha|Ar^9Z%+Aj70w$m(_kS z1F}!1gv6e5#<0J%v_y)Rr$hw_jhs@O0)aJ8uts^F6pDAnLP7L|kWU~bBTsPVOgC=a zxIu)KYDw@{U|?VXnM@t!JdnAu!X_L5Bq&4#J%1#{u@uODt*_7UV%`Y?eU1>w5z&0z zn!G5LO5vMB-{Q)ZE4Xm}93eCdsq6E9^8$O4NEowE#*>-|j#{1I6i8Yf3E7A-q)>b2 z9>dQfMaVRrop0_$dwV;+{_0DtTeluHwY6w$TrCJh!dH%7(&2JJ#w7)?BzGL}8BS)g z7#D+*w?OWhYRJ#5h_UA8X0*1ov2n|I^*{oN^ryWdTizLEn*uJW1_55HMxSwiz&aB>8{-oA;;6M8xyELV$z1If(5*-T zSq_+XYMd|}(B5Dd+o)Zt#7RzvOEqAO$S&&Y>cZW-ccn*ESJz10fyBY zml2XfNlm=>dxi@zX>lo#fZ4o%j+ZZA#>o>WF*-WJ^+M)v+_;g>0pq00`z;4FA_u>) zINlL`ZMjaj$jAvvIbe#+?942_KXL@Uy}jlnCH3Ooy?a=-YL!9RaKIkjFg7-Zp6=69 zVtcRcr`k}DEnBx@-v|5Hm?NX(g+oAL_rg$&b)7hYuH#+k>FLJI%nUz&R;is`}Bob{JhM(C*Ylu>>g zUYcHEpWnXI&yMH3jW50Y34kw1d}Gwt@|q+eUH(H#CRqXm(j{pOY~{3$xJ&a7MWQGg zib_zL&+R@O867=p?D2#bw!Bgcpc4P>HPhdBb=>@SY#?V8k}83YzUqPMiI^-68wg`k zBq^|{o>x83LUxO;7tp0I4C2OBN>oap9rd{vGms-$RLMOfk%-J?YH{pQ_zz@do>z3L Rl5hY3002ovPDHLkV1frDcnkml diff --git a/data/themes/default/lcd_19green.png b/data/themes/default/lcd_19green.png index d1dd66571bc2f676c0027e2828609a58bb231c27..a154f40e9f90ec22a27afaa3b513f7bf1e3845ea 100644 GIT binary patch literal 3709 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 ev-R1$dh=fqR`i3lRQK2b0000f diff --git a/data/themes/default/piano.png b/data/themes/default/piano.png index 5577fd1ec6a71c19c87c1988dc33c041abf422f0..22523893e25006e0846704d31513da3e0973b7d5 100644 GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VORP@!`PpYQ?NY5NKkmun?-3iSIRy5 z{6%n*MoYt_V(qNo!cMPtt-GP*yXA+JMhqFn}cUotnw-psXL{iXq+5-UHiwWz#p2EIUYaSq;q4N@5YW4 zb5C literal 500 zcmVGSZpC0QXMxlIVG^kW?QH18aL>%4sInQRkF zrDS1=p=>3|I)!X$Vea_INp4iWx3=wTD;u7B>4jv&zEbI_LgBGH8XmcmTN9ic3Gbar zHVs`kGk4{0)J}D#T1vTWjV+B0%+<1`KrNZM)>;@FnP{{m%0{g-HZ;?kn+c4Ci3_K` z^Tw%1{xZ@lTaC`x(89!(nZUKq2XFnUcHzvWU;Uz2HpXVI49tyPS?FCF*|l)tMrW#* zTaCF|WA0k56T+E)tc9ijDqFSWo~$smjS#klyY?K|uxF)05-69ZcD=Ipr3X3>h47Q9 zeLtA_%ASQ?Kif1#IS>Y(2-%KM=p7;pS+b)vQ>aXlE7|`E1OkOhFINgHA%tEC;YPTT zReI%?LSuxalq5-(Bw3ab20Gc6URn9wYuUe&te0d-udw!qiq1Ou#*qUXlG}8CbCTS3 q-xrePHfy!>Br7B&w+Uh8v-=3JGqH(Qzz9VE0000%jYMzKM7YcfU2N~JH2pm;n!SS%Jl2LZ6=`&QRttsNHw?q*bP;Zzh%|v!s}FOx^Qs(Z1!MSar7vfF z7sh5n?HwoI>$05An$NCZG?vj%4Wxj8*C=i4c7pQu$|uMv^SIp44EQIz0= zN@dpvAR+(&v;V!WOfQJ1&vf^M!~M_dUqLJu)0xdCe{Ka=AjpqQ?vbROI(s!TF!YSSyrYg*z&gL+(_^6rJIriiU44< z#v=p(Inavhw^pU~wN-QT)5eqTz9GplQ>Oq3a?)lIg4fAOHY12XN^39vy5@ z{|o4HDDFY86Fy$DJOhby4kB6v;6+Zs0Ywim0Kfqe%f<(2YruH`0000+qBcq_f|WLsLP#n_k;Gi`EOyUqF1we#Xuf9Vy`A}H=FNMvK@Ll^j9uQme*0ce z)N3p((wI)yt!644)2SZvo4rs*(2->bb2G&moIB5}m)jGRCD8E?5Wmyz zhKf0Z|Ve0#BNGBte0NI%DOa6aFI zf>)B$?}$bU_DdTqVu)m6k>e+N2DpgpC4qYf7))QJ*eKhNudtb(tPHqEmChNJt0&}vez?M{G&MIp(QT|r}d z9LQ|iIFp-2g@k4JkP$57ceXc}-L(NsY&QP`5}&r8 TrVwA900000NkvXXu0mjfeX;@E diff --git a/data/themes/default/progression_discrete.png b/data/themes/default/progression_discrete.png index b28bb29c6c127f5550e7d57991f2b63ae4639cc4..5faf0e4aa5f5fb454c9e57180088b2100110f21f 100644 GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VORr8&@Y`gfiePZW^Wj-G#9#`Q}Roo=D zP^!TscShvZ6YtJx2{8DD|L<5kjcwB0CC;J|ZC!%*L#jkKPGJ*ZD0_aq!&i74(`VM= zb9-lg{cc;H&eZVmwEGR2`PZ}d%Y|p!P5du*g~Kf7*p@ospPRO7^iN@#6gxxWFY6tK YRcSV9|1>u}06LPv)78&qol`;+0LPVP4gdfE literal 443 zcmV;s0Yv_ZP)sF z!lhCaN%WGn*gbNA+y&0tubG|wGqc}*v%5k8qds&_7X8O(D&c#Oq!2{Lk3(aF$h4){ zS%tCyxh;bXddqikbPRX5s{@p6AYU&4`jxuSRf892h>Am)WtddDVGAgL+0umr002ovPDHLkV1nqUy|DlQ diff --git a/data/themes/default/progression_linear.png b/data/themes/default/progression_linear.png index 8059e793fd9e510aff19d71d7f93d413daefa1eb..d6193e4f6b6e228355b5f5c606569348f172b60c 100644 GIT binary patch literal 586 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VOROV+)E|Q>d@&M2k5-uuNBrbV}Z}Rk7nPOM*<4J4Flq!duZ#j8lW_dto3OF7( zbl|{&5AXF0HJc`TcPJ{B3*O%OINPOXjg#bznURKHHXVrZFiA*CHrUjcbYN+J2{UKI z!X$->6P@-nUMYKcCQW#ib%7 literal 627 zcmV-(0*w8MP)LCl0^L*;rRnpwm^b5_#y2y9e&KQMIq&?s=iGa4ki+^cy;th_Hw&7g zzmL^5N>dfSJW-*gsmeO!h0Rdpph}An7N_^l;PMDBU$k~mlt9%!K>X6wwi6FAj=%PS zxkn`B33gIMm2i#phTyj7lwed8YyTD6WT}%t+%D8fBKI@?YG66?U?2V^{eA3gSD30% zj*j76j-SNm$YTm^>S%zCrNY|3$IyTBKN!K=7A*)*X2g#21To$78;hx-J>=anH6K%h z1$NyrH6Bx+YCHJ7&``icv?3U2()aeB80Ib6p;ixQm2 z9B$$sZs9~jo#5x|I$1|n`{6c^dz$sD0ng@z%01X31Y#rvV=)@e@r4v()LEocI-Tv{ z`}11R1S@Tnr!Dj><$F+R+_e^sZM;d%bh=1Z*El;^J2{hWIc_(=(dwv3!6*hDB)YOZ z*2@wsA9R4;&1w&}4k7z&*aY}GmQy1mQ8Ob20~Ot#>bl^rn;mz! zf`X>HzMpEU>3lw`F$Ss%5rMT9d7i^s`zf#2>vOx^{uVJaJO}`sb8yaqnL`p0hzQ&5 z_A7v=h<}K}g{l_L_xl|p5^Bs00ASDTl>mT=qgx7*=xIH1{VqE@TD_xt^1Hk-Yu>YFE{EX&k? z0Z0G=Y^{AylH^C4rZ1}cTA0&X`~2^pgfPaK(P;E5P19EZ+2fo9;0u7Kk~hc!thHnb Z{{W-pNkNU$TlN3|002ovPDHLkV1ntA=7<0Q literal 1291 zcmcK4jWe5f902gg+sQK4l+2adkg3&CU7M~~Rof7q?8+j-qz&RVTB9VXFjkRX-`sRo zb{#PnM%7D%B}FB@ASl*)>ot{ljq?^%BPzsO_Dg#E6ZX09@B4eX=XriF&vVaRT+p|c za632zL6+D63?9^u`T{cn8B>|p11b}mFO~px5w)z+x_u$)spO-+10Umy^)w6wGWPxORBp-3bWi^c8j?HwJR z1`nLnGcz-@v$J#a3-b$$ z3yUC>i%JknN?>V8xwO0lEWfw1yaM9Q3h>5Y)!?mx%3y6xwWeMJz*d2EgLeiS2H^684I66Kk1cHo=jZI9=%+28zmWYEN+t}J2 z{=~rv<$T2Db5}R_V<*sGp7uQVl`rNz_PZcF@k&+XQ zSJaHdBbLXWdCEB9SSxNQyB=OeNKU#U$F4gCo}|6qm_##Nh+Ff{e)E~DrG-zd+nVm^ zs%h@#Pg_rryD`tnh(nHW&Nd2uXnzA2$_YS`NSIu2jS+g*zwFwj^v6g+s!P9{>N>42 z`=PI6=*^hoio}sNAuD*N6PC%Z#h2%YWrn+6gru!ueP-M{Hwto02R6mOGBZO%P+yoG z4Yg14cuLEl&cy_pBJNt%pztK&_NN(V8Oq%1e+GNpNw;>Tw3-+7XpQEx>G*UxXKo=@ zf%+z|UnscjWpR%L_bE=0L{bWNvlUEHa6+Ljk?Duh$=9vpdWcz+7lY&=wjBoPX;jzC zQ>D#l>-vZ$7K5&8Dt~$6+Vn=I_@l&PAKZZ7pDW%jB2V@ysLO^LdB$i<-3Ye`l=Pxx zUzg2EkF+-@SEdO&ekthXdWv7ul_@7#uo0pMB2(_Aj2y$}=rG8*cw5T-z4DT%QTgEu zW=e!VI&t&$OX=-B=Z2UXwP(7F!+R;!@b0P9*|M(u`}BqlrK;EI{6g44c7Fck*)xCt z0p~l73L|uY+~Y}jH=TQx mcSu`j$BhrW;^IWL=$!-h3Q@L$Qv0L+M}zeb!Zi4jS^omhw~#IX diff --git a/data/themes/default/project_new.png b/data/themes/default/project_new.png index 828e07d0eccd3eae5072ea5c3c08e4b827aec679..489548b6bc1ba45a35ec910b34669f7e62692d09 100644 GIT binary patch delta 422 zcmV;X0a^Zm2G|23iBL{Q4GJ0x0000DNk~Le0000K0000K2nGNE0F8+q4Ur)l3k}Ht z01e3jueHZakwzzf0aZyvK~y-6rIbN#!Y~j;zsHf$G22?_Q= zs_mI!)3Ju3-r@2YhlUB4B2yDn#U| zp-%D^(4h5)Yk_8gDJ7^Xh$tUma8rH2B9NIg$T?9hst!OZUg&0+bUsVY{h6+#GkmO}_Q9*+Y6T?D3-^1K4bE~jbA zpco^@aU3>no6R1;;U$L_*<`>NBTlE&u-$I=0KQape92)sud0gM?S>En&gb*6+wGdL zS%>8-V+tYQa=8qB-_OFDKzk7C$k*%jR~P`e#^8UTdNhBe01ivACh)(y13vM4Tt(c4 QVE_OC07*qoM6N<$f~1SPP5=M^ delta 722 zcmV;@0xkX61Azu1iBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPN3j=ll z00VXbebs`@kwzzf0)9zEK~#9!wO7Gz+CUH;+a*#Um!8{eKcW(UfVeh1hW%_`QAWT_Ew^LyZK1LrNt)4M?o?fhZZM z#Yy=2fmwb1Ka1~>Ux=t%0^%7k8pu~)A094Uo|7X;Y666RuaBM8uW1ZjC(?VCWzal5 zeU0Tuq4pDpq1NNFqcXjM4}r>`VBvOdujI zmO@YAcS)ovFr)#Ffl}BvTMY0h&2X(5fW0`!YE2=mH08=i0sm z(z!_zli z8uUF9GBlB8S>=!T=LAAwhAO_>?MReHBAZ|XR22GuHq_TQI`g6^z&Qtbo>P5zf1kqj z_03z$x)_x*nV0$WGe_X8La z142xH2#eW=PdzQc*;$LkDfaupVDNUmUSDC~cMvc>0}^u2Qv$74tBSqX>z$+c4YqyL z4kF&40=6^|6#J;t>Ab=67T?=gPQoHfQ@W9I_OoF96CU?C(T~UDOB8(^b diff --git a/data/themes/default/project_new_from_template.png b/data/themes/default/project_new_from_template.png index 3d0f5cc1d53daab4519aade073a1499cfb39a14c..1353505b9b4e5206882792c47f10284e4d23c75d 100644 GIT binary patch delta 453 zcmV;$0XqJI3-$vciBL{Q4GJ0x0000DNk~Le0000K0000K2nGNE0F8+q4Ur)l3k}Ht z01e3jueHZakwzzf0dq-2K~y-6rIbC6!Y~kppFNBA5L|*YP#~d{dmCCR3QoWs_7+=G zr$h<}2@1NTusxow#xnU|?UP1IqWJTB{uv`8$W_<15D`QK%#08MLJ08Qzt!=0Ok+-` zlhNl7v}COX5vBJSBdoQZ8d3*njDax**4hNqZ+Q*Lv?DivO(ToN0z}k_y4&prL4yus zj9_Mn2x5$rfIk5h+Det1l7xp6yWM=Pq-%laWIRAfmK}c}!*oGye^! z4)Yr!B3LeemvGLdU3Sjla=DZMWE2=ec)PFavaag{^4_DWs&c(v?*W`=In>B11$yss zyd@#lewNb zXJ&WYI2k>eOb(&+gT>zaaG3vJYwdMLlTz|uB6`I#D%g#GK?^38I4MJ8oFo^hqDyX) z15iMN0z!y-pq_=`M`Jg;C}&-3ZL4d;iyLUDXaE6&(}Rop9`rR_9=!aXI4pkPSK8(G zGGj5IsMmGb+VioXKP|L>*B` zgS;bu8Q+zn7?(bt=2>1iB;X}r0{5c8V=kP=O5kOc&`aSFf%`0*BL0rm{2%jv-5 z^MDU%gzDphfExlHFo)rn9TI>ydju6h7)isJ4$dYZ2{=hCqyj2=+_c3^THNEdB^ z3LD~px`^fF<+Qf6a_Gh(`u^zSeBeB{Yi^@wbzDvtZqrTuXgwQa8|m2DaSXTw#AS|> zmyiG%tX${Ya2TTqBuCM-N_ zNc|Jm*47dT1X#6d)pPGSolaaX7l4r$FK)n^Ig}E$K2z1miK)!(Fy|B~ikH5m2`ehu z!VB{lunNO`q89OjXf~UDZUqnyr#%D0GLEw-VJwr$DA9B}jbRv1&ME-nX)^|YB<)tf zwrHN5kP_8(T}?nF63MLz^?MbSRmPY5J9~isk_MFc9D*fKS(~OwDwQG}9%f`@7>~!x z(we0>9ZuP~Z{P9LU!VF+N|`NXps0B178DHRGFMp-4Gpn={W>xkQ<>R&pzHKECysxl z#BE(dn0Mx_+2_kYK0bll?U@mOKhSgJ+{xaf@8)OU_7vDh-Fj92SS-f$^fbX>a7MiM zaCf^!++GE+*9uDu(qsXb+a)`@_MiUh=&@p%+aE)l=2Qi8p~@bpsWU&{xBu9;s^@ue z`v%l!R84}V=cPV6!r=gihT(9>4t9NUsdGnpx+`NZr6ayCIp1| aANdz&lO$?Lo%JgK0000Drfgb)xyfcL)S za@Of|n#}ww@fw+FtznEoqtSpd23qS%S4u%C1pxgtzL5jvL#;K4s1%(0a=8S6hmxQi zNJNk_Tmy-ZMkBP_?e|)RM1&Y4m>EQrzb<7mnM~lEdn}#jO*tNqEVaAVm=FREhXZD_ z832HpUj~E0cV)^F96~^hu_!_MV`j!~w@brbuhuZeSg4X`A}U0>D!huy(N1@j0DNu-0O= zS}l6L-taDk>6Q_5&SAUVF8clc5Wwd(VCA++@2_|YW9FZm6?VJbCbFe@HU{uj2df00 f*ZD_XP@Vk&ohYAXJtQTG00000NkvXXu0mjf14`wo literal 3171 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 JPDHLkV1jPG5lsL9 diff --git a/data/themes/default/project_open.png b/data/themes/default/project_open.png index 7422ad3338bb73f8a30502c3eb830be527c06c98..7188b389496d3959299385aed55817edc43bcaca 100644 GIT binary patch delta 538 zcmV+#0_FX{2+IT^iBL{Q4GJ0x0000DNk~Le0000K0000K2nGNE0F8+q4Ur)l3k}Ht z01e3jueHZakwzzf0mw;2K~y-6m6X436fqEozp;G@1qu`tDN`W?grKYP4!p*p2#Hsq zx(7%ViHcXDp`$>e;4O$~PW)NV48^WDUhm!sMw%V3?fLxk*t_EH)VAC0JjRH-qpIYb z$vM+?-NZ}ZdcD5q?!QZZps^4FF-B5K#25)7EV_swA^@*{>ipCK%ft`@W;RJ)@|mEv z!^|jUI0V`UoGCOjR26r}%w`GgPW}s6pzXmef%XD(&bT`vgmHlaFV-$_5U8pnNJKER zi5J*DXnK8h^#-#WKmfMe?L=YOcCGXfG$Hbi7nc%G9?}h$IL0_CtbsLnskS{(^)%jp zK$Jj-j0aMG6qfBT!Iprs*=&6E=oI~NiwMLpJ;D9u?=5$^L$I(q`l7#nzD?=qn8)Ym zoISfB1|bX(b5KAXavL2K@1wKI?%aO+dinkHrw_q2bN2itF$fVzGJHNVRp`TGeD}M4 z7vbdT1=js}63Qi&!L3Xhl4ote@qQQ0xQO_853O2Z*}Q+(A=d6bZBcDGJo*QE3;rYZqXru#&3K?PMLHy}HuZ&I3r6^XlXK>+u)#5-Pb$aXy!D< zshWoOdGA|i<_?Aspj{}X4gT8-VGT?TtbMw@z5UOVBpF zZ4gy+dFV5MaUp6vDwGoFNF$zG;4a-x1D}6;@Dm5P@yRz2;jag`6R6)n>|0hcpzxdT zm*DFP?qjZhfGz`F;9fJmS1_xB7zj}LkRTlfHiY7hFTeZw>eeufM zYYea$V5sVF9{5H^-h0)-o9{R<*1@m$=Wne~pl%YFrv&<ATMfk(fgPQXD)KncZA5tlh?eKCNmXG>hcG%bNXoXS`#}JgdIHJ)LIG z7|E=E2x_3N;H69D2HddNqAkXrD z3UpP1hGZrgNwblQ92s{uI}8;?cA2}A%u+TiY%@UeVZ$&e4D>q)BHo^S23|}$E`oUW zdqeYCiep^GraFU1yuxFb6C)S{0%v*h3PvLbh-T&g z&gm(TvaLk_*crr~LR{6<2#SGGO5hy#-=q<=2kio{<}fG)PG-eEBA_yrEeV*%)*uak zN@7DhoQa&YJPbj48zIRI*uzPbRQ=5ukA@t|FZ!B;NUm_JVd zi1kgmbVwFJ)^>#*?Dhl`DckN|wg*>Qb_gdYwe{lSMb+!OmW(q8c4uVnU3R{jdo0!c ziz-KfpVsCc>I5U=#{lqwtmduw|2ol_b-?Zl`-i0ggbS!36%AZu{S7(F`h;J}s=@#O N002ovPDHLkV1oG>?1umV diff --git a/data/themes/default/project_open_recent.png b/data/themes/default/project_open_recent.png index eb07bb20b0f48fe99a192030a3aad9fe8687f11b..4e57b3b827f951618f08bbf9f42eb2aaf6441d6a 100644 GIT binary patch literal 725 zcmV;`0xJE9P)5{MR7!Os7{T7s=$ zBLpOnCTW6&wKi#NL=X-{%z+?WWpNh%08vB|(Mr$A2^YQH+1Z(S7P&c-yNe|F;4wQp zZ$Ixl@6D_d5q4XermZANrU1P66h(n^j-n_iih_1#*)X222O~l*U;-PtFuyW4^HL20 zvn*?kjg3tKIOq1jwll-Kjv*5W0wrgQuR%Mjk|VjWl?P@u`&g1BXsuC7_5HhX2yirk z3*(M6Ax&>zxjYZN0FDDUhkzjjLI`;8hmxdj=iSM1jgCn^f69P6y^y)mD4_Qq5$Suh z_%vc$+r4poXw7@yubuav5JDeZNp`}2xW7qsk|^MMZ~AJeDeZQHz$8AR!5hf5$XiwFr+1ib3 zbrEUB*nNQ^1e8(${rR8|)_)|>IfvGIk3tclQmORo8rO|6Lx=Ui3aiyB)>?|9z*>t^ zO4irc9{~BG6e^_<5xU)OA7-tkR;#V8uC6{~=h_`kAvp?+Hr6jf zH#axmE-Wn6da&Q4U;smRSt+G~OCw?hcq1a6{a_=3|7(8$WERuSRv3%<00000NkvXX Hu0mjfu6a3! literal 1052 zcmV+%1mpXOP)@kw8r8k2?^)MuZX`XEMQP1E>T z!$nC*`=)6$)p(B*?1Pq8YpL9XZ4q5|xdh7s%U)(-Z|v;2nJkRk0b~4Tnic0Izv=m{#hw+OMAd@flz}?;5FLrizp4N6J1p(t}Xn1Uq z3&YEh0@AB|D9vt&8X|$%PSL>d+@l|VXM2nG*RS$R&xQzwL_yS{`&CGZ^Xi9F zyz+c2r`lW`DVJDZ_7e}S;399~O{R8h)Rau4e zu#KOf7&4q1PN zmCLu5bIzlSOn*5i-w!roF*Z`lfuC-6(|%`yfziKE(yuA` zgce||m{k=V3 zlb2|6T;R@>zwRy;i{bP60gbx)I^yxIv3Jg&dwDY$+%SO;0s#dP?Ck6i3WeAVZR*g) z1^?ZizTT5lQ@;fO4hEZYHG>r;Ms-y+lamvZgBJ&n4}CkdV!C8ZTud^-5k-QV8#mtT z@9(;HZDbYTK(N>A-JG4By=iu8yk~RJcp}OC;?n&2vv0n!ytKT|0s4QJDX2h(f6?EN W7IiBL{Q4GJ0x0000DNk~Le0000K0000K2nGNE0F8+q4Ur)l3k}Ht z01e3jueHZakwzzf0^UhPK~y-6rIJlZR8bVi|L5NK-sFs8juo~TZ4v1v0+pghVhmjv zBZ39hpk+`L6s=m6&`Km1Z33a7AZif>m1r^uK{E>t1P2LM*2X4GikQYXj`;5TxGnOH z&iFA@2M+h#kMq0#d+s4ACAPB0#>QJjba(xll=Ak})YQO#RyoR+v{l>R61ER@p5*}W z@y!eS^Sig(o-Ybi3GlJCxR@0MDg<~L<>LPas#vG6IIlR65l}*F@m~Rnh#DFi1{IIz zG!f@qRZED7To4fvSJgX5n~vX<(zY$bc$G*buFG|;LWOP9+}ymwu$}i6ftrTUh0EH` z(o&TBd;oxd#cUSor6t6lJ`%saeo1&ZI}wY;R`Om{C^;63t%&7pODZ`xlNcQ`q{oY_ z17saQdb~)C4jHNB+>BVxwiLoPRp>sgwzjs^ziZFLz9YvD1S1zc05I|Vi7_|%;Zy48 zkKpX=?2_Chc>~bz_cw*Z;Y&mW%d)iO{I`>V!@)9t07y=bXLkE5qC_Mt%R)RJf2`~J z_;#PNx3917elQrUSCl_nnM?+Q4;}&lu3f!S&N)9Pgn$qN)z#Gpi6|_kT-czHh_s%b zo@bFrGIAcR0VorVwss;a_;2_aybCZf^k%aM_h^HNHYr!W)>-RS7(=mY>M zB^<|pfg5|hUMPwJAw*tzq?8DSLY)f>3sV5@0js}US6A26-QC^GIah7lhHcw0O%tYR z!ks&glehGCQi0s+j=&!eiU3bt)|=Mpx9xTE7ZNTpKHG%eHG+8SbR;iJ(g zbX~{r@GyiBV2pt=23N77C^=VEH8+~3iRtO-wN3$0KQ=b@y0Ws;$2kXM3`CSGy5l%` wb#&|NuDP!3dbX>p>l6Vf2T)zu@&9Pa-wbY;W@~WYRR91007*qoM6N<$f?f`I3;+NC delta 1220 zcmV;#1UviT2JZM8$}SF`)$W|Vz+h^3K1d&siN<^An_F5_&0!O z)Rzj0@&v6^_TAc(I$N0sLo3 z=ZkFd63@j^40}KQ2>0*a0cow)xo@w3e*OJ40Py|E?!&!@u(`Pf7djm{-?;$W+pmM? zI)%uM`43r6p7j}o0sbt6e*Z6+22+qWNS^Ly8Gs~7pjNAaW83VTpm~MA_fLwFXBc^Y zV59)P)^4DG(Ht|Ks}MkQqY0kpEpD(Z1KxVI#lFra=S1R)=jkxi_pC2DXQPY``*5WY|vOL&2R|A#gN>C1efQAu1xxKmmyvQ{F=jbG(8OVYS z?z2$QichD3bW?ExF?A~qtN@6tUXrq1`Y|p-Y5m_d5GM*E+K!Q0T>@FXxH$%ZHJ}oG zh7#b@QLLbMJeH|4ElBOf<TFDo#blP+`oVNbxrWkau0TAG#qBuSs1K_$Ge2NdnaU|s+E5f4H zO9>=7Uynj$hefFQg=C<$O$(llM$lMaF9M)?V8B-P#0vZX9LIq%T7NQOT{N3b6rwLl zh5m&N!w`Yde6kRzIp3b`b{qQrJ{Z`4G&TajgUgpLeNd^^zQIzp)B9EEzV+2D0Y#m* zCI!!lQ2ZziSt|m-GEJWEcDpQIY*kDf2m{8WgM&XeHa5QAe&yn4c*7ctFbX-5J=a2N z#YDZ(pFWHzxM(U}GSQHXLp0~HcLf05`S)lv`VN)f@;vV%5%BhvE7lJW9_+Y(uIssu zVm zfki4xN@*jb&J;E?2NkCP!N5%nSC(){PvGo3)XB-jBg87Se}n(GpRfN-PPLh-6~BUU z!;JHDd;>RCRqgZNevBbOq>n*>RaAgQfm?#JL82*u33856waU5mo#balTMnl#^>B_K~Vt_ zyW|Jk_f%)=o_)2u+i|M!>@c}sb9rJc@7JlUnxik#5&LiYLA$%3jAI!$Z}c`@wmtL! P(1#43u6{1-oD!M<0NjBp diff --git a/data/themes/default/step_btn_off.png b/data/themes/default/step_btn_off.png index 2948422e90dde7db8b0dae3df60f71b3965f90bd..5e40d3e5a2fb557fb0f4bfc01082c6721078637c 100644 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf2?p zp9EpX^;?ho00kvWTq8)^mS#w%EZPcWcn#aY8g;Sw!}4}#5q4VH#M(>!MP|ku_QG` zp**uBLm?z1Rl(iUH{gAWY93JGD^C~4kcwNSL4oU<4R|)+RI%WZzj)8pLP)$u_)?zn zbKUpKxtblWAzdA^w?lWX)6UAhEw*FD@$=2|_wzG6xW|0<4Ojp3_nXh1OpQ#Mm(IZ8 z*q|wtu=FDvW11nK@WI9<|)pJ-Ju`!IteBTy>Hges)`=1)M$Lx7+bk`iA|gmEEE2JZbU_l|cp9>vZ?* zcyKO1u;TkN{m&B)7~CoIzTf?nyXP@)^UT6oY9380J6KMB-toyp;y7p8vFh5^`}4|l djg=YxFz>9Xo@-nfbQ0)m22WQ%mvv4FO#lhUk~IJT diff --git a/data/themes/default/step_btn_off_light.png b/data/themes/default/step_btn_off_light.png index c069d5e98d681955711fc2ade204970571499f4e..f8f64bea851ad832f7578fea037597febdea6598 100644 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf2?p zp9EpX^;?ho00kvWTq8NdeD#3Crgl-=kKCEOq0T4yr8l$z&1LX(^>bP0l+XkKF_uF_ literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^JU}eK!3HFi66di4DYhhUcNd2LAh=-f^2tCE&H|6f zVg?3oK@euFPl=xh6l5>)^mS#w$}BBxsBCid*=(SYY>8_`iF1B#Zfaf$gL6@8Vo7R> zLV0FMhC)b2s)D+l}vYQ~zgn-rknTB&vAU=k=~f@-oK-`QG)_e^gT7aJ799 zFVdQ&MBb@00dirVgLXD diff --git a/data/themes/default/step_btn_on.png b/data/themes/default/step_btn_on.png index 7d520bc74c8b5a891734036473abf9051298bc27..fc7fde9f7928cff2a07d34b64f0a83a27d288283 100644 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf2?p zp9EpX^;?ho00kvWTq8)^mS#w%EZPcB&-lPKN=_`TjCl~;+&tGo0?a`;9QiNSdyBe zP@Y+mp%9Xhs^ISF8}L3wH4mt8vZsq2?p zp9EpX^;?ho00kvWTq8X#fBK literal 493 zcmVp*QjZpvq03CEi zSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{QrNlj4iWF>9@00B`+L_t(2&u!AZZWBQi z1>kSi8^EA6Q93~KqtQZ{Czt{X#7jT}tvf`)TR-M!gDjE8z$#SpwuUcG(!{Gz$Y*ZF$+ zvH!G1bBChn4+w5sXvemE8@`{f`}I~iu%5&d#ozf!yS!`Gx9bj%6zPN^D;{z*uoxFb z)+)}B6iZ|jL2I-Z4j?Ul^{HP-ilV9Lmx|xmW2k4D8Q%Z=(BT<2igPS5Di*@b{BIh# zl)$Dsvd0eRRZkM^730hx3H6?9VP8cym8q?{I*{dxw!?$jode^D@s0)qf^>xR2WQyT z+&Ed?&Q4Dv*&-m+<~*UFYA6`yzc>IS!C2e((8N^?KD#mKB%SO=(n)$*Z;)ik7n`_> jp`Erce!YLSPgnduyV$4&Pc_*L00000NkvXXu0mjfnDWi` diff --git a/data/themes/default/step_btn_on_yellow.png b/data/themes/default/step_btn_on_yellow.png index 827a3ca1abedbffeb2d837b10b4fa335575c5994..cce0c10edab781049d72ada6c5d48d00c0083214 100644 GIT binary patch literal 519 zcmV+i0{H!jP)`E)a`ElPjUfJGWiVoo71o2!IjhSYNAYnkZm{!gu?_E z0r?IVoF$P=`AC}kK@7*>5 zWl7)zgQ&s#5oQJeYEx1zautafa02h7T20}>3@3qPxlknv{Q!^2riUtkkfd){{z-tK z%alwc+p&J2l!P=-Bue|~{p=#}>M9gRQuV~jCz-U@ZHxivzJ#XI^rZv=Z&4QW^)cMydFcS;>AT z5g_wEN019RPEUNDDLJC&jYO)|>v${9SJd#V@k)vj3>}h%x{G002ov JPDHLkV1i_t-6Q}2 literal 622 zcmV-!0+IcRP)WFU8GbZ8({Xk{QrNlj4iWF>9@00GiTL_t(2&ux;;YE(fG zg-=y=_no;D36Xh#c>)72+{B%E2$%W>qPr}#LEMS>KyKV9h+sezA}Fq+Q3;wKr*FEe z%0-xQ2&q*;osX(h9LhOkQTc0jTvB>mo&*QXo#tNU#^mmn zy2{V`aqnB*{ho;B)CSw2zAOQA5AM)w>sTun4j0DgeL$eidy^ z&B@$pe|Z1ppdPIktwBvWLXaR$oO}Twf#X5_(;e1N9}eruq^U`8wyH)|RgPPU)sz>& zRL$usO@{sXyM1w{4x#>TfBT{}!k_^H2LIon=2Wc-92}fWbkQ-=nK&CeY1NiS6m1Et zaXRV{;}sq?bDzL~4xx=HHUXPJoN?~q{7dFthcK_IU2r~K=kYLTOJj~&RU;E=HKipG zAkE;ZSZffdnt9vYdHg!hGKED7Z$7*{+7~1K4+n1v$^b8CLI3~&07*qo IM6N<$g6m}kYXATM diff --git a/data/themes/default/style.css b/data/themes/default/style.css index 0aed57e49..006ff6164 100644 --- a/data/themes/default/style.css +++ b/data/themes/default/style.css @@ -300,12 +300,12 @@ QTreeView { /* Plugins */ TripleOscillatorView knob { - color: rgb(1, 114, 216); + color: rgb(1, 32, 64); qproperty-outerColor: rgb(0, 0, 0); - qproperty-innerRadius: 1; - qproperty-outerRadius: 6.5; - qproperty-centerPointX: 13.5; - qproperty-centerPointY: 13.5; + qproperty-innerRadius: 2; + qproperty-outerRadius: 7; + qproperty-centerPointX: 13.0; + qproperty-centerPointY: 14.0; qproperty-lineWidth: 2; } diff --git a/plugins/triple_oscillator/artwork.png b/plugins/triple_oscillator/artwork.png index 0c6db17685978e9ab51a0294f1cd073fb4e635fa..e3ef38116a55632aaf9b2be92605e066007793b7 100644 GIT binary patch literal 42941 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 literal 24334 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 diff --git a/plugins/triple_oscillator/exp_shape_active.png b/plugins/triple_oscillator/exp_shape_active.png index e9b1345348d23cba9c8323c1fb44ba62a3bfd2f3..af1f24a97a4ef7018e8e03260c548b089dc3c5d8 100644 GIT binary patch delta 388 zcmV-~0ek-31hWH>Bo78+OGiWiasadd&0W*r5s@(%e+P6)O+^RZ0TmMmBTWILegFUg zKuJVFR4C7llCMicaTLWr-}~NvxhafIMKD;$L>v<)B8x+l$z~HlgCLsx0~W<1h(?QG zTeXNqqhPRVQV>yuDRbMq*Wi!f-UBb3^x<$0hwF-^a(6JF$AKf{%Jj zP(F{gf1MY!o%~g^R1@upSl1H*U&P|#SzLUVlz~hJAtDjLpI?qbsH&4F_%U4rK+3bB zJWwUl+|7;v(8}bZk`Yx6g*H3}KqogEZ8oz|m>4S%Tr`M{&qSMpAm{;aD|OmeXCzOL z>D=AWT-^9ya&uu7e{hs^;{bs4QJqAwLThfRYRBvg{aM=gx10^^-em0K})NW?#Qyt}rp#O{G$pscl1)pMQ51!r zea_kMxi=+}`w@l%Axb3>BS;d0pjkEz8rPqQenI#`h%upQNR^aI6FxZ!z~I~jmFh97N{WBOZcYe- zgg}Uq5F@Ln&yc5QC~x1O*B1DpN=%6u6EQ|4hGDo^0e=?)LJ)xfoRS?0ARKp|iWyrm@$^^_yYca7`Rpdbd!DVK4u4$iY<7VOxW(Ex1%)lLU|97_Fe*g;N=le_) RdeQ&@002ovPDHLkV1gh>{(Jxc diff --git a/plugins/triple_oscillator/exp_shape_inactive.png b/plugins/triple_oscillator/exp_shape_inactive.png index fb76a8e5d9061e0df22b053d1fbf812e61532ef1..4444a8a41bde687b2ff002fc115a064745075516 100644 GIT binary patch delta 294 zcmV+>0onf11l0nNBo78+OGiWiGXOIHGloAy_K`6de+P6)O+^RZ0TmM!D?2V*p8x;= z;z>k7R4C7#k;_iQFc3wLLsldpLF={>3t-I(@&Dh_6;h*8p%NQJi0`my8v%7#bR^4< z@$sEIb`OtFz4ud`;mCxU4MP$Jn8fRLYvs&ONuTa42gb0bs{ODp4hsjD7bz8tC<25K z#!^Ufe+4H-O5$W#5`|2R`TaR(VUvyeoiFZ*F^u6R>+P7vnFKsV9ncV!_-K*}N;0?`DJB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$R&PhZ;R49>cl1oohQ4~hk zK975DJ1{ArSVQ7{Y(f%x+Ot3@}x01_KLgoi?r3svl1#q%x6WB!q~F(C=NavDpQKtZF&e zt6uWi+=@;vLvgL>rD1FAx3gm0zgcWFptEdAf|#MCg!sl0JGVYR3>s(>QIvx zju-=~N>Ee055%yf2$3QNM#CWhDD$Pj%Pc&^m~_lKKvk6Re^BpJY-cy!x1OPN7RdoRF>?$IG}7c zP*qmjZT4Tj;_&@D&d*Mz*=+KB|G)r(nOfOsaDSuAy;h60&KiwobLkbq%vj&(^7_qN z>t9|n88M9rE`VV2cx$_EG#i+zn1QMS%T!e`L(TquTd=jT2Dk)}Bo78+OGiWiasadd&0W*r5s@(%e+P6)O+^RZ0TmMnF*zX4`2YX` z#Ysd#R5;7Uls#|MKoEwXS=%@{6p8qRE__G?3F$%+r2!>;R8&y&2k4Nf>1e3(4``5R z_yr*7LPY@*6m%#h3PF5?JBz!6i_YF13g6j21hFAVnP#=`&h9+3J3F$pypo(=JY|eA zhzP3ue}iS4oO9VsK~-~IwY*jYm}t&9;y8A`0N;Bf!-1HLM~`MRQeQ=+YD;?YD(Sgv z)5i!jUOi!U(4lkX#@I0-ymuRb>#)*5TLUZ_Ht$7HTbgewUE| zfq)5Tkoi{bJAeKH@#~l9(kc>!nK*N}GGS|Ne@&RlAJAqQ=?QTK4~?OEA4>j|;GP>$g7phuNbO>Mv^=f62f$9u;dfI;pB6 zXO~x!qtP*+1Gb&+$JAF~HyOAxp-#rEuTSaawk{%5^NGLy;nu3`C+EJ;z{J2Z2mk;8 M07*qoM6N<$f&%{fYybcN delta 826 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 delta 906 zcmV;519kk01)v9zB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$T9Z5t%R5*>Dm0xd^RS?F1 zGw1A|rlz~nSc^@d20>aPtxXUqcmdu@h&TEfO!zX!uOi-x!hZ$HO2DWsO;FkfwbX1C zSnY0i&x{vm-?zKsg>jO3PtO16JTvpWa{8^M!RzzKMO6_I-1#4tH-3#y8WqCrtrf-0hlil8DOiU^1Z0*rh{usQC9gS+AG zZf2PI7}#p1!hfLOCpsd%-T_aaJulBvRYD9r`{-kQc?E!Y>nmQneVhGelixnMjz~W0 z_-CKeo}Z_4^%}bIfKy+5PWg0qHwPF3Fvr|VMhY{BWKIOA)vDBMwIMHuV4gOb=D+nh-?V6-IDyW-O2I{CqRvabF5UGt>bp;vsMpCzJ%5M79mjFA48~prQ>|4=W*JNj zRbsVLPKF^Ekxacm*+J&#v8gG#Cr{!BJ?M0hBhyrCb*NRbW&`VVkm+f@y|9YM$SZeS z%(nOV;qv?9F>vbMJ+E(XVrd*qrCPx(p#Y*#iIEuNSX)?JUjtxoZVp>KgKlg3^ zf!a8!}Mfw^AWi7`|2g6(PZMshleZ%Eg2Lbgvi@lo5=UyAu}_ii|^rkZI*6*?IA=$ z41_T5qJflB4pXuLij+B1R7x4s{Vu+>g`9d5fPa~t9Uc|QE@5nK32r1W1PCewRWL_% zEJ~<=r6Dte!GNOB{!L~CsBWz1PPfa^{l5<9R2eO65#j#PIsEJr{>#tk-4+~~=KlE$ zf=C7`jJbJEYz64|2c(on+(;?mBVyLr-p;o@Sc5?-FE>kLPx!O(GVKqpff;YyxZ!8+ z+<$TUebT$D?4DjIt7*)W;qJ)7*`>ji%U8l5&pWthYJ=uj#u$hp=C}qWYD9w!MNm+3 zNTd`!FWaHudDa!MlrT%ALBi7EV<4;Ymp5-(bca@}Wkoy=6?3SP!~cWhFUY!xjP;B4 gK61%_HOKiIn~<=+<1_O000000NkvXXt^-0~g3$-D7ytkO diff --git a/plugins/triple_oscillator/mix_inactive.png b/plugins/triple_oscillator/mix_inactive.png index 6138a11cddceb78af5f3c3e875c5f483b5aa9432..57814a8a631ca585a77a92729fcac3ea8160cc14 100644 GIT binary patch delta 478 zcmV<40U`d32aE)eBo78+OGiWiJ^()eNU&nomyt0Te+P6)O+^RZ0TmM(C$#_zdjJ3d znMp)JR5;7UmBDVKKn#XI4^UDuNt+r8}ewtLv^`#(*OO@$(Lt052w<2?{ah>{?s zhx)?U9y1>QzdiEn&-3Q#=MOQ)AR?%8fwV#1`&Ls>)!weU?^BT0)!DrFESF0SMIisE z3|}I$fBgpB%w|4RL{4p874H-)2f!qbNo-2)GS*d%5kXPr^Y7#?qpEABvm3%7xhSp1 zE8*GVt7lW!trEw*y{^_}~PV9}3`{GN{RzWcaU`z=wjl@`^_J<7(jTOGb72U>fly~HyrwQ_M#{e5v)x~Y>F{v zM3gtGiv0fjyh-Pe0beZH^0f(7p{$+nIHIckIM;U3bL4QWi^xFl_UjSo#vc^rKb5TR UJvetusQ>@~07*qoM6N<$g5e9_qyPW_ delta 885 zcmV-*1B(2N1dIoeB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$T2}wjjR5*>Dl;2MsRS?HN zGw1B?ML=OMpfxHrF=>lwA)@iw{^Rz!Jb*Tunov`fl0Zx0!he{&H~l*?;%>n1kfd^q-k=c6R1b1h%#w z>EZ9M+r@&aqM~R}RF$BLsG=gM2#6vAB7y*Ok2!3P`_#eRaCbK|%={MEvM6XK6QUzB z8ja~)Ud{GWRewSZoS&R9xb6e6Qg^xc*%wU4BVPUX5*5L5ww~;8*}LHAkJl`J_z_<{ zc*yMP?rsjy0x-wiW{gbD9FjQ^psGqbRn_ux1IFEGCKCYqmpwY2ihl2$$#~SJ)Tye9 z<>h7Sy2}TPODuFcAkyXv%pJ#Zvkb=Wf+?$#WR}6iP=6B3VipW77!8WM(^*(xI2a%* z^!rz+Dn(H;91f^D9Y&)8P1E2wWv62Q`E$&T&o?(&UG4JXr+u+xY=5)s=7y!)V2ZN9 zEM+jFP{eqPnHU2qS=1|a&B^gG{oVz=_wQM$YX;ZXhzLcDG~)^H-k##_ltn>zZH3R8(`yM1&9`54OH$ZGD5`aKQ1KBdSh^o!wmzArfLBgxf9}NGWA7$r=zHkqY-w=(PFoj|Ti?_9K6l7}HOKh}peN8-lW(N>00000 LNkvXXu0mjfum7!= diff --git a/plugins/triple_oscillator/moog_saw_shape_active.png b/plugins/triple_oscillator/moog_saw_shape_active.png index 79c78a9c8e70a5aa1e5ea29091a67835ce99256b..5cabc3bb2f4230691f95735604b57f3ffd743e8f 100644 GIT binary patch delta 415 zcmV;Q0bu^$1kD4GBo78+OGiWiasadd&0W*r5s@(%e+P6)O+^RZ0TmMq1v9y6j{pDx zT1iAfR4C7lk-JJmK@>&To!oGfm{^GM(Fqn7K}CZPd=(-nSc#=rXkj7PSo;C`16J08 zC<@jpVxdLAAcEi*C=#Cu8u89K7BPY74Y*-oW)6$J_l%S3N&CrU5=Ye`K&o0-aq8Y>(V!25C5e ziFvFSBYeE~7q-?CqSPxtvy6FuAbNTLfOoV*fAl@a%h()+=62%S8`ZJP&c#$8Ugt2a znf)qkU5?3trKamuko1XPhcl1)pLVHAe1 z^L)(nI@1J(BZe_4ffPX$VN~uaD*Fo}l1M+P76tx*N-O*WEq}swK@fe7xv~$4SvWH9 zyw5o;Ua>_TxHyZ$%~@QxoWFFr>U27Yned-6vm;a$15B0Q{l10C&IIG*C;a|kKq?X` zMnZ^q@A)`4M|Y=3b2K8WTFw=Dl!-Btdtc09NR>0gvSd_MR5_DX`PA*=*B?=ZyN)=Rh*jQeISOKucx}CD_5D>dIiAnSer(SN5mKj z{xEE6I46j6?5D(VX&Kvi#*8ZZa+AEY%$wOW5CYx@ynpwIcXc>x1``~@x7&BnpFf!I z?ckl`#%_<}>rc?T_jrBtmh`>HJBJtd_p_O@J3B+Vw!q2F4WfXEAmW%mINaLiDo}4#1vAv_-`axx0r{Nx U)U9SIOaK4?07*qoM6N<$g3-+lhX4Qo diff --git a/plugins/triple_oscillator/moog_saw_shape_inactive.png b/plugins/triple_oscillator/moog_saw_shape_inactive.png index f4bb000f8a24aba493e0bb2b0348bae34ac33bd8..b07d863b4ec74f3f1ef7444359cb65068fb1c761 100644 GIT binary patch delta 303 zcmV+~0nq-^1l|IWBo78+OGiWiGXOIHGloAy_K`6de+P6)O+^RZ0TmM*0Wnu800000 z>q$gGR4C7dkljv%FcgHpb{hh+dL_PuSH|~$BBDqr0om;wFBDuBTqkMz`<*i#_x$pD zuBr-W=Gc*$EkhCpm_*aI7M`j{(kBPlvVE*6kJYmG^TNTyeM%llx4XD6=MWg1-HOSi30(E zkY(f-59fIp2B2P@Ny5*a`&iR9%_jQtSWy%O&UvP3TGE$7Hl!bm;-QEBI002ovPDHLkV1kdI BilqPm delta 569 zcmV-90>=H`0@4JKB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$R&q+iclFd(3Q4mMZ z+>du31QuXhM2!ZliAbzqb?t^k|7qjGoyLs@4H7J3{J>IbNq;2q_1+m5HMr18PG&VT znf#7yZufJ$-A2rW|CE_spsE;Ps*EQS3!Qe0rKM&6^ZcAtCsK@r5b@q~{Pi>KPKOX8 zMb%2llxZQxNEsZM!;oAGznX?=&g4=kstk|6aWweA+2jmF5D^duP7o)kssw;KC7Pz8 zPKi1tP~+3b0e=9gs+g;5iYg@+iqC`?DMfJrF-1ZZiB&~R6@!C)>Us_UAH(dOl&I>8 zDpjNuQB|Cp;(Z{78ROxQAEzUF_xk`$n}#aJ3u24}A7;a*hI4{AN6wjp_j|0}?6Q2R z#d^2P+c&Ryx4Vn;9`6I*d&E0bl~A;R2@c_Ke~-GZxqo&04&FJo`h8lhHm_d3;B+*S z?FSDnhJX|I_p+HXJ{>U`kJ-3;Z?;_o5yy?Sb#@*vMNMZ?n6a?1$fKPdTe-Z-$?&@rEdT^FHRnCo*SmC9ui%|WoSWr}{ILt1 z^KACEEHXC@niT|-jowzCo1e$Dh#9CVFzc!cW~kY}+JgNC;1~1s^I%yY00000NkvXX Hu0mjf_Vxk0 diff --git a/plugins/triple_oscillator/pm_active.png b/plugins/triple_oscillator/pm_active.png index cb37870f1704926eefe6cf549829fcb8494653ee..b8e95207284b960e1a225d1718bd8e2f52e97f01 100644 GIT binary patch delta 533 zcmV+w0_y$o2Ezo9Bo78+OGiWiasadd&0W*r5s@(%e+P6)O+^RZ0TmMqIULp%2mk;9 z&`Cr=R5;7UmAh^eQ4of|S+Bf`2o9J_5(_I1mPo)vt|%x7MS6GuprhakD5()oKtT&7 zqDUkf2$F?RDoYe36a=9-BE)PQBOAwd&KZie!CS!Y(qx*Wx&M3S-#IeBQ0~tbW*ok0t82JdmuOwN5w!HT@t!{VXAff)H`WJaPUB>! z(EU2J8c3l;fA%ut7py#t@*Ln?tH=e{}LCoa|&UnqDWeg|U`I<4Jw0;yrnQ zv;Gc%_PI-8=Irgz%Lg_)Q$qK42GfYVe5^I`zzl1d=_2;#UCjA10OPxxp}2Hy1DPst z_SzD1Y=U%cBgBlTn{gA-Em!0)SA@nc=?`z|zIqYzpV+Ta2Wl4<1HG}O^>|n?#v}ui zdwTzd)bq!G^*3KH!{Tko&!OE8&D9m*`kh#{tx3okF^ADX-@XLEx7HK=z@;rR^;MBxql`*?Q+CY_rDrffrEa_jw00I8SM3teRQphNJt;X>qxEm4~p^& XadXoN=|2~g00000NkvXXu0mjfTFd+j delta 858 zcmV-g1Eu`K1n~xtB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$S?ny*JR5*>Dl-q6`MG%I+ zs-DBHI0OMLP81hg?|+Zgag3@VvOU(ICc`P zlG(1}qUW^u22oN?tGlMV|Ng7$m$fS!)q5A;RaHeqaOZzm+GJ*F=HTw_x_dw7ASu+W znHfh%N1lnmWHQ$KyASHkf~umTXi!v@po*xXBB%(6A_5|U0KHESo8#U%xEt>7W`>zB zfGzTzc~y})B7e`Hzu@HbNqd&660$(186i^+KfM8OU!ZxC{QVcj_BI!O_?|pQe!lS; z42L-I`d44_*1@0bt*-L)<4*vP{XbZ_^@Y1R=GHROm^nmqGJvuy7?fqr%fG<{c;iiU zX$hZB;qfstUZRxej7G?Chyc&lE-^egW`DN6j*do&sM(C+V1S#Gm{|l< zlm*cY1;|1{R^;SG-i~>Zla~c~QM4HdcelB6>n3{VHUQ7Y6Uwsevh(PG7i$yB!2lbt z7% z3LG9%-2Rr;gZ-4o+FpCO#}wH6;98pRJ@jeKYsdl~6*MBTSL}djAjX=RXmb>4nQ1yj zHF;yi_oNqhZk`HT0jg?FjIrm|jTU>rnr`rP zfE(sr{@sl7r+War^59q8IxyDjq%$53cSpuoH>&F&UC$mrd5YHu2MvS}x*`q%2}-6J z8dIbeK|#@)orXbg$6D|_=?Ykkm__0|VzK|gq{?4!Zd&FJTU%S!WTaEfS|w|$9X})M kBC;@V{`cM`|J5AlA0L{dd_GpF1^@s607*qoM6N<$g04%M%K!iX diff --git a/plugins/triple_oscillator/pm_inactive.png b/plugins/triple_oscillator/pm_inactive.png index 8f9fd3ddc74559f62c8776401ac703144b7d78d3..458f49bdba1ff9852f9c8cf05a0494c2b398848a 100644 GIT binary patch delta 449 zcmV;y0Y3ib2JZuqBo78+OGiWiGXOIHGloAy_K`6de+P6)O+^RZ0TmM-Bh~>5W&i*I zd`Uz>R5;7UluvKlFbu_iRAeWqg%0~;tUU}{Z`)z(_y0u05V$}SXRxhG+`*BMb?dC| zQeG_SQRd?#Mfv>o*57>kXpAw42&(*t&6i?~^G-ok^SSCdrXVwv&SH#oU8hzAj{C{* zA||Kre~MR^m(eOBOIP-X9S_qqD~D3oYXqfnEdclTKhPLwtg2{S%dy`vc@My5vthe^ z^UoL|Dz=1w3<2*a>h+p+Rnzx}j5V&sPa`1&0P3pB*ffp+*p-DX3uGciieFRwK(T;&!nJ@YY`E=-{%rOCi^6r5XyQcb^T)kfAdjQ?z%gywa-AZ{K|=Rwd1v;xg&NG(5+jS}!L2<=d@qUte2Z*mm9bU{zu8eN1In)jZC1 rCtjQezWy=RMdY`A^4DjolK%e-ukzOiwBa_p00000NkvXXu0mjfWlPna delta 847 zcmV-V1F-z>1Lg*hB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$S<4Ht8R5*>Dl+AA(MG(b* zRsAvJm58F)>%|EUwooLTC`96vEBVLC-GU1eLy??ttcxStcL(dGm&IQp@ zO=-HiW~yJkdh+S>7v1T}$EvD`2=4rkRg=uDzB#!2xbMClbC4Pu_RNgS%S(?U@bu}K z{_ytaK3PyzR1^)0suENYRa68O0Z~LiL=a%>u~nPnJ{Y(g?(SxWneP;vQ)1I~L`UTI zcFpx-Ietr334bvVH4>t7@zYy2>vcsAC+CLy`}@p}9uh*}o3FpZ&2XI4Po8l9!9IWe z`3D!j{sKVTwmdm|=5CI;jff1(9Ev#+plLE~)AYF9Ehb>4&~O{SQk^>8NUM9OLODJN2s zNjZ-#d2lf0^OrA~&OSs$m|tDdG!0PWdy@(CdEL9dnzJ{V)K;q0i!_B!$XV0F~wrw8^BPt-wW;5KK zcbD&oF|xmZFkU3|=wgoO4rNdQD?Kus&4yvn-hY=F8KG7UtUTJFFjOpQwt{KTamOLkd z{~Oer?BlY1f@ntybG)O$(>>YdRRbU*cp?%C)~5!!9$UmFT4*}j#y>kY*4om)h~TU0 zH}HLQn)~s2 k{ftwLB_g1Tgp{hl2la4}q4iiVZU6uP07*qoM6N<$g8vM+#{d8T delta 570 zcmV-A0>%Bc1JeYMB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$R&`Cr=R49>clDleEVGu^w z{MUUBM#wQo3q>RqFfP1Jyx z7;@M-+5e2i&IQDQ52jgs1GD7ZrOQpf-$%@Z|BRXKMO87tRQbKWZsBl$jM34a-y96c zRVK$s2odi+B7$>ZY7|xb;~XpFCz)7UqAY(ghapWVYz>EOHw{fG6jjs=!~g*iR(gl{ z@$iwPyZ2?IQ-7hV5&){484ib3IaB3Kiir>c-a8P-r_-l!lhdNhUtz3IjEPbd2M}{4 zq)1GOm=h^yQkAK@9TsohM(#`^FJD;y?HdD#!K11KHO2ct3~f?~q!{=%GQ!WPX?#;S zIycMlx@IXQ0K5+^Y-%_sh;uma!FxWQ7{?~3(D@HsTYs46fGQ;foO1w(qlJqWFu@_z zA@KReP4bni_}8zv{%aNI9J@~xX%~;%Z#Gj_dp!pC9^eIz%+4@jiUhX<2qLlv8+*;l z_fD7L<0q8G12gil~A(!PHPwM0d?800c9&(Yj{i*;CH1tuaznh}&;$?E*76 zHmKR0c{6SYx3)nrIdkD+)9H3GEn?Q5!_HZ%3TCY^|7r{N7yfPElcKTW2LJ#707*qo IM6N<$f{3X1_5c6? diff --git a/plugins/triple_oscillator/saw_shape_inactive.png b/plugins/triple_oscillator/saw_shape_inactive.png index f7e679d54e616b0b43215da41d85029394a72337..e28c5a3159fc59ed763f70d35ad0b0c91b9775a8 100644 GIT binary patch delta 289 zcmV++0p9+=1keJIBo78+OGiWiGXOIHGloAy_K`6de+P6)O+^RZ0TmM@JK)4jNdN!< z-AP12R4C7tkv&htKoCUV1>2E0L&YU6Jr&~r{~`($B^F8So1yRr2{<9Fw9T#F&FpM= zd420rN(4JFQ?{p;gaJ!@Y&I@d>4|*c4rWTn0K_`+_>gmfFH%!A1GL}o>AH?s zCnSZ%f30BCG?dj6+W_P&id(@LW4}b`jY?u6>mt~;EnUvU7>RW{n@ggwJPVF$KcQ22 zk(K`qo-2nQIvkIL5Uzq_V1u%zP?l9iRhCy3$G`vz4@A{2B!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$Ry-7qtR49>cl0i>XQ4oc{ znS1ZMZ3C?sTF?X%V~o@W0_uWDg8x5ijEWHnw6GLZXa$t^y?+@Ot+LQbPG)uToyi>O zZ9Oa7?Ka{r{Ab+#ugnYw+>G<#&|{~)$il+iaCLo6u4Qsc#Fz*nAR?%On^T$j&99$) zJw4<8$|}|1$Rm!FRmIJCjK)AvMKmC)1O-qKxEzf*{QODEvShK-aWj($P|KO|cuXy4 zYB^J+f*2zqD1U-*+&|=G(3e`h!DKQa=S)=@3XpOl7Kv08q+C$sOi|0A@c!)^P6mA* zt#$oz?}>{DMT(di(cB0jlHycFOcW_H8Vz~(`W2$e&hAT^tvj5ZegPnanc2-z6+{&c z(_2saeGU)y=`1breES6{Mk+Hj1OOz+)LdBwE+|4(PJh_@xX1bTZ>;s!>Gry)1l$b( z6`hjNTe7=xb@_w+4@Zay+dI2-mX{GxLE*YY-_^?xNyzA=pDgP!7r}e&}%atYNcetTJLuEWO4@o*&xPsIcrJL znxCT)M8tU2Uj|?QGX2TalWR^2@gb2m3VtERa~Ar*d@2 z-_HK~lyO7^lX=dA#~BiZ*{B)YS|Zjxe1}vTe|J}$%-&Y?sA+ux z4J%Z}UPm>*Z%DltQ(T&+Yh`OK0Ih|^yJy;7ANdQ~te6P~0$)awGVQpKw}| zlqRO}2F5kk{)9)rzH4=7&x+u=G#;?}nX9q)l)wZ(@|+hpqtkjSqTEB4{8v)pB>}F+ zF*cTO|3WoSyL&=E9!IS;dSj<*OGH2wsk54b{s*MDwJ~}TQ8)kq002ovPDHLkV1l^) B+hza& delta 602 zcmV-g0;T==1M>usB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$R@JU2LR49>clFLh#Q5400 z`<(MVu9=VUUZOz=Vo^$HMu_FaK{SmZkf@3OP|zqEMUc&chJU>wnrS#m(lF_Tw**Vf zd%f51?A_q=F=@e??9FDa#o977I#yJxRm4pA56tXp$FTJ1J#Gc#1iClK#hd_2qW!aU$W zKtwou3!SN%M>>&&aZjG*3yhlq^e7Rh*jgy;dV18lv;*6Y`Ky zNdoE1=cJb>*-BH=Bst*1`7!x%q^mqOH98wjS`Q!4zkjiT^B(U5!}U5=?DFwsKi&s? z2rPH?5UyRPneQn_jZ~XE49v~pMDR{<&e7u>_WBjY)D+P>#5vZlT$T3X2ZpyBhstJU zeZ+#9MYYRZWSUuPe&bL%z@ zkk-4m3{(8wBJRlqGd1TuNeE>&=Mm@1UJ)k#Z1Dd6JzBxrg@49lR~rKMh>{N5A>gRR91007*qoM6N<$f`6kGtpET3 diff --git a/plugins/triple_oscillator/sin_shape_inactive.png b/plugins/triple_oscillator/sin_shape_inactive.png index 3a84f66af08e32d92528e7650ca4a1153a683276..591e5a9b2c50b67832e1052078ad32abe02a319d 100644 GIT binary patch delta 319 zcmV-F0l@yy1nvTmBo78+OGiWiGXOIHGloAy_K`6de+P6)O+^RZ0TmM^H6CYB4*&oF z`$s;oLWDW60rF-r!6^W z%kO_e9=P*?TxCw!r^P+m~ ziST&S=r6{&km$Ytcdyo_%0=a(uQ9i!@B1m|oM*k+&@_)6zCQ>iJDtWNx~`j~o;LJY zS%lSPU{zG5o?8o6O>>=KF*b*V{XQ|=shEm0B^%{bS(3mE9hWA5zRzn5`~h}~ozV!3 R+O7Zq002ovPDHLkV1l$Lkk9}C delta 567 zcmV-70?7UD0?-7IB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$R%}GQ-R49>cl3Py`Q51#0 zbLN~*2T*KdOUod)ssv0_^#A_@QJ*w1Vl5>k77!@+nb~{$Fn^)ExRUR2Wv`XB-J9Ky zRj1RznK}L=Gn=8R7+|WLU0hh`cAnE}wUg_c8ybzs^z1JoM0(3P-g~?UQ$tiuq(Vv| z#)u5}Env7xg!`i4&(WB>>ub!6q9|A&Yyut}IOo85@QU*eRdoTNnWjw7&$zw1Vr}q} zvM4wjACTuc&wpBN%oI^YDnXKp5F;W=0ElVi^msxu%UH^D(wK63JmGLWqTBC-DI!W0 zDx~zp7*JKbnle2Uxc}2#UQBDVsnN_bI=w#a zP8XjfBuQXxbAb1rgWp4vB#?x_>G27N2O~-;YqO{@KY#y(Uj72_9Eo>$@5!1OE32!F ze(eK>ca9(5zqzN2i!Ar^$IE8*ezhFV)og9=P!t7U_C7Hljkvs=vbDWq51R*3rK$uG zK~&KPOqpL;;N9*AzJA_gG#t9_Qjb=++%+!365JRZD`2^>Ey(^BvtJgFdDfh*_ z_4+wdmM{+i&27JZUuAQ1n2Iw4RRx$Ozzns=QnR-O`v+Ho2a%NYJx2fl002ovPDHLk FV1mCP0M7sb diff --git a/plugins/triple_oscillator/square_shape_active.png b/plugins/triple_oscillator/square_shape_active.png index 7d686527c19771ecd4772c002be6e0da1e7cfa19..bfacc0cbb101a6d2a909f9dff810cfa50be1f8b3 100644 GIT binary patch delta 376 zcmV-;0f+vh1g8U#Bo78+OGiWiasadd&0W*r5s@(%e+P6)O+^RZ0TmMtDSQ_3DF6Tg zG)Y83R4C7NlDkSnK@f(&IlH-Hv@j7NrHvwrL2V*fX=5c8RyMwg;LF%+Cx~4zAYv8t z5iFFD!V{C7v54m+F((5H|6abCe}f zb>jLue^DfeM2HBvxQBmjrHP_M2rMpy;71bT<4fGqGU4k3L_i|^+7^}XPkQffGmcbM ze7bWUZQW6Men^i7S2yH}#jI`!s$(Yr;@r$5=X@rtszj=qOok|9WZq9F>>r$13Y!@K zh4w9_r~8b`V>rKmXx2QH6b>PbE;=un_97YEUXcksRe4@a0{nx0P{q4!(87?;-Z?bR z0Ei1Ev7dN64^uVf!1?P7D$S$hhncDp+K)+jla1}2VX0ikLJ<42lh{&KFhet1Gq7Ku WaFaVSg&$)80000i;1EU0xB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$Rph-kQR49>clFMq8Q4oZ` z?sNLTWTTU0veB(1Vj@c3L)_?Ad=eKvg!mi=d=MA2Qb9+=3xAPllngoD?cyIN8yjj- z4Mkt7~Y& zNIW9l8-D4S8UFrlRuXCMTs(P7+1|mweFX%HQV);#{`?s`zyBa2APO3Y3K1a{VCZ|O zm3V!^!D2yY9e=Iscz1Y&*}ymi9)UNvN1y!Y}0-!3CGJkPlaM^#Idld`iokmum8tt4g~0!bu=4kC5!>qHI(07to+?e>$nTCFFt z%lBT&9ENr~&i_ShbqpyVEo;5YYFZBumq~#~;><+k2|2BAJnrQA*+J`fm6r xk(;KaKb42vBEI7cu_QqRib=nFe;(t10U=g}5y`J}PU8Ro002ovPDHLkV1lq3h}i%D delta 505 zcmVcl1pn;VGM?! z_ z@ZtQ7RvXL30)KPIx?!o4OTo;^0HqZ~gp@O-RcdK46DY0H77a6}=Z+neQZnw2dN?U% z091sU3$m#f3;x z+?{N05W;$Mk6{={DyZtMYmzD{>Euim5lAwN!-I$^zjCQ2(#LHkKhc&c=Q;Ci?(}Y$ z8Rm}9EjkI#&)y@d5J>L_R1|XqAV+v;N|cRvF-9ZR> v{_?ahS1ZCzBEa1Njt+>x00000NkvXXu0mjf#2n%2 diff --git a/plugins/triple_oscillator/sync_active.png b/plugins/triple_oscillator/sync_active.png index cffd1b3d62eb0453eb2ecd89e9a80ffaa6987bf9..fa07bcfa7d30ce8df35e6b8f2d08b7d2dc5b3558 100644 GIT binary patch delta 763 zcmV!hQ545NXB>Ysz6NzDREVsJ)XX$| zj5ei6Wo<$iEsPdLL@oLUga{|1+}R?6S_qX3XB%#!Hd+*F1%HJ_MYM1sX=;|w=I8u= zr^Ptqj1NdCI&is{^SbBU`~4m%E-Q}|78Xj1Lx@Uj-;5}#v9+vG1r!i$+m7p06%nxQ z#296IdfIjhurL#L@LxpY&3nDM>Qs@Wr&v688b@UlVz@vRdvcVtry+Fs)jusOV%a3U zh*eTSO5F)i8-F9%igEQ6EY9(3S2X~x$^dCqfw+Ip{wgwS8vw|z36QmX_SDvs zzms)~0dRF*0>Es!2u0PH!4PVOaosqB(cOU=3^7-H09Rix;>krm4kpECeja4$RtPf~ zLbeqFFz)jUh8y?5L+nRAao@27wnSDJW7i&Ksje9&M{#v`0C%HF4c7|fJ`F)p4dDyd z5g;{mbAQI0l}eRmXAo$_Zb7Kn&aRwlD6J+S7^I z-h&kQkdgNZH%4Kw9xZo_4C;b zTwTQ3D^OSp^FK)&>c!e5eaD{nZ#Yp^6{o1`pC&WzU0b2z-yVOe>QrEHY2Ff40PKVj t9m9gEq6r-&+GD$I+fm$zB*$+;egpB|C^Qh$`B?w}002ovPDHLkV1l?`S-1cI delta 1039 zcmV+q1n~Ql2BZj(B!2{RLP=Bz2nYy#2xN!=00Y}eL_t(IPnDEQXq;6P$A9PE`^`); zc{HykHI*cdm_D!(Vki~VQlYhCabevTapl6bAfkexF03f%rl1IlQde55xYDlL#AaOZaq-P0>9Pk7m-{%}|M$P&`N_^lhJWM!{(kXJNTWX9PZ(zP ztgV;<1_-LUzGfH#sBW$?N~Mwp5!kbPr<<7kZ@t)g&st+68C9Yr!8w2+3r@481i)!>Mm* zpPanl4c4>%$3j7G}s=!d!a?YmIrD=Sx(Znn|KS*X$i;+d45Z zx(hRSRm_ZP2+VhO66Z4HiX~c0C48Ku&SWzrNs@{QK7T{VM6}$zL9sZ8w0BT`=UwdD zHNxMQ>ALtk4N>6w6Hmh4VdAg9;-Se23ddhUTDQ>l@d;*LIEM6WW417j^lSrQ_R2pp z`t2#3>S$y7_{%~rhuxZDvAc&mby|92>7)SaCxOMOl00V#iLGXV4{eQO<=V+_h4?u`8?*VXt4{38Oc6L!| zY{GkwI8PkMsWXYjIE0Q%mzX~M3~ui*H+Jo+{gfbQf8~Kv3GY2S&Y$Dz$S5*6h+MwJ zgVid|JL;X`4BR>QNr|DamM@2w|-lYm4Ab)Ag_Lmn^w$#$AvVHz8sxe6of?BsPr2s)N zbAsjbc`-}3o%00m3BeOwzz2_b$G#s<<9|Gpvc?Ned<}xI!IpGhCy8OGrNmWJl0?x& z*~}R;Lof?wF#g*G6-D% JPDHLkV1gP(@ZSIc diff --git a/plugins/triple_oscillator/sync_inactive.png b/plugins/triple_oscillator/sync_inactive.png index b5bc4aea8aef8be93466dce9cbc64b5dada504fb..579eceb123b07f56aa65f36d86cd0944566c621c 100644 GIT binary patch delta 523 zcmV+m0`&dN2c!g$B!32COGiWiGXOIHGloAy_5c6?32;bRa{vGf6951U69E94oEQKA z00(qQO+^RZ0TmM~A_F)0MgRZ-u}MThR5;7Ulud8jFbsxYDYo3ka?*S_X*X>KQ2fnU$h z*nf5c;=G=z>q8hRC5Xsh_3pZT8D;Dtr?WZ2F!|#_v42isi~$j$wies6L=;`%YI1YB zOq0o{Ueg|H&QK{-#=yL8J&aCL=;Uqf^7^j7Z>K-T2an8+8JMj5ntP3G}`ffdUvVD*I2Gc$7)e5wmcK`qY N07*qoLVr zG@&$Z$>v0Wgb_ z=R1qqzH%-6wzQ^FsT7n_&>H_^j332uJYH!LJ>8e-?2HRFK7X3*$-iE&$2RR_XQ!Nc z^XFmmSV4eAqY#eg!nSQ#0+f>CWf3l5e*B2uxz8LnZ48e^K*TcFVmOZV7hqk-p-rW1 zO_hVe5Y1NG95hd>=y%%5Wx#P=Tv)w`#a!Nicf(04TAJ zr;JR7+zF$2tbf5H1HR`W8V=EGw~T?(#uhGqQ-V#@?Pe1W8S3{s1loaP*$8|e;c$R% zo4~33tlQ7<8liIU9)5lHlwf;E zr_<>1FN1H@_mw-kR;%La{=SN7FbLA<_j`u%Yu9h+AP6{jW?+PJ@my0jcCQ%ES~S{h z)KNV?BES>es8q1NxrHY`KgRLje<7R8Vnh#%U#%dQTQY3QxKt`(Wpx!lJ$i&zqk)i) zy?=XXfPZ|qz9FLPwVH9*V>BExFKmVrFcLyZ(0cU*)uWGw5%C^c;b8wU&m#<(SNUQQ z1Da{nmnVBug~gQ>EaeMSrf7WEfPZN<8)h$GSf;^QGD@|{y~&VD+%E5E zhF86Q^#?wDc&E<#eX`l-#)$HT(81*9_>Q%T~D zREfk}LbScJn^cp+&0DvP$BWD{q5kfJ2d26uM=}c;{P6HcUHg2B!C+w6k$V>HjjKt| zz<-R`Q)DqIN{K=rrX7d zC?=+aP@Ie?^G!180~n`JC>Wu;KLbD!*~qzOuAne~}zZ!z6M zPhpW9laq1MVacdodDBxed$km$_Y6~xe(ujz0 zf)a^z8u!@}jmiO$`4ZlEcA&G1W%Sb)_gUi0 zuDWwCeBV_OB?Qj?8sQ(6d*RmCBa`SfwSIdWYMxAFI}c(p)LNt6c6x1z2&f|eE!96; a7SJ0f$ewh@N>teZ0000clHE#_VHAa* zz2EQszE4M|MxE$5qb3I<`=y%@ZHSV7ZX~*g>=GjA_dKGcq<@1>I!I!mf)Jw+^uWY4 z9p~MUi(g!Eq?-~uoesO*F5Q$!W_)Ulv2p7*AJ3f! z5kv$;K?PC4%zs1y%A(k(EZM3ZB)fK+i=ci947X&{H!5cg+3Y b*@FKDZcFB8xb4N500000NkvXXu0mjfWGxh> diff --git a/plugins/triple_oscillator/triangle_shape_inactive.png b/plugins/triple_oscillator/triangle_shape_inactive.png index a0199e8f2744592e313e5ad1c45462ba2b95a9f4..e2ab7406d237c7aa352a93a3745e166b97851659 100644 GIT binary patch delta 307 zcmV-30nGl-1mXgaBo78+OGiWiGXOIHGloAy_K`6de+P6)O+^RZ0TmN0B20E}fdBvi z?@2^KR4C7dk;`hsFc3wr6x#tyO}ePkZT4N2{{I(wQ9?9^V(Cs7X_OerbU>g7Gw006 ze0+YT5CV*RgEvoDbz}?;8UgUUIfjG>H-?#26uQ zYCVIbf3aJMA_DLIW`UfE4jbW|E6P-DkzuKlPaNE3(81GS5iMvNZ;zWhr!$u$i}>MFj3iw;G@i7={5NQtmqa zL!aKy_%ECfkKzW}U9S;oWL9RQdegaUkpxtm8DFIUegW-bsrUZB0y+Qy002ovPDHLk FV1m3Sg|`3z delta 566 zcmV-60?Ga20?!1HB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$R%t=H+R49>clF?36Q4mGf zoO91Tw-u?VMHFZR5)*>b(nkOP3)JucR8uGlji`w!w$--x%zyY$kO!S)Wk2oghgq_B z&?)QnI$|dL=gjOcs)_-o%8%jDveo)yR#qPR@nk|QA~6KAEa07EJRY&MbPo|nQni#y z(mWADAf5HhVMv)0)7gx9SyHA%Qe|*?!O`J+&iiK|f{1`PaDq5NRmA}mG2T%WpvvI$ zIgjeATnz@yet-X>C<-cZL5u|{DGngSK$ZtWo|EN)-p3Pa4^}vM^P071>vWHg2qBOc zIeE;9F`%kAHO2dkkS+K&7%&-)*l%};d8FCykjj$N4_(PaAcR2Xvqjm|a83~Cm`$gg zpZ0jMyT|?I8kzT0t5urq4*j!Ju7^Xs_lS3ka?%7Qh<`z^d(3jJ#`EnRymNT(@XoQ> zXt2Jq$>F=VA{buW-LjeT{p%Md<1xFhnmFeW5kziNXtq06&gXPbj^*~}E~zpZPq@0g zps}@0EDBT=HC;$yhN%(qz{_UKKK1)t{~Q9~%+z9~!sgZvYa0!`^T^FI$cHf&c&k zTS-JgR4C7Vkj+Y4Q51#0bMM8NL@h|7V<%z>^atrcqov?L5FbD=0|!2Y!#+UYp~Gg{ zX$z&33>3kEL@yffXVB6HS_MgrH)m}Jt*LUaU9e#v_FiYNwOr-pY`pr(L||)?-4?pTbQ1qa}*EW!Cm8EY{dJB3|9Afm0)F)B$o$_-pK*wM%}ut z

Z7i39w%Nqo_JlF9qN&6eQsS54t+JhrrB1O*6R7ehYxZZCtT7QSN_WnqIQhKl_ ziAWL<{*xRx8I79&^cPndnp*{ok?oJBdln@Tf0$X8a*D4Ou%#Mc41a!)w!gU4W$!&9 zQHtChD$+ZP34fg88=q2hNx1pfZ+zs2GlTmde*XHdz)P9K&T@_9ZJn$2tw%qIOtO1< z4KR6e&c)Xcj3*s#vbpA-K6}y67Ydm7&i;D2^CSt(P)4W*b_ckxxriQ5400 zd!KXOz4xhz;ww;u22qp}hNJojQpPA#Ds%gk(o^wlXGASkUw{4F&(&kKke2m6GP-W-RW%SWww5k}nQ-9oIu=$+1 z@fg$)70gT&pnoiiGh}KCdGHXeDt-@#G<$m#S6BFP=dM&mNmY~-MM=&^1V}|9)``^X zF`AvF8NR0}OK!e?#koDl#2MLnRZvC>xc42P;AZ5&pzWUcq@?AQ*U zU*DI$?+JFG61Jx$2?Lh++3y`c`gh8S7OE`sd^1bEzLXO2lFGx5aU78ZKuU?U?eA(N zg;>)%e;!XrBBgX~mNTJg=(@M5rWE~6GLOyXd7*YbpC6TpvVivP;0EPkN6s05rx+J- zW4U@wb8y8ov8d2ewLW=%1Si;X^_6NsMOnmleeBxEw}@Ubowoh|>H){YVc^oKSS8p@ jA4Af0ZzC`J8~6p@n}?twkL{TN0000cl3i<)K@f$X zncaQ&%?CDVl70w6p%pEHTI!Ad|KHFHH3UP7LZec!C5gK;UVo%bZ#-~rW;o0l&XG44 zmt``UAnw9{;O;w`84kD^zi)3n9!$mzhx_5~{+`@sa!SOQ5E0hv6*)J=5UFNfYoY$F zq?D+$sYe_swX)u9&=?4+{8}#gzL;ZX0CanOPEOBg+7{Fh70gT&pv`&5loCI#7nm7) zgCT9(a)0-S`G0IGo!rvNEjhQ;YA8U;iP$7k(@<(*I2tjUO!)BWBjbZZ05+QqP214q zhMW^-Ml?4h-xdDNzt&2wSn6qbi6h8Uh*uAw+)O z-0=D83V?SPm%KPRp_GD~BSE*~Y86~i1Qj8upsK7_D}VL|0|vu=PG6o;tKq7+Dk}PP z*?pVe7J`V7QeuBJrr+-)vYjCU!Y*^IW|UH?wNlNn2QHU4%%)$tUMz5P%ng6oRjU9* zcXJJa6eA%-f(AsDqvPjvI~{tx9`4`{wHj9J(V)xu+xMl@?c!F&on0{=9pH}n(^I?J bg8u^%uM*}oXher;00000NkvXXu0mjftNQPF diff --git a/plugins/triple_oscillator/white_noise_shape_active.png b/plugins/triple_oscillator/white_noise_shape_active.png index 83c44606ec91d042060a98cfc27e1da9a118c3cc..2cd52eaff7fe67b061fe5d1de2eb4567f55aaabb 100644 GIT binary patch delta 467 zcmV;^0WALB1c3yQBo78+OGiWiasadd&0W*r5s@(%e+P6)O+^RZ0TmMxBYLz&Y5)KM zj!8s8R4C7tk~?n`Q4mJYec0=bHzt0OAPPhgidZ6`@GzK)ih^HBO-Dfm0t%#bAe1Tv zbS8-s+wvOL$=(@?bvCw?hLNWE?mhE1y@z{wx7)?28m=)_EnP%VKt&i$ChBi?I)ph6 zu4P%)f9;agNJ6m7ue0s@089t3OF(w}E1~AS#|j`K#+PchgEY609S7?z;@&QQ559BW zyhRPL5BfT*w^3C9f(Ru%-P%TzCTZt3w%*|6?jyK2fRIz)d&VekBkOI$#hgWEtcVnJ z(!@B2xzRzb$M5tpn|C0J!CEwmjjlDox-0mye+;e0P_02a#;6cZhxpbeHk+Z=qsBrd zLgVBL4j~kos}Uxfk^DZyjgP4O`awu1v`&BWXa6%+0&Xcl1pzAVHky< z?=pN0AZ56;mNun{3p6IiOEt#$`%QG)Wv#XG!nA0Clpzev_kX@FYP!*roSfCOI622W zeetRq3`a zO2azh#kpD(Q^iQR+3@3NMByyg<1x!xjg@zN-QVYDma%n?d9%gj_!wgiB4Rv1Jp|@H zLG~W9@(!{tv47cQ+HSMy_i23p#`W-kqT54N3DaN1D0qM*B-|bzq1}w-;Q{tRo9W33 z)B?l`m*=c|JtXTHwk07XDk4}>;WlkRH^VrG>Ge_P@o(N@Mk7d5@D@!|qdRSIj_4Ca z1goN`_h>zZdL0&Xj0iEG;CJ`1MS(hxItwA7%@*q29e*4p(kVAk3z(vy_4y2UeMNG5 zN?a`HUS2SL_a3{AxO{@2-Oy4H5xk0GV+GZg&iNVIXp$^%d7bBcNK=NZHRjVt2Fs;h zb~+&Oesdp1sH%vYTrvE8gIlk;OackYqc3M*3@?i%Q6qV|CY#TR5&`h4qSiTv7w5PT zXkr;JWrZ$x{{I(oPy~ELcE$rjK#C+z(rk7+vpd_=9ge3u zga9WwL?Ed=yOkpNLG`gPwcZ8v5fYHq7C1O2Osc%UjXwDlHMnRPiy z=le76Zr4j=m5d7eFe7}-=;Kyl4kY0z&Jw?;c4ATZ2PEN*Hc6<>ev1<=279m8p^Isf z4DylqX*YfgV~t`Qug}s`gjloBM^Rc7CF&(jG$%E7T3aLm3Do#e1>g;EE{S55^>p$8 O0000T84B!2{RLP=Bz2nYy#2xN!=000SaNLh0L01ejw01ejxLMWSf0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$Rzez+vR49>cl3Qz2Q51x~ zwR3LG#om(MsG=g`1w`@x{}HA5BrPUQ6HU^blf7p75a^2z41e=949tvu{PHzVCKD{e z_zxoDiINB)Bp#N_D9$Ehj*m}z>&=F`sVP$;XJ;@Rl2XDfAV3k}p4qh>b=}}UZXyv_ zcBkz+=Cc`X*Kt4l#dfR%^Pp zrLHPAs};W=7Jr2MKG{V9P}U`nk89-4;$e1nRow8o7kepsh$lW|=%nZYjL<$8)5E7E8n+7wZKN!$%w=_*d0A_~E z$$3W@d$Y@F4hDooRaKl$#tcUz&dx6=tBT9ZD{j7jqkkw0Mx$pO9Q0|b8c7tP00K*i zlku2jM%^^LefNQ!Gbg8G-Tname() ); diff --git a/src/gui/piano_roll.cpp b/src/gui/piano_roll.cpp index 61aa43551..27ebbcace 100644 --- a/src/gui/piano_roll.cpp +++ b/src/gui/piano_roll.cpp @@ -844,7 +844,7 @@ inline void pianoRoll::drawNoteRect( QPainter & _p, int _x, int _y, ( (float)( PanningRight - _n->getPanning() ) ) / ( (float)( PanningRight - PanningLeft ) ) * 2.0f ); - const QColor defaultNoteColor( 0x4A, 0xFD, 0x85 ); + const QColor defaultNoteColor( 0x77, 0xC7, 0xD8 ); QColor col = defaultNoteColor; if( _n->length() < 0 ) @@ -2680,7 +2680,7 @@ static void printNoteHeights(QPainter& p, int bottom, int width, int startKey) }; p.setFont( pointSize( p.font() ) ); - p.setPen( QColor( 255, 255, 0 ) ); + p.setPen( QColor( 255, 255, 255 ) ); for( int y = bottom, key = startKey; y > PR_TOP_MARGIN; y -= KEY_LINE_HEIGHT, key++) { @@ -2924,7 +2924,7 @@ void pianoRoll::paintEvent( QPaintEvent * _pe ) QFont f = p.font(); f.setBold( false ); p.setFont( pointSize<10>( f ) ); - p.setPen( QColor( 255, 255, 0 ) ); + p.setPen( QColor( 255, 255, 255) ); p.drawText( QRect( 0, keyAreaBottom(), WHITE_KEY_WIDTH, noteEditBottom() - keyAreaBottom() ), Qt::AlignCenter | Qt::TextWordWrap, @@ -3072,7 +3072,7 @@ void pianoRoll::paintEvent( QPaintEvent * _pe ) int editHandleTop = 0; if( m_noteEditMode == NoteEditVolume ) { - QColor color = QColor::fromHsv( 120, 221, + QColor color = QColor::fromHsv( 140, 221, qMin(255, 60 + ( *it )->getVolume() ) ); if( ( *it )->selected() ) { @@ -3091,7 +3091,7 @@ void pianoRoll::paintEvent( QPaintEvent * _pe ) } else if( m_noteEditMode == NoteEditPanning ) { - QColor color( 0xFF, 0xB0, 0x00 ); + QColor color( 0x99, 0xAF, 0xFF ); if( ( *it )->selected() ) { color.setRgb( 0x00, 0x40, 0xC0 ); @@ -3119,7 +3119,7 @@ void pianoRoll::paintEvent( QPaintEvent * _pe ) } } - p.setPen( QPen( QColor( 0xEA, 0xA1, 0x00 ), + p.setPen( QPen( QColor( 0x99, 0xAF, 0xFF ), NE_LINE_WIDTH+2 ) ); p.drawPoints( editHandles ); diff --git a/src/tracks/pattern.cpp b/src/tracks/pattern.cpp index 54c7ef41c..06dc26622 100644 --- a/src/tracks/pattern.cpp +++ b/src/tracks/pattern.cpp @@ -1271,7 +1271,7 @@ void patternView::paintEvent( QPaintEvent * ) } else { - p.setPen( QColor( 32, 240, 32 ) ); + p.setPen( QColor( 32, 240, 101 ) ); } if( m_pat->name() != m_pat->instrumentTrack()->name() ) From 322e44f90727324508ee48d9bab4e7d6a49ed80d Mon Sep 17 00:00:00 2001 From: Vesa Date: Wed, 22 Jan 2014 22:35:39 +0200 Subject: [PATCH 11/18] More new icons, triple osc artwork, scrollbars, etc. --- data/backgrounds/newbg.png | Bin 0 -> 39313 bytes data/themes/default/add_automation.png | Bin 1064 -> 788 bytes data/themes/default/add_bb_track.png | Bin 1561 -> 808 bytes data/themes/default/add_sample_track.png | Bin 1711 -> 1022 bytes data/themes/default/sample_track.png | Bin 2494 -> 893 bytes data/themes/default/sbarrow_down.png | Bin 0 -> 194 bytes data/themes/default/sbarrow_down_d.png | Bin 0 -> 189 bytes data/themes/default/sbarrow_left.png | Bin 0 -> 194 bytes data/themes/default/sbarrow_left_d.png | Bin 0 -> 193 bytes data/themes/default/sbarrow_right.png | Bin 0 -> 198 bytes data/themes/default/sbarrow_right_d.png | Bin 0 -> 197 bytes data/themes/default/sbarrow_up.png | Bin 0 -> 192 bytes data/themes/default/sbarrow_up_d.png | Bin 0 -> 187 bytes data/themes/default/style.css | 142 ++++++++++++++++++---- include/LmmsStyle.h | 6 +- plugins/triple_oscillator/am_active.png | Bin 880 -> 608 bytes plugins/triple_oscillator/am_inactive.png | Bin 916 -> 499 bytes plugins/triple_oscillator/artwork.png | Bin 42941 -> 46685 bytes src/gui/LmmsStyle.cpp | 32 ++--- 19 files changed, 139 insertions(+), 41 deletions(-) create mode 100644 data/backgrounds/newbg.png create mode 100644 data/themes/default/sbarrow_down.png create mode 100644 data/themes/default/sbarrow_down_d.png create mode 100644 data/themes/default/sbarrow_left.png create mode 100644 data/themes/default/sbarrow_left_d.png create mode 100644 data/themes/default/sbarrow_right.png create mode 100644 data/themes/default/sbarrow_right_d.png create mode 100644 data/themes/default/sbarrow_up.png create mode 100644 data/themes/default/sbarrow_up_d.png diff --git a/data/backgrounds/newbg.png b/data/backgrounds/newbg.png new file mode 100644 index 0000000000000000000000000000000000000000..6cafbdaf4a79f8c6c43654003bbca47670217558 GIT binary patch literal 39313 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 M07*qoM6N<$f=Eudx&QzG literal 0 HcmV?d00001 diff --git a/data/themes/default/add_automation.png b/data/themes/default/add_automation.png index 2d0c7ba4d39ae189e0ac8638adb3ebf2bdee2e68..71e14742549a0c9a08624dede23d930140b2ef66 100644 GIT binary patch literal 788 zcmV+v1MB>WP)CB|Bs5Pe6RV!3d7tIJxS|tXt zuSG#fcZSrW1r1b*T8g4r9|a*4bR`z5t%wx=foueE5wJm#5|`4I2o1F;Beav5>mm;t zTAQ>VoXz>p{oQl<;1cH?0HA3aiK283z@%kaql=55-e3=61=yh)+4a%W+&VdYCE-$C z4YPj#i5X4PXtzM}`~Bw~4te%WZ&VKT4NF7}#-Cq!@ieya^T+ouwq=IW>Ga=9AWhRE z0N#?{@8_}cc{CqsFB`COCKl%Incu#CSTT&>T}w+#%m0I&)B|HVb7MM_$!H7!Jcrw1 z*(fV82}9AxQmF5eM|IU@d_G@rJD48mzOSl{kBAsd(;Q#`w!k)5*V!l=icTrDbq&dm zj^kH1J(2Xlsb_WdP4Uqi^C}T>0K6j5vVqoPr*Uy?*3sy0n(oYpB|4nS>wO1~L`SZ_ zQfpLqY2&JZmJRIpwBhot1eIV%=7tX3pApmh%coP*nDp-Etj?GXqQ_0lo~%9VN+7vXd|_XcDH zFywIiW~9`6_+)N(8&Uzn!2#q-0TjgnD2f8F*DL3N6+&S!;g**nupBt&Af7ApiJKVc z@2CF0-gDJGnE*yP+#Qc>Yu_0kDNI2V0pR%qZAYG}stAX}6>iN-OsCUCL=!s=wY0RT zilPhx@Kpj*@q^t-$z;+k%kmTvxjE+yKtntp4;B4HBJm!;8i1@=kp`frr)MpdN=>Y< zuQO2;-2kRG`;4(Q026{BWLY&p0Jg5{tHEF}YZyk>w(V@0Y1>)DFtWO?ul@t;_X>I7 SzsoED0000Px#24YJ`L;&RgqyPZN1_o>Z000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iOM( z6$dJlS?<9A00XE=L_t(Y$EB5BXj^3%$A52flCz{;vYEvp$U3aEDEL8(C}k+MRv6-H z1uupchJ$&b6Jg%;!aJc?gW|l|kSeX$#;LoI()l?MC0#d=x~|!39d1e5Ce6o5&PUGc z#mUD>n{*ZbaCp!AzR&qT&+~tt_q+lZQeVRTuQksv|IW5Jupd^EFf#7UV`I)ZGVZ(! z_u_VFM^GEvLBuCoNAUar{P_L73EBlv`@SiISKmege09!Q-%f&|qcHRJ4l<~19zEfZ z*QiS=#7+p>1<>T+mE#V%Z1C6d&F9Y2|Ej^`Lr76|P)ox7{_PjdeqVmm*}mvnAAAWy z18urUzluaOle!@RV+|1+0R0*g2~s$A>Jtr_+t%R7>s5(_i*b{eT2}Kp_%sDSlwqa1 zXBym~#3c;Q#nN2al7aS{lR=%>?Vy^LR)NzAn9d0X5536Hfg!qgcLR{fCzx58VRmU& z+L}GN+Rurg7ru)jM0^5zo~f(T5?Td@7vQQIOHX4E4Y`4geU#sCxSYSH8-{pU59D#F1-UHDYUR+b3?*?hWglP%oD7s->afM12K z2fLVBTxKdluQDn37eq!tF>7 zf`G~kA~puk9d@;;Z0^wgX|N)oTnF>CWG7J12#g*eiKzhCm8}P>-v2(p%YTCaJb+pa zHW_m`TaxC5e$Z3!>jzFK{bvMf6jn`GGa(a&asbG)q{JscT2*3K z=(U0$_P{L*tRQ%MAQXgX0JKEI_P&Rpvm4A3SywO_3Ac03-g*Hnvnr8~^Ga+C?j+mG83l$PfD4^aD#BeI3>8$IBQ iySRjx^Yk(2Hvbp!45Pu|K%ja60000 za88V?^nn!l4_pP(xN>DkeTA#!54i5!Tya;p2o`BlT@m6KJ31tJmQXJvkV-ts@GUayM>u&}T&WF8zG@b|5KN_VHhSajGWJ^V!a`ad2r z&+P2%!1>+XT|{Kv14xo&2$*FVekDL%zY50UG<>W!Xyuc2vXM0a9zdF=Lx$EGcVdk4 z+z(*E<^{Ul#VNUHtw+|J0?+FZ>wyIX5J4OeN64~EIy?`U9~UGaI^YO-m{7#JH@4Q_ zH*(fW>ApJxM<_m}=vJ2^)?`_B@yLxvW5|f(nDk9X9wvwgCM(E~6YR%?FbsQFaz;TA z^nv>ieB8hX19_C9+g*TxCaG4d1Hhsvn7((Fp!OsAXH9x|OuQH3>?eJoH&q@H4{u~VT-W9C zjR#c5suV#^F`aQ#3i+q}M<0l_BjUlxc;tD`6-V*v>5J37N6()iB7I=i>LT87JWhZj zLb+TGy1%yD;JC|}s%gf8*&d$!WG)*1P^D4l`S>JJ-5P0UgZqxY|AYf{>T6<|}sToC4 m(-_knFpX(OQPix}YV9uoUVBNV!$L6t0000Px#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iOK2 z5Dow(lc$>i000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}000GaNkltCyloNAT0REr@kxYRZT0(r_qUTeJ2*HTc@*S__s zU_?tx--=BB0JkrN5KNkvHc3k@(%P{U+tEt0R$i~PyPBOH&5wIeA7*ViCAjp!Fbs3~ ze$P4gp3ha(nE+~M%cYe}CQ}3G(IYg`+F&bM2G(k8HGo>FR9bNyrv_k*!5FjFZnu91 ze6dzri-FT;%B3IZOr{U25vV~!mrl*BEL1D?*DlP{8}9(nph2h8t95P%A0MsQYBeq9aNe~1jfK3gOB;mw~6EqqP;yA`yi-;hA zAWB4(O)TGW7r8UkNw8?odh8zU5}Sm6)FH z_|})5qa8J6j_{(s$~#(NQ97{+VHC0*ZIdMfD$Ux8fKo7QQ546tS}h#M0l*|lx+bka zj7`*0bR>_W9m(PdD*d5FKw`mpx-Cv>fTUgsX}_Zgr4)|iAR-uJu*RYs5D|5(s0@E*7yZGBX}b^lhm z)%0GeoSnL!b+rJJ(cgC}`J!8M^BKgFK1RSQ{8q?eGgzJ8oBj7^OP_!5;MD_`FD`TC z>}9e_)AieUVUN*~B1@-IPzUpoA!R-&AC4VeD$^AqR zIdh{_D%HM)GdI@XUSA5vf*)5-S8#LCHJgk9UGK@WWV-!_xYHh(*bynVW^1RSNL1xj}Sij~Sg|(pB^yhwyf~_WqY!JnlTE6ASIwurqxK1&DL;CH<5$ z)>_KtGM?wLzrT+$1`#1R6M%+f-SE}>2Yg$6@?P&7-?{4wsvtQztN)ubNs>Gh7XS@p z`2Ru;2Q3Hse{m)s<5< z|3RUEL_?TBk_E;gukv5Mb?dEPg<*&`#;kU`y?U`&L@6~qJ%U2v`##2)RSAVsW4zw0 z3^*tZFo!Vcr+o&%1xA4}nC;B|{ql#GuNV4-AS6NuL9o2LyNly|lSKg5+SMQkmV-{r z-t8Wle>wG$NtbxuV8$(?0fi;Y*UD9YsobnQJoVR8Nt0$YJgo8`t(R;b(rSVY00000 LNkvXXu0mjf-lEjj diff --git a/data/themes/default/add_sample_track.png b/data/themes/default/add_sample_track.png index 3e9caf262b9d2039c88ea1228d5deae855a1841f..2f7500a7d35e1ede7f21c97de1cde4e597af60fb 100644 GIT binary patch literal 1022 zcmVhWLC z%aLuvsD|53sc>ztq41Yib9U|}5&2$K&#eiF_q#FD0M26>#+%I;a6y2vDI)SvYi3oT zNEN8wh0}#-pSMynfx|e9FVMwsdGnfp^63*HXc_32DKQ9Lz-$)M>jH}r!8_@u8t-_p zx5Ki$H?$ki5++DM{{&(f>4SC`nSAA)pETAY#-IjAALzGWWa?cYHqXF#a1_N$mLemu24FdKPc? zZ{OA%?aP4mt&jm2e}cM|Mk&Z}2ODYwGKjn%;)nz4^^ zpU?N1^6L{56La^sEFuTeT|L(H#TaKX&Y}u=mXl{WKFjfGj>(l$5cB0{UzCAyfcH;) z_-$wkrsLbF>Q!?)%|r-MB~LT*G$U=a@Xd^{Z6I|78Mp?1M+qV#z6)86~KtW2Asp`oXPQh1KX zyPX^y2>n1r8bNe3<2ApBQy+Z(u)|vYQf6moe=3zqTPimzpY&e*`+1A$4Kt#+Txu2$ zJ*PnNe*poKB)Kjkhp%3~Is!ZctQ#C0>@9}z0buyQfU=f=J$?FgC64215vi!E0oF}U zPQG|gKY8-x8DIgZubzi1YGPtyp;oIMZM9m)IadLuSL()?1>mT)w!V5Ec9tI-8=Kp= sZ(lu0lDhZ4-XVHlPm-iQHa0f*4_{4gXr|<_m;e9(07*qoM6N<$f>apdK>z>% literal 1711 zcmV;g22lBlP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L00Nl+00Nl-oLWCVIb{Jz zAP4*uAWgG!6s4;HT3)oF*$ThA?XkU9$RcUuI&Uz&;lPaPKqt@tZu=H#;#0+GiQk%x;m3@o-*YC##`*N^Wt-of}V zPy((5EC5xjw~3-O4^XKEi{m7_8ep~>7+I#tv@U;{HF(rT;ORU_!z>!ty`U#)+#mkd zvW!7s8XySbb+)aZlTus;m;ka?Z&R%Y7XT|O)!>r=GZmkiiqCAt?*g#M8=;rk0wH5B zC0Ob^=5c|qZO(!Ot=70jb=zYOiBRNT6P?bNrAbDX>1%-r*=&V0 zn&I-#-#VdcjrJ9_dRxSCHfTtRK7>T+fe`7sU8Myyl_teNwgjh#*KTKZu8H+i;5oo1CqdTc$ChltfB#`PO^0 zv72uzOn2rSTR1}Px$dstVane4ke0hveqV^k?>uak^Lsvh=Du<{xZD&%U`X*LX^0&v z2on4t#&Oh$>zKHXiIX$GYTHJSWf~|$7L=X+aR0&6_w0*yb~IOCC0vl087lEqqaC znMO*1G(_1j1cs8B%D}P=<>VBFPMe+jSNde(aBl3XG4ig>OnRK-v#+pmcoQ3kH*sR- z6=u`pbhtKSSB-IY@vH2T+t6C4N=iYNX|hajPBZ;bnr0+PHXX-VsU0RCI*}gA{%-t5 z4lEtOw4s(BqX5*JZ@oQTwboJ01x=bMST>Y<%e?IEq7W7f$}|n_2Qey?FB&pI3W3)A zC`q$VwZr5a&*Xn!V+q}E-l38lM@fxifbUn{2Ke4dQtjboP)h~*yaQdZ_xzKi%E_rj zYkkBI;*(jXNz#lcP7k!($!et}#}>Yn!-b<~Une^FCJU88mnmqS3t__?;Em}MoU5Lr z8f#|alv4{D;6h{vt5x2$5-G)Ar6lbzIZ$u3uMAA%m{JmDNW6R{hl1p_l*5}V@4G#p zzpMVPxBZ}iVZdTQc6L~Cq0?>@J9A;FklS78wEw+p@|GY@vJ*}7+}yw${C`Kx?`a!U zv5-r0Vbb1u?~TECw(NW~j?;mU{84nQ+;rnj%Z7T`_q-z;+DDe*lI?;8CM>idJP&)e zXaH6}D6o5ACWhGO zn#2WT7z!@*IN%?-7;yJ8=oo}JfQAoA0K|a7v+@TUuhm^8#|QY?-RrVyeD)_N-!rV|KSyzKp1K#*_SL;wk}yCWj0o%$R61ABL_sJav4A4r@;74E>+7}u9)J*H z5zyB$s@5|rUAx**nmt|fC}lN%$qn?emO6sge4a0SEge7+jm-`c?$Fn0AK*QJ3#pnn zv*(*M10o>dAFM?1ZQ86OVy<5-j*;W97(Aj^>HY8Y^&hw{4r+q}Sd{<(002ovPDHLk FV1k8VFJ}M% diff --git a/data/themes/default/sample_track.png b/data/themes/default/sample_track.png index d65bc0752766691687ca63d25f0623225569ee77..754146f3ef4709db07395d941f291a6f355d7661 100644 GIT binary patch delta 847 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 literal 0 HcmV?d00001 diff --git a/data/themes/default/sbarrow_down_d.png b/data/themes/default/sbarrow_down_d.png new file mode 100644 index 0000000000000000000000000000000000000000..f8c54f32f5022ced37d7daf7cfc0af167d3fa6c8 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=wj^(N7l!Q&+6+Dd*G?Y4nJa0`PlBg3pY5H=O_Pg91JbK2tcXdAkg}gjn978y+n;x?kY%maEIM^DZ z;nCi*oKyeAqNIWea*Tlv2R~?XTz^w4XqbGUwPo?~XRkB!Y{lm6nC-o4>nTh1o(ONv f-TOOc{Htf2(4nJa0`PlBg3pY5H=O_Pg91JQ}8#p6ELPh5S8T978y+>z-N2dpLlH;o|q? z09Eb^Zf$0f(uJE2w3JO-X%L m{5Bhvn0Ec1K6C!g`~TI|c^QN+|J4Q>&EV4nJa0`PlBg3pY5H=O_Pg91JbJ1#IcF>Y3i)}uIEHXs*FCe5_YeaQ>&53P zXA(O3G`E_2I8HosaLJhiOgs;CFa7YoKF81g%qp#dM;(IV_bMDhuCiNCQ@r->U+S~A l>r+m1-Tiz1%=4nJa0`PlBg3pY5H=O_Pg91JQ^xHLijfTg@Qd@978y+>mJ_7$rLESdSGX; zi}B{SkG>|kvWqF)n9!)2BW@pLVD!PHFu}}IF0^#Ts^1cixsCfGK6q_9Fy%?F==}e; pdt|@OD0unqvY3BN;k$RDbzAMlO?K@ynFTbS!PC{xWt~$(695(%K3V_( literal 0 HcmV?d00001 diff --git a/data/themes/default/sbarrow_right_d.png b/data/themes/default/sbarrow_right_d.png new file mode 100644 index 0000000000000000000000000000000000000000..39b0220cc0098650eabfcba025645cc6e0252f61 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=wj^(N7l!Q&+6+Dd*G?Y4nJa0`PlBg3pY5H=O_Pg91Jo=1#1bq#FLP4G`jv*Y^bq{akWC|2uJ#g?h zTiAvK!SyVMvwb#boZZr_d*Dxafn+a literal 0 HcmV?d00001 diff --git a/data/themes/default/sbarrow_up.png b/data/themes/default/sbarrow_up.png new file mode 100644 index 0000000000000000000000000000000000000000..2b61c257ca5390eab3931ca10355fab03dfd0e04 GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=wj^(N7l!Q&+6+Dd*G?Y4nJa0`PlBg3pY5H=O_Pg91JQ~t`MoPUvAzx1y#}JO|rl&V@wm2}bUfj;5 z&cU8``>6hlu8Wh_JUn&N4nJa0`PlBg3pY5H=O_Pg91Jo*CH7UmuT3VC?CIEHXsH$7u0*kB;Sa&bC? z)T2k|6%Y>$)0wO>MQR d;-;4TXRx2gSt#}TuNu%y22WQ%mvv4FO#r>0I9dPz literal 0 HcmV?d00001 diff --git a/data/themes/default/style.css b/data/themes/default/style.css index 006ff6164..466aac8d4 100644 --- a/data/themes/default/style.css +++ b/data/themes/default/style.css @@ -89,9 +89,126 @@ pianoRoll { background-color: rgb(0, 0, 0); } -/*TrackContainerView QWidget{ - background-color: #5b6571; -}*/ +/* scrollbar: trough */ + +QScrollBar:horizontal { + border: 1px solid #131313; + background: rgb( 50,50,50 ); + height: 14px; + margin: 0px 13px; +} +QScrollBar:vertical { + border: 1px solid #131313; + background: rgb( 50,50,50 ); + width: 14px; + margin: 13px 0px; +} + +/* scrollbar: trough clicky things */ + +QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal, +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; +} + +QScrollBar::add-page:horizontal:pressed, QScrollBar::sub-page:horizontal:pressed, +QScrollBar::add-page:vertical:pressed, QScrollBar::sub-page:vertical:pressed { + background: rgba(0,0,0,50); +} + +/* scrollbar: handles (sliders) */ + +QScrollBar::handle:horizontal { + background: qlineargradient(spread:reflect, + x1:0.5, y1:0, x2:0.5, y2:1, + stop:0 #747474, stop:0.5 #c9c9c9, stop:1 #808080); + border: 1px outset #888; + border-radius: 2px; + min-width: 24px; +} + +QScrollBar::handle:horizontal:hover { + background: qlineargradient(spread:reflect, + x1:0.5, y1:0, x2:0.5, y2:1, + stop:0 #747474, stop:0.5 #f0f0f0, stop:1 #808080); +} + +QScrollBar::handle:horizontal:pressed { + background: qlineargradient(spread:reflect, + x1:0.5, y1:0, x2:0.5, y2:1, + stop:0 #747474, stop:1 #c9c9c9); +} + +QScrollBar::handle:vertical { + background: qlineargradient(spread:reflect, + x1:0, y1:0.5, x2:1, y2:0.5, + stop:0 #747474, stop:0.5 #c9c9c9, stop:1 #808080); + border: 1px outset #888; + border-radius: 2px; + min-height: 24px; +} + +QScrollBar::handle:vertical:hover { + background: qlineargradient(spread:reflect, + x1:0, y1:0.5, x2:1, y2:0.5, + stop:0 #747474, stop:0.5 #f0f0f0, stop:1 #808080); +} + +QScrollBar::handle:vertical:pressed { + background: qlineargradient(spread:reflect, + x1:0, y1:0.5, x2:1, y2:0.5, + stop:0 #747474, stop:1 #c9c9c9); +} + +QScrollBar::handle:horizontal:disabled, QScrollBar::handle:vertical:disabled { + background: #747474; + border-radius: 1px; + border: 1px solid rgba(0,0,0,32); +} + +/* arrow buttons */ + +QScrollBar::add-line, QScrollBar::sub-line { + background: qradialgradient(cx:0.3, cy:0.3, radius:0.8, fx:0.3, fy:0.3, stop:0 #c9c9c9, stop:1 #969696 ); + border-radius: 1px; + border: 1px solid #131313; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal { subcontrol-position: right; width: 12px;} +QScrollBar::sub-line:horizontal { subcontrol-position: left; width: 12px;} +QScrollBar::add-line:vertical { subcontrol-position: bottom; height: 12px;} +QScrollBar::sub-line:vertical { subcontrol-position: top; height: 12px;} + +QScrollBar::add-line:hover, QScrollBar::sub-line:hover { + background: qradialgradient(cx:0.3, cy:0.3, radius:0.8, fx:0.3, fy:0.3, stop:0 #e0e0e0, stop:0.5 #c9c9c9, stop:1 #969696 ); +} + +QScrollBar::add-line:pressed, QScrollBar::sub-line:pressed { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #969696, stop:0.5 #c9c9c9, stop:1 #969696 ); +} + +QScrollBar::add-line:disabled, QScrollBar::sub-line:disabled { + background: #747474; +} + +QScrollBar::left-arrow:horizontal, QScrollBar::right-arrow:horizontal, +QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { + border: none; + background-color: none; + width: 5px; + height: 5px; +} + +QScrollBar::left-arrow:horizontal { background-image: url(resources:sbarrow_left.png);} +QScrollBar::right-arrow:horizontal { background-image: url(resources:sbarrow_right.png);} +QScrollBar::up-arrow:vertical { background-image: url(resources:sbarrow_up.png);} +QScrollBar::down-arrow:vertical { background-image: url(resources:sbarrow_down.png);} +QScrollBar::left-arrow:horizontal:disabled { background-image: url(resources:sbarrow_left_d.png);} +QScrollBar::right-arrow:horizontal:disabled { background-image: url(resources:sbarrow_right_d.png);} +QScrollBar::up-arrow:vertical:disabled { background-image: url(resources:sbarrow_up_d.png);} +QScrollBar::down-arrow:vertical:disabled { background-image: url(resources:sbarrow_down_d.png);} + TrackContainerView QFrame{ background-color: #49515b; @@ -105,25 +222,6 @@ trackOperationsWidget > QPushButton { background: none; border:none; } -/* -trackOperationsWidget > QPushButton:hover { - background: qlineargradient(spread:reflect, x1:0.5, y1:0.5, x2:0.5, y2:0, stop:0 rgba(224, 224, 224, 255), stop:1 rgba(201, 201, 201, 255)); - border: 1px solid rgba(0,0,0,255); - color: black; -} - -trackOperationsWidget > QPushButton:pressed { - background: qlineargradient(spread:reflect, x1:0.5, y1:0, x2:0.5, y2:1, stop:0 #747474, stop:0.5 #c9c9c9, stop:1 #c0c0c0 ); - border: 1px solid rgba(0,0,0,255); - color: black; -} - -trackOperationsWidget > QPushButton:flat { - background-color: #c9c9c9; - border-radius: 2px; - border: none; -} -*/ trackOperationsWidget > QPushButton::menu-indicator { image: url(resources:trackop.png); diff --git a/include/LmmsStyle.h b/include/LmmsStyle.h index 48c48d449..7b74a06f7 100644 --- a/include/LmmsStyle.h +++ b/include/LmmsStyle.h @@ -68,7 +68,7 @@ public: virtual QPalette standardPalette( void ) const; - virtual void drawControl( ControlElement element, const QStyleOption* option, QPainter* painter, const QWidget* widget ) const; +// virtual void drawControl( ControlElement element, const QStyleOption* option, QPainter* painter, const QWidget* widget ) const; virtual void drawComplexControl( ComplexControl control, @@ -84,8 +84,8 @@ public: const QStyleOption * option = 0, const QWidget * widget = 0 ) const; - QSize sizeFromContents( ContentsType type, const QStyleOption* option, const QSize& size, const QWidget* widget ) const; - QRect subControlRect( ComplexControl control, const QStyleOptionComplex *option, SubControl subControl, const QWidget *widget ) const; +// QSize sizeFromContents( ContentsType type, const QStyleOption* option, const QSize& size, const QWidget* widget ) const; +// QRect subControlRect( ComplexControl control, const QStyleOptionComplex *option, SubControl subControl, const QWidget *widget ) const; private: QImage colorizeXpm( const char * const * xpm, const QBrush& fill ) const; diff --git a/plugins/triple_oscillator/am_active.png b/plugins/triple_oscillator/am_active.png index c02e68fc6f657df3901475d07f8faed2f5f38877..88546daa0d145ef9a49c1224f992fd37a38bf27f 100644 GIT binary patch delta 583 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%0AX8&UOA{QPnCnbZ^Ke&Z8^bBr;fNuL=~W5cem>tG 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ΞZ_GUc*;|q-(0$6v-m{H)-2SbQQ(E+ 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 Mr7T$|ZXEo7053sDbN~PV delta 42584 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 tO6yZMN!==Oc@f=OQ(gpyT z`ql8(fy8^YsjfAW0}0cW(Pe7bi6%dcAT}CUpC|ge#`*+G<8RlI=3MfuHM5*)9U;)3$*=ovfdV5 z!RHer53UwiC=2wJ8^WYGLV zOX}=ijey4zhKZo?Le|WcKPUfL(~TP5SMV`)>qf^gDuc&*EARaYnBP!{X7akzwA|r~ zHgw8ElA?sTA+{!sug0WarTxbM1t@Zt>p+lYx%Ji+4s2ej>DXUX!S$Jo&kQhISI3@uH# zeR#lX6S4{wAVpX6d21!S>VcLs{5M#t0q;%Xt|E}TU(R*~cW>t|?`ljA;#?6-|1>+c zoUdlNPD>)~aKrjcTUaUa4_ZJ?@;i}(8F%>mk6cOZpjN+HU4?sGZIsL*ycd@sV?x0A|K8yfG&X-9@8~;@BVp#>pX+l;z`KAZx^ym5X0Dl2AZ)Xm_ha zi0RsFAbxsUzI4c~0cl0Sxxct{V|bhrzhIo6jUH6A62E*paASTtPps-}d;8gXF5p>M z=D?Z=GAB`&-Xs$rzpYKQ0Z0e#N3ywW5Mfb%r-k32zded0+IIujMq$J->{|_6(?*AXhK@;**B1PXD$!KmZ@ZN zT2k__y>`(8m&{sFstyleSheet().split( '\n' ).filter( QRegExp( "^palette:*" ) ); foreach( QString s, paletteData ) { - if (s.contains(":background")) { pal.setColor( QPalette::Background, QColor( s.mid( s.indexOf("#"), 7 ) ) ); } + if (s.contains(":background")) { pal.setColor( QPalette::Background, QColor( s.mid( s.indexOf("#"), 7 ) ) ); } else if (s.contains(":windowtext")) { pal.setColor( QPalette::WindowText, QColor( s.mid( s.indexOf("#"), 7 ) ) ); } else if (s.contains(":base")) { pal.setColor( QPalette::Base, QColor( s.mid( s.indexOf("#"), 7 ) ) ); } - else if (s.contains(":buttontext")) { pal.setColor( QPalette::ButtonText, QColor( s.mid( s.indexOf("#"), 7 ) ) ); } - else if (s.contains(":brighttext")) { pal.setColor( QPalette::BrightText, QColor( s.mid( s.indexOf("#"), 7 ) ) ); } + else if (s.contains(":buttontext")) { pal.setColor( QPalette::ButtonText, QColor( s.mid( s.indexOf("#"), 7 ) ) ); } + else if (s.contains(":brighttext")) { pal.setColor( QPalette::BrightText, QColor( s.mid( s.indexOf("#"), 7 ) ) ); } else if (s.contains(":text")) { pal.setColor( QPalette::Text, QColor( s.mid( s.indexOf("#"), 7 ) ) ); } else if (s.contains(":button")) { pal.setColor( QPalette::Button, QColor( s.mid( s.indexOf("#"), 7 ) ) ); } else if (s.contains(":shadow")) { pal.setColor( QPalette::Shadow, QColor( s.mid( s.indexOf("#"), 7 ) ) ); } @@ -268,7 +268,7 @@ QPalette LmmsStyle::standardPalette( void ) const - +/* void LmmsStyle::drawControl( ControlElement element, const QStyleOption* option, QPainter* painter, const QWidget* widget ) const { @@ -294,7 +294,7 @@ void LmmsStyle::drawControl( ControlElement element, const QStyleOption* option, cache.fill( QColor( 48, 48, 48 ) ); QColor sliderColor; QColor blurColor; - hoverColors(sunken, hover, + hoverColors(sunken, hover, scrollBar->activeSubControls & SC_ScrollBarAddLine && isEnabled, sliderColor, blurColor); @@ -455,7 +455,7 @@ void LmmsStyle::drawControl( ControlElement element, const QStyleOption* option, } } - +*/ void LmmsStyle::drawComplexControl( ComplexControl control, const QStyleOptionComplex * option, @@ -482,12 +482,12 @@ void LmmsStyle::drawComplexControl( ComplexControl control, return; } } - else if( control == CC_ScrollBar ) +/* else if( control == CC_ScrollBar ) { - QColor background = QColor( 48, 48, 48 ); - painter->fillRect( option->rect, background ); + painter->fillRect( option->rect, QApplication::palette().color( QPalette::Active, + QPalette::Background ) ); - } + }*/ QPlastiqueStyle::drawComplexControl( control, option, painter, widget ); } @@ -633,7 +633,7 @@ int LmmsStyle::pixelMetric( PixelMetric _metric, const QStyleOption * _option, } // QStyle::SH_TitleBar_NoBorder - +/* QSize LmmsStyle::sizeFromContents( ContentsType type, const QStyleOption* option, const QSize& size, const QWidget* widget ) const { if( type == CT_ScrollBar ) @@ -655,8 +655,8 @@ QSize LmmsStyle::sizeFromContents( ContentsType type, const QStyleOption* option return QPlastiqueStyle::sizeFromContents( type, option, size, widget ); } - - +*/ +/* QRect LmmsStyle::subControlRect( ComplexControl control, const QStyleOptionComplex* option, SubControl subControl, const QWidget* widget ) const { QRect rect = QPlastiqueStyle::subControlRect( control, option, subControl, widget ); @@ -797,7 +797,7 @@ QRect LmmsStyle::subControlRect( ComplexControl control, const QStyleOptionCompl return rect; } - +*/ From 2dc02001b76e127654660d4a2b2432b7e298d658 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Wed, 22 Jan 2014 21:55:33 +0100 Subject: [PATCH 12/18] Instrument: also render sound for MIDI-based instruments when muted In order to provide smooth muting functionality (i.e. immediate proper sound when unmuting) always render audio buffers for MIDI-based instruments. This is more important than potentially reduced CPU usage while muted. Closes #69. --- include/Instrument.h | 4 +--- include/InstrumentPlayHandle.h | 7 ++----- plugins/opl2/opl2instrument.cpp | 2 +- plugins/vestige/vestige.cpp | 12 +++++------- plugins/zynaddsubfx/ZynAddSubFx.cpp | 9 ++------- src/core/Instrument.cpp | 8 -------- 6 files changed, 11 insertions(+), 31 deletions(-) diff --git a/include/Instrument.h b/include/Instrument.h index 6e0e69012..7cec41019 100644 --- a/include/Instrument.h +++ b/include/Instrument.h @@ -2,7 +2,7 @@ * Instrument.h - declaration of class Instrument, which provides a * standard interface for all instrument plugins * - * Copyright (c) 2005-2009 Tobias Doerffel + * Copyright (c) 2005-2014 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -117,8 +117,6 @@ public: virtual bool isFromTrack( const track * _track ) const; - bool isMuted() const; - protected: inline InstrumentTrack * instrumentTrack() const diff --git a/include/InstrumentPlayHandle.h b/include/InstrumentPlayHandle.h index ccb3e6f18..b34675e4a 100644 --- a/include/InstrumentPlayHandle.h +++ b/include/InstrumentPlayHandle.h @@ -1,7 +1,7 @@ /* * InstrumentPlayHandle.h - play-handle for driving an instrument * - * Copyright (c) 2005-2009 Tobias Doerffel + * Copyright (c) 2005-2014 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -45,10 +45,7 @@ public: virtual void play( sampleFrame * _working_buffer ) { - if( !m_instrument->isMuted() ) - { - m_instrument->play( _working_buffer ); - } + m_instrument->play( _working_buffer ); } virtual bool done() const diff --git a/plugins/opl2/opl2instrument.cpp b/plugins/opl2/opl2instrument.cpp index 0117d1650..38e141211 100644 --- a/plugins/opl2/opl2instrument.cpp +++ b/plugins/opl2/opl2instrument.cpp @@ -238,7 +238,7 @@ bool opl2instrument::handleMidiEvent( const midiEvent & _me, // int key; static int lastvoice=0; - if( _me.m_type == MidiNoteOn && !isMuted() ) { + if( _me.m_type == MidiNoteOn ) { // to get us in line with MIDI key = _me.key() +12; for(int i=lastvoice+1; i!=lastvoice; ++i,i%=9) { diff --git a/plugins/vestige/vestige.cpp b/plugins/vestige/vestige.cpp index 0cee1a4aa..6dfea9f69 100644 --- a/plugins/vestige/vestige.cpp +++ b/plugins/vestige/vestige.cpp @@ -313,15 +313,13 @@ void vestigeInstrument::play( sampleFrame * _buf ) bool vestigeInstrument::handleMidiEvent( const midiEvent & _me, const midiTime & _time ) { - if( !isMuted() ) + m_pluginMutex.lock(); + if( m_plugin != NULL ) { - m_pluginMutex.lock(); - if( m_plugin != NULL ) - { - m_plugin->processMidiEvent( _me, _time ); - } - m_pluginMutex.unlock(); + m_plugin->processMidiEvent( _me, _time ); } + m_pluginMutex.unlock(); + return true; } diff --git a/plugins/zynaddsubfx/ZynAddSubFx.cpp b/plugins/zynaddsubfx/ZynAddSubFx.cpp index 18775b5dd..ad2dde50a 100644 --- a/plugins/zynaddsubfx/ZynAddSubFx.cpp +++ b/plugins/zynaddsubfx/ZynAddSubFx.cpp @@ -1,7 +1,7 @@ /* * ZynAddSubFx.cpp - ZynAddSubxFX-embedding plugin * - * Copyright (c) 2008-2013 Tobias Doerffel + * Copyright (c) 2008-2014 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -343,14 +343,9 @@ void ZynAddSubFxInstrument::play( sampleFrame * _buf ) bool ZynAddSubFxInstrument::handleMidiEvent( const midiEvent & _me, const midiTime & _time ) { - // do not send NoteOn events if muted - if( _me.type() == MidiNoteOn && isMuted() ) - { - return true; - } // do not forward external MIDI Control Change events if the according // LED is not checked - else if( _me.type() == MidiControlChange && + if( _me.type() == MidiControlChange && _me.sourcePort() != this && m_forwardMidiCcModel.value() == false ) { diff --git a/src/core/Instrument.cpp b/src/core/Instrument.cpp index ad45bb846..339043ef9 100644 --- a/src/core/Instrument.cpp +++ b/src/core/Instrument.cpp @@ -96,14 +96,6 @@ bool Instrument::isFromTrack( const track * _track ) const -bool Instrument::isMuted() const -{ - return m_instrumentTrack->isMuted(); -} - - - - void Instrument::applyRelease( sampleFrame * buf, const notePlayHandle * _n ) { const fpp_t frames = _n->framesLeftForCurrentPeriod(); From 4ca85d8d87c829fc764215af921337ffc67ade5e Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Wed, 22 Jan 2014 22:03:56 +0100 Subject: [PATCH 13/18] AudioJack: replaced old Uint32 type --- src/core/audio/AudioJack.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/core/audio/AudioJack.cpp b/src/core/audio/AudioJack.cpp index 24ffdf300..eef7dafaa 100644 --- a/src/core/audio/AudioJack.cpp +++ b/src/core/audio/AudioJack.cpp @@ -1,7 +1,7 @@ /* - * AudioJack.cpp - support for JACK-transport + * AudioJack.cpp - support for JACK transport * - * Copyright (c) 2005-2009 Tobias Doerffel + * Copyright (c) 2005-2014 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -344,8 +344,7 @@ int AudioJack::processCallback( jack_nframes_t _nframes, void * _udata ) } #ifdef AUDIO_PORT_SUPPORT - const Uint32 frames = qMin( _nframes, - mixer()->framesPerPeriod() ); + const int frames = qMin( _nframes, mixer()->framesPerPeriod() ); for( jackPortMap::iterator it = m_portMap.begin(); it != m_portMap.end(); ++it ) { @@ -359,7 +358,7 @@ int AudioJack::processCallback( jack_nframes_t _nframes, void * _udata ) (jack_default_audio_sample_t *) jack_port_get_buffer( it.data().ports[ch], _nframes ); - for( Uint32 frame = 0; frame < frames; ++frame ) + for( int frame = 0; frame < frames; ++frame ) { buf[frame] = it.key()->firstBuffer()[frame][ch]; } From aaad405f9957b96e9f80136f6c61cc6285980999 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Wed, 22 Jan 2014 22:49:23 +0100 Subject: [PATCH 14/18] UI: increased font sizes As texts were not readable on high resolution screens the font size for many widgets has been changed. Closes #82. --- data/themes/default/style.css | 2 +- include/group_box.h | 6 ++++++ src/core/audio/AudioAlsa.cpp | 2 +- src/core/audio/AudioJack.cpp | 2 +- src/core/audio/AudioOss.cpp | 2 +- src/core/audio/AudioPortAudio.cpp | 4 ++-- src/core/audio/AudioPulseAudio.cpp | 2 +- src/core/audio/AudioSdl.cpp | 2 +- src/core/midi/MidiAlsaRaw.cpp | 2 +- src/core/midi/MidiAlsaSeq.cpp | 2 +- src/core/midi/MidiOss.cpp | 2 +- src/gui/AutomationPatternView.cpp | 2 +- src/gui/plugin_browser.cpp | 2 +- src/gui/widgets/ControllerView.cpp | 2 +- src/gui/widgets/EffectRackView.cpp | 2 +- src/gui/widgets/EffectView.cpp | 4 ++-- src/gui/widgets/EnvelopeAndLfoView.cpp | 8 ++----- src/gui/widgets/InstrumentFunctionViews.cpp | 6 +++--- src/gui/widgets/LcdWidget.cpp | 6 +++--- src/gui/widgets/group_box.cpp | 13 +++++------ src/gui/widgets/knob.cpp | 5 ++--- src/gui/widgets/tab_bar.cpp | 4 ++-- src/gui/widgets/tab_widget.cpp | 24 ++++++++++----------- src/tracks/InstrumentTrack.cpp | 6 +++--- src/tracks/SampleTrack.cpp | 6 +++--- src/tracks/bb_track.cpp | 2 +- src/tracks/pattern.cpp | 2 +- 27 files changed, 62 insertions(+), 60 deletions(-) diff --git a/data/themes/default/style.css b/data/themes/default/style.css index 466aac8d4..c113b0fb7 100644 --- a/data/themes/default/style.css +++ b/data/themes/default/style.css @@ -335,7 +335,7 @@ QToolButton:checked, toolButton:checked { trackLabelButton { background-color: #5b6571; color: #c9c9c9; - font-size: 10px; + font-size: 11px; font-weight: normal; border-radius: 1px; border: none; diff --git a/include/group_box.h b/include/group_box.h index 5cd5da9fa..ef08b56f9 100644 --- a/include/group_box.h +++ b/include/group_box.h @@ -49,6 +49,11 @@ public: return m_led; } + int titleBarHeight() const + { + return m_titleBarHeight; + } + protected: virtual void mousePressEvent( QMouseEvent * _me ); @@ -60,6 +65,7 @@ private: pixmapButton * m_led; QString m_caption; + const int m_titleBarHeight; } ; diff --git a/src/core/audio/AudioAlsa.cpp b/src/core/audio/AudioAlsa.cpp index 4267e2f02..7683ab680 100644 --- a/src/core/audio/AudioAlsa.cpp +++ b/src/core/audio/AudioAlsa.cpp @@ -499,7 +499,7 @@ AudioAlsa::setupWidget::setupWidget( QWidget * _parent ) : m_device->setGeometry( 10, 20, 160, 20 ); QLabel * dev_lbl = new QLabel( tr( "DEVICE" ), this ); - dev_lbl->setFont( pointSize<6>( dev_lbl->font() ) ); + dev_lbl->setFont( pointSize<7>( dev_lbl->font() ) ); dev_lbl->setGeometry( 10, 40, 160, 10 ); lcdSpinBoxModel * m = new lcdSpinBoxModel( /* this */ ); diff --git a/src/core/audio/AudioJack.cpp b/src/core/audio/AudioJack.cpp index eef7dafaa..dd97b5a7b 100644 --- a/src/core/audio/AudioJack.cpp +++ b/src/core/audio/AudioJack.cpp @@ -443,7 +443,7 @@ AudioJack::setupWidget::setupWidget( QWidget * _parent ) : m_clientName->setGeometry( 10, 20, 160, 20 ); QLabel * cn_lbl = new QLabel( tr( "CLIENT-NAME" ), this ); - cn_lbl->setFont( pointSize<6>( cn_lbl->font() ) ); + cn_lbl->setFont( pointSize<7>( cn_lbl->font() ) ); cn_lbl->setGeometry( 10, 40, 160, 10 ); lcdSpinBoxModel * m = new lcdSpinBoxModel( /* this */ ); diff --git a/src/core/audio/AudioOss.cpp b/src/core/audio/AudioOss.cpp index 8e7886ac2..f9f62b6d5 100644 --- a/src/core/audio/AudioOss.cpp +++ b/src/core/audio/AudioOss.cpp @@ -335,7 +335,7 @@ AudioOss::setupWidget::setupWidget( QWidget * _parent ) : m_device->setGeometry( 10, 20, 160, 20 ); QLabel * dev_lbl = new QLabel( tr( "DEVICE" ), this ); - dev_lbl->setFont( pointSize<6>( dev_lbl->font() ) ); + dev_lbl->setFont( pointSize<7>( dev_lbl->font() ) ); dev_lbl->setGeometry( 10, 40, 160, 10 ); lcdSpinBoxModel * m = new lcdSpinBoxModel( /* this */ ); diff --git a/src/core/audio/AudioPortAudio.cpp b/src/core/audio/AudioPortAudio.cpp index 5882ee17e..7da82f841 100644 --- a/src/core/audio/AudioPortAudio.cpp +++ b/src/core/audio/AudioPortAudio.cpp @@ -395,14 +395,14 @@ AudioPortAudio::setupWidget::setupWidget( QWidget * _parent ) : m_backend->setGeometry( 64, 15, 260, 20 ); QLabel * backend_lbl = new QLabel( tr( "BACKEND" ), this ); - backend_lbl->setFont( pointSize<6>( backend_lbl->font() ) ); + backend_lbl->setFont( pointSize<7>( backend_lbl->font() ) ); backend_lbl->move( 8, 18 ); m_device = new comboBox( this, "DEVICE" ); m_device->setGeometry( 64, 35, 260, 20 ); QLabel * dev_lbl = new QLabel( tr( "DEVICE" ), this ); - dev_lbl->setFont( pointSize<6>( dev_lbl->font() ) ); + dev_lbl->setFont( pointSize<7>( dev_lbl->font() ) ); dev_lbl->move( 8, 38 ); /* lcdSpinBoxModel * m = new lcdSpinBoxModel( ); diff --git a/src/core/audio/AudioPulseAudio.cpp b/src/core/audio/AudioPulseAudio.cpp index db7481c9f..63038d2c6 100644 --- a/src/core/audio/AudioPulseAudio.cpp +++ b/src/core/audio/AudioPulseAudio.cpp @@ -286,7 +286,7 @@ AudioPulseAudio::setupWidget::setupWidget( QWidget * _parent ) : m_device->setGeometry( 10, 20, 160, 20 ); QLabel * dev_lbl = new QLabel( tr( "DEVICE" ), this ); - dev_lbl->setFont( pointSize<6>( dev_lbl->font() ) ); + dev_lbl->setFont( pointSize<7>( dev_lbl->font() ) ); dev_lbl->setGeometry( 10, 40, 160, 10 ); lcdSpinBoxModel * m = new lcdSpinBoxModel( /* this */ ); diff --git a/src/core/audio/AudioSdl.cpp b/src/core/audio/AudioSdl.cpp index e9a592fa1..a72dd5825 100644 --- a/src/core/audio/AudioSdl.cpp +++ b/src/core/audio/AudioSdl.cpp @@ -210,7 +210,7 @@ AudioSdl::setupWidget::setupWidget( QWidget * _parent ) : m_device->setGeometry( 10, 20, 160, 20 ); QLabel * dev_lbl = new QLabel( tr( "DEVICE" ), this ); - dev_lbl->setFont( pointSize<6>( dev_lbl->font() ) ); + dev_lbl->setFont( pointSize<7>( dev_lbl->font() ) ); dev_lbl->setGeometry( 10, 40, 160, 10 ); } diff --git a/src/core/midi/MidiAlsaRaw.cpp b/src/core/midi/MidiAlsaRaw.cpp index a55669204..0820a4b48 100644 --- a/src/core/midi/MidiAlsaRaw.cpp +++ b/src/core/midi/MidiAlsaRaw.cpp @@ -183,7 +183,7 @@ MidiAlsaRaw::setupWidget::setupWidget( QWidget * _parent ) : m_device->setGeometry( 10, 20, 160, 20 ); QLabel * dev_lbl = new QLabel( tr( "DEVICE" ), this ); - dev_lbl->setFont( pointSize<6>( dev_lbl->font() ) ); + dev_lbl->setFont( pointSize<7>( dev_lbl->font() ) ); dev_lbl->setGeometry( 10, 40, 160, 10 ); } diff --git a/src/core/midi/MidiAlsaSeq.cpp b/src/core/midi/MidiAlsaSeq.cpp index 9cd02d01b..95b351197 100644 --- a/src/core/midi/MidiAlsaSeq.cpp +++ b/src/core/midi/MidiAlsaSeq.cpp @@ -716,7 +716,7 @@ MidiAlsaSeq::setupWidget::setupWidget( QWidget * _parent ) : m_device->setGeometry( 10, 20, 160, 20 ); QLabel * dev_lbl = new QLabel( tr( "DEVICE" ), this ); - dev_lbl->setFont( pointSize<6>( dev_lbl->font() ) ); + dev_lbl->setFont( pointSize<7>( dev_lbl->font() ) ); dev_lbl->setGeometry( 10, 40, 160, 10 ); } diff --git a/src/core/midi/MidiOss.cpp b/src/core/midi/MidiOss.cpp index 066490cec..c4cff5168 100644 --- a/src/core/midi/MidiOss.cpp +++ b/src/core/midi/MidiOss.cpp @@ -121,7 +121,7 @@ MidiOss::setupWidget::setupWidget( QWidget * _parent ) : m_device->setGeometry( 10, 20, 160, 20 ); QLabel * dev_lbl = new QLabel( tr( "DEVICE" ), this ); - dev_lbl->setFont( pointSize<6>( dev_lbl->font() ) ); + dev_lbl->setFont( pointSize<7>( dev_lbl->font() ) ); dev_lbl->setGeometry( 10, 40, 160, 10 ); } diff --git a/src/gui/AutomationPatternView.cpp b/src/gui/AutomationPatternView.cpp index 86dd1b2cc..cd0127b36 100644 --- a/src/gui/AutomationPatternView.cpp +++ b/src/gui/AutomationPatternView.cpp @@ -273,7 +273,7 @@ void AutomationPatternView::paintEvent( QPaintEvent * ) } p.resetMatrix(); - p.setFont( pointSize<7>( p.font() ) ); + p.setFont( pointSize<8>( p.font() ) ); if( m_pat->isMuted() || m_pat->getTrack()->isMuted() ) { p.setPen( QColor( 192, 192, 192 ) ); diff --git a/src/gui/plugin_browser.cpp b/src/gui/plugin_browser.cpp index 43194d78f..1ecdebbb8 100644 --- a/src/gui/plugin_browser.cpp +++ b/src/gui/plugin_browser.cpp @@ -140,7 +140,7 @@ void pluginDescWidget::paintEvent( QPaintEvent * ) if( height() > 24 || m_mouseOver ) { f.setBold( false ); - p.setFont( pointSize<7>( f ) ); + p.setFont( pointSize<8>( f ) ); QRect br; p.drawText( 10 + logo_size.width(), 20, width() - 58 - 5, 999, Qt::TextWordWrap, diff --git a/src/gui/widgets/ControllerView.cpp b/src/gui/widgets/ControllerView.cpp index bafff3878..3fe10d720 100644 --- a/src/gui/widgets/ControllerView.cpp +++ b/src/gui/widgets/ControllerView.cpp @@ -56,7 +56,7 @@ ControllerView::ControllerView( Controller * _model, QWidget * _parent ) : QPushButton * ctls_btn = new QPushButton( tr( "Controls" ), this ); QFont f = ctls_btn->font(); - ctls_btn->setFont( pointSize<7>( f ) ); + ctls_btn->setFont( pointSize<8>( f ) ); ctls_btn->setGeometry( 140, 2, 50, 14 ); connect( ctls_btn, SIGNAL( clicked() ), this, SLOT( editControls() ) ); diff --git a/src/gui/widgets/EffectRackView.cpp b/src/gui/widgets/EffectRackView.cpp index 2112033d1..8c485d769 100644 --- a/src/gui/widgets/EffectRackView.cpp +++ b/src/gui/widgets/EffectRackView.cpp @@ -47,7 +47,7 @@ EffectRackView::EffectRackView( EffectChain* model, QWidget* parent ) : QVBoxLayout* effectsLayout = new QVBoxLayout( m_effectsGroupBox ); effectsLayout->setSpacing( 0 ); - effectsLayout->setContentsMargins( 2, 12, 2, 2 ); + effectsLayout->setContentsMargins( 2, m_effectsGroupBox->titleBarHeight() + 2, 2, 2 ); m_scrollArea = new QScrollArea; m_scrollArea->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOn ); diff --git a/src/gui/widgets/EffectView.cpp b/src/gui/widgets/EffectView.cpp index 0e42d1194..9b6b8cc05 100644 --- a/src/gui/widgets/EffectView.cpp +++ b/src/gui/widgets/EffectView.cpp @@ -2,7 +2,7 @@ * EffectView.cpp - view-component for an effect * * Copyright (c) 2006-2007 Danny McRae - * Copyright (c) 2007-2010 Tobias Doerffel + * Copyright (c) 2007-2014 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -92,7 +92,7 @@ EffectView::EffectView( Effect * _model, QWidget * _parent ) : QPushButton * ctls_btn = new QPushButton( tr( "Controls" ), this ); QFont f = ctls_btn->font(); - ctls_btn->setFont( pointSize<7>( f ) ); + ctls_btn->setFont( pointSize<8>( f ) ); ctls_btn->setGeometry( 140, 14, 50, 20 ); connect( ctls_btn, SIGNAL( clicked() ), this, SLOT( editControls() ) ); diff --git a/src/gui/widgets/EnvelopeAndLfoView.cpp b/src/gui/widgets/EnvelopeAndLfoView.cpp index 1ce05044c..c1d06092a 100644 --- a/src/gui/widgets/EnvelopeAndLfoView.cpp +++ b/src/gui/widgets/EnvelopeAndLfoView.cpp @@ -274,7 +274,7 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) : m_x100Cb = new ledCheckBox( tr( "FREQ x 100" ), this ); - m_x100Cb->setFont( pointSize<6>( m_x100Cb->font() ) ); + m_x100Cb->setFont( pointSizeF( m_x100Cb->font(), 6.5 ) ); m_x100Cb->move( LFO_PREDELAY_KNOB_X, LFO_GRAPH_Y + 36 ); m_x100Cb->setWhatsThis( tr( "Click here if the frequency of this LFO should be " @@ -285,8 +285,7 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) : m_controlEnvAmountCb = new ledCheckBox( tr( "MODULATE ENV-AMOUNT" ), this ); m_controlEnvAmountCb->move( LFO_PREDELAY_KNOB_X, LFO_GRAPH_Y + 54 ); - m_controlEnvAmountCb->setFont( pointSize<6>( - m_controlEnvAmountCb->font() ) ); + m_controlEnvAmountCb->setFont( pointSizeF( m_controlEnvAmountCb->font(), 6.5 ) ); m_controlEnvAmountCb ->setWhatsThis( tr( "Click here to make the envelope-amount controlled by this " "LFO." ) ); @@ -407,9 +406,6 @@ void EnvelopeAndLfoView::paintEvent( QPaintEvent * ) QPainter p( this ); p.setRenderHint( QPainter::Antialiasing ); - // set smaller font - p.setFont( pointSize<6>( p.font() ) ); - // draw envelope-graph p.drawPixmap( ENV_GRAPH_X, ENV_GRAPH_Y, *s_envGraph ); // draw LFO-graph diff --git a/src/gui/widgets/InstrumentFunctionViews.cpp b/src/gui/widgets/InstrumentFunctionViews.cpp index a8e6c32b4..1e8e29ad3 100644 --- a/src/gui/widgets/InstrumentFunctionViews.cpp +++ b/src/gui/widgets/InstrumentFunctionViews.cpp @@ -1,7 +1,7 @@ /* * InstrumentFunctionViews.cpp - view for instrument-functions-tab * - * Copyright (c) 2004-2009 Tobias Doerffel + * Copyright (c) 2004-2014 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -164,14 +164,14 @@ ArpeggiatorView::ArpeggiatorView( Arpeggiator * _arp, QWidget * _parent ) : m_arpDirectionLbl = new QLabel( tr( "Direction:" ), m_arpGroupBox ); m_arpDirectionLbl->setGeometry( 10, 60, 64, 10 ); - m_arpDirectionLbl->setFont( pointSize<7>( m_arpDirectionLbl->font() ) ); + m_arpDirectionLbl->setFont( pointSize<8>( m_arpDirectionLbl->font() ) ); m_arpDirectionComboBox->setGeometry( 10, 74, 140, 22 ); QLabel * mode_lbl = new QLabel( tr( "Mode:" ), m_arpGroupBox ); mode_lbl->setGeometry( 10, 110, 64, 10 ); - mode_lbl->setFont( pointSize<7>( mode_lbl->font() ) ); + mode_lbl->setFont( pointSize<8>( mode_lbl->font() ) ); m_arpModeComboBox->setGeometry( 10, 124, 128, 22 ); } diff --git a/src/gui/widgets/LcdWidget.cpp b/src/gui/widgets/LcdWidget.cpp index 16a5df793..b68d4f242 100644 --- a/src/gui/widgets/LcdWidget.cpp +++ b/src/gui/widgets/LcdWidget.cpp @@ -188,7 +188,7 @@ void LcdWidget::paintEvent( QPaintEvent* ) // Label if( !m_label.isEmpty() ) { - p.setFont( pointSize<6>( p.font() ) ); + p.setFont( pointSizeF( p.font(), 6.5 ) ); p.setPen( QColor( 64, 64, 64 ) ); p.drawText( width() / 2 - p.fontMetrics().width( m_label ) / 2 + 1, @@ -233,8 +233,8 @@ void LcdWidget::updateSize() else { setFixedSize( qMax( m_cellWidth * m_numDigits + 2*(margin+m_marginWidth), - QFontMetrics( pointSize<6>( font() ) ).width( m_label ) ), - m_cellHeight + (2*margin) + 8 ); + QFontMetrics( pointSizeF( font(), 6.5 ) ).width( m_label ) ), + m_cellHeight + (2*margin) + 9 ); } update(); diff --git a/src/gui/widgets/group_box.cpp b/src/gui/widgets/group_box.cpp index afb86a630..ee5f3f25b 100644 --- a/src/gui/widgets/group_box.cpp +++ b/src/gui/widgets/group_box.cpp @@ -40,7 +40,8 @@ groupBox::groupBox( const QString & _caption, QWidget * _parent ) : QWidget( _parent ), BoolModelView( NULL, this ), - m_caption( _caption ) + m_caption( _caption ), + m_titleBarHeight( 11 ) { updatePixmap(); @@ -112,15 +113,15 @@ void groupBox::updatePixmap() p.drawLine( 0, height() - 1, width() - 1, height() - 1 ); // draw groupbox-titlebar - QLinearGradient g( 0, 0, 0, 9 ); + QLinearGradient g( 0, 0, 0, m_titleBarHeight ); g.setColorAt( 0, bg_color.darker( 250 ) ); g.setColorAt( 0.1, bg_color.lighter( 120 ) ); g.setColorAt( 1, bg_color.darker( 250 ) ); - p.fillRect( 2, 2, width() - 4, 9, g ); + p.fillRect( 2, 2, width() - 4, m_titleBarHeight, g ); // draw line below titlebar p.setPen( bg_color.dark( 400 ) ); - p.drawLine( 1, 11, width() - 3, 11 ); + p.drawLine( 1, m_titleBarHeight + 1, width() - 3, m_titleBarHeight + 1 ); // black inner rect p.drawRect( 1, 1, width() - 3, height() - 3 ); @@ -128,8 +129,8 @@ void groupBox::updatePixmap() //p.setPen( QColor( 255, 255, 255 ) ); p.setPen( palette().color( QPalette::Active, QPalette::Text ) ); - p.setFont( pointSize<7>( font() ) ); - p.drawText( 22, 10, m_caption ); + p.setFont( pointSize<8>( font() ) ); + p.drawText( 22, m_titleBarHeight, m_caption ); QPalette pal = palette(); pal.setBrush( backgroundRole(), QBrush( pm ) ); diff --git a/src/gui/widgets/knob.cpp b/src/gui/widgets/knob.cpp index d98dbd3db..7c7b9bc82 100644 --- a/src/gui/widgets/knob.cpp +++ b/src/gui/widgets/knob.cpp @@ -106,8 +106,7 @@ void knob::setLabel( const QString & _txt ) if( m_knobPixmap ) { setFixedSize( qMax( m_knobPixmap->width(), - QFontMetrics( pointSizeF( font(), 6 - ) ).width( m_label ) ), + QFontMetrics( pointSizeF( font(), 6.5) ).width( m_label ) ), m_knobPixmap->height() + 10 ); } update(); @@ -529,7 +528,7 @@ void knob::paintEvent( QPaintEvent * _me ) drawKnob( &p ); if( !m_label.isEmpty() ) { - p.setFont( pointSizeF( p.font(), 6 ) ); + p.setFont( pointSizeF( p.font(), 6.5 ) ); /* p.setPen( QColor( 64, 64, 64 ) ); p.drawText( width() / 2 - p.fontMetrics().width( m_label ) / 2 + 1, diff --git a/src/gui/widgets/tab_bar.cpp b/src/gui/widgets/tab_bar.cpp index 373933229..1340cbcfc 100644 --- a/src/gui/widgets/tab_bar.cpp +++ b/src/gui/widgets/tab_bar.cpp @@ -1,7 +1,7 @@ /* * tab_bar.cpp - implementation of tab-bar * - * Copyright (c) 2004-2007 Tobias Doerffel + * Copyright (c) 2004-2014 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -96,7 +96,7 @@ tabButton * tabBar::addTab( QWidget * _w, const QString & _text, int _id, // widgets have the same size and only the one on the top is visible _w->setFixedSize( _w->parentWidget()->size() ); - b->setFont( pointSize<7>( b->font() ) ); + b->setFont( pointSize<8>( b->font() ) ); return( b ); } diff --git a/src/gui/widgets/tab_widget.cpp b/src/gui/widgets/tab_widget.cpp index cbe9ac5d8..0650aeb97 100644 --- a/src/gui/widgets/tab_widget.cpp +++ b/src/gui/widgets/tab_widget.cpp @@ -1,7 +1,7 @@ /* * tab_widget.cpp - tabwidget for LMMS * - * Copyright (c) 2005-2009 Tobias Doerffel + * Copyright (c) 2005-2014 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -39,7 +39,7 @@ tabWidget::tabWidget( const QString & _caption, QWidget * _parent ) : m_activeTab( 0 ), m_caption( _caption ) { - setFont( pointSize<7>( font() ) ); + setFont( pointSize<8>( font() ) ); setAutoFillBackground( true ); QColor bg_color = QApplication::palette().color( QPalette::Active, @@ -62,7 +62,7 @@ tabWidget::~tabWidget() void tabWidget::addTab( QWidget * _w, const QString & _name, int _idx ) { - setFont( pointSize<7>( font() ) ); + setFont( pointSize<8>( font() ) ); widgetDesc d = { _w, _name, fontMetrics().width( _name ) + 10 } ; if( _idx < 0/* || m_widgets.contains( _idx ) == true*/ ) { @@ -72,7 +72,7 @@ void tabWidget::addTab( QWidget * _w, const QString & _name, int _idx ) } m_widgets[_idx] = d; _w->setFixedSize( width() - 4, height() - 14 ); - _w->move( 2, 12 ); + _w->move( 2, 13 ); _w->hide(); if( m_widgets.contains( m_activeTab ) ) @@ -144,7 +144,7 @@ void tabWidget::resizeEvent( QResizeEvent * ) void tabWidget::paintEvent( QPaintEvent * _pe ) { - setFont( pointSize<7>( font() ) ); + setFont( pointSize<8>( font() ) ); QPainter p( this ); QColor bg_color = QApplication::palette().color( QPalette::Active, @@ -168,13 +168,13 @@ void tabWidget::paintEvent( QPaintEvent * _pe ) p.setPen( QColor( 0, 0, 0 ) ); p.drawRect( 1, 1, width() - 3, height() - 3 ); - p.fillRect( 2, 2, width() - 4, 9 + add, g ); - p.drawLine( 2, 11 + add, width() - 3, 11 + add ); + p.fillRect( 2, 2, width() - 4, 10 + add, g ); + p.drawLine( 2, 12 + add, width() - 3, 12 + add ); if( !big_tab_captions ) { p.setPen( QColor( 255, 255, 255 ) ); - p.drawText( 5, 10, m_caption ); + p.drawText( 5, 11, m_caption ); } int cx = ( big_tab_captions ? 4 : 14 ) + @@ -183,12 +183,12 @@ void tabWidget::paintEvent( QPaintEvent * _pe ) QColor cap_col( 160, 160, 160 ); if( big_tab_captions ) { - p.setFont( pointSize<7>( p.font() ) ); + p.setFont( pointSize<8>( p.font() ) ); cap_col = QColor( 224, 224, 224 ); } else { - p.setFont( pointSize<6>( p.font() ) ); + p.setFont( pointSize<7>( p.font() ) ); } p.setPen( cap_col ); @@ -199,9 +199,9 @@ void tabWidget::paintEvent( QPaintEvent * _pe ) if( it.key() == m_activeTab ) { p.setPen( QColor( 32, 48, 64 ) ); - p.fillRect( cx, 2, ( *it ).nwidth - 6, 9, cap_col ); + p.fillRect( cx, 2, ( *it ).nwidth - 6, 10, cap_col ); } - p.drawText( cx + 3, 9 + add, ( *it ).name ); + p.drawText( cx + 3, 10 + add, ( *it ).name ); p.setPen( cap_col ); cx += ( *it ).nwidth; } diff --git a/src/tracks/InstrumentTrack.cpp b/src/tracks/InstrumentTrack.cpp index f9c3ad9a1..c00aa8ba1 100644 --- a/src/tracks/InstrumentTrack.cpp +++ b/src/tracks/InstrumentTrack.cpp @@ -959,7 +959,7 @@ InstrumentTrackView::InstrumentTrackView( InstrumentTrack * _it, TrackContainerV m_volumeKnob->setVolumeKnob( true ); m_volumeKnob->setModel( &_it->m_volumeModel ); m_volumeKnob->setHintText( tr( "Volume:" ) + " ", "%" ); - m_volumeKnob->move( widgetWidth-2*24, 4 ); + m_volumeKnob->move( widgetWidth-2*24, 2 ); m_volumeKnob->setLabel( tr( "VOL" ) ); m_volumeKnob->show(); m_volumeKnob->setWhatsThis( tr( volume_help ) ); @@ -968,7 +968,7 @@ InstrumentTrackView::InstrumentTrackView( InstrumentTrack * _it, TrackContainerV tr( "Panning" ) ); m_panningKnob->setModel( &_it->m_panningModel ); m_panningKnob->setHintText( tr( "Panning:" ) + " ", "%" ); - m_panningKnob->move( widgetWidth-24, 4 ); + m_panningKnob->move( widgetWidth-24, 2 ); m_panningKnob->setLabel( tr( "PAN" ) ); m_panningKnob->show(); @@ -1278,7 +1278,7 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) : // setup line edit for changing instrument track name m_nameLineEdit = new QLineEdit; - m_nameLineEdit->setFont( pointSize<8>( m_nameLineEdit->font() ) ); + m_nameLineEdit->setFont( pointSize<9>( m_nameLineEdit->font() ) ); connect( m_nameLineEdit, SIGNAL( textChanged( const QString & ) ), this, SLOT( textChanged( const QString & ) ) ); diff --git a/src/tracks/SampleTrack.cpp b/src/tracks/SampleTrack.cpp index d57ca8447..9b7e55eed 100644 --- a/src/tracks/SampleTrack.cpp +++ b/src/tracks/SampleTrack.cpp @@ -373,7 +373,7 @@ void SampleTCOView::paintEvent( QPaintEvent * _pe ) } if( m_tco->isRecord() ) { - p.setFont( pointSize<6>( p.font() ) ); + p.setFont( pointSize<7>( p.font() ) ); p.setPen( QColor( 224, 0, 0 ) ); p.drawText( 9, p.fontMetrics().height() - 1, "Rec" ); p.setBrush( QBrush( QColor( 224, 0, 0 ) ) ); @@ -526,11 +526,11 @@ SampleTrackView::SampleTrackView( SampleTrack * _t, TrackContainerView* tcv ) : if( configManager::inst()->value( "ui", "compacttrackbuttons" ).toInt() ) { - m_volumeKnob->move( DEFAULT_SETTINGS_WIDGET_WIDTH_COMPACT-2*24, 4 ); + m_volumeKnob->move( DEFAULT_SETTINGS_WIDGET_WIDTH_COMPACT-2*24, 2 ); } else { - m_volumeKnob->move( DEFAULT_SETTINGS_WIDGET_WIDTH-2*24, 4 ); + m_volumeKnob->move( DEFAULT_SETTINGS_WIDGET_WIDTH-2*24, 2 ); } m_volumeKnob->setLabel( tr( "VOL" ) ); m_volumeKnob->show(); diff --git a/src/tracks/bb_track.cpp b/src/tracks/bb_track.cpp index bc0c1df73..67b2c2b59 100644 --- a/src/tracks/bb_track.cpp +++ b/src/tracks/bb_track.cpp @@ -208,7 +208,7 @@ void bbTCOView::paintEvent( QPaintEvent * ) p.setPen( col.dark() ); p.drawRect( 0, 0, rect().right(), rect().bottom() ); - p.setFont( pointSize<7>( p.font() ) ); + p.setFont( pointSize<8>( p.font() ) ); p.setPen( QColor( 0, 0, 0 ) ); p.drawText( 2, p.fontMetrics().height() - 1, m_bbTCO->name() ); diff --git a/src/tracks/pattern.cpp b/src/tracks/pattern.cpp index 06dc26622..611f18adc 100644 --- a/src/tracks/pattern.cpp +++ b/src/tracks/pattern.cpp @@ -1264,7 +1264,7 @@ void patternView::paintEvent( QPaintEvent * ) } } - p.setFont( pointSize<7>( p.font() ) ); + p.setFont( pointSize<8>( p.font() ) ); if( m_pat->isMuted() || m_pat->getTrack()->isMuted() ) { p.setPen( QColor( 192, 192, 192 ) ); From 68fd7edfd8cc2f4cee17755a53afeab1a2264b50 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Wed, 22 Jan 2014 22:57:19 +0100 Subject: [PATCH 15/18] InstrumentTrack: shorter label for FX channel spinbox --- src/tracks/InstrumentTrack.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tracks/InstrumentTrack.cpp b/src/tracks/InstrumentTrack.cpp index c00aa8ba1..876def5f5 100644 --- a/src/tracks/InstrumentTrack.cpp +++ b/src/tracks/InstrumentTrack.cpp @@ -1321,7 +1321,7 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) : // setup spinbox for selecting FX-channel m_effectChannelNumber = new fxLineLcdSpinBox( 2, NULL, tr( "FX channel" ) ); - m_effectChannelNumber->setLabel( tr( "FX CHNL" ) ); + m_effectChannelNumber->setLabel( tr( "FX" ) ); basicControlsLayout->addWidget( m_effectChannelNumber ); From 8ecaef1f30f6dbf3efbb6439be1e8e381d6bf2dc Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Wed, 22 Jan 2014 22:57:29 +0100 Subject: [PATCH 16/18] InstrumentSoundShapingView: shorter label for filter frequency knob --- src/gui/widgets/InstrumentSoundShapingView.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/gui/widgets/InstrumentSoundShapingView.cpp b/src/gui/widgets/InstrumentSoundShapingView.cpp index bb8c14b1e..7e54705d9 100644 --- a/src/gui/widgets/InstrumentSoundShapingView.cpp +++ b/src/gui/widgets/InstrumentSoundShapingView.cpp @@ -95,10 +95,9 @@ InstrumentSoundShapingView::InstrumentSoundShapingView( QWidget * _parent ) : m_filterCutKnob = new knob( knobBright_26, m_filterGroupBox ); - m_filterCutKnob->setLabel( tr( "CUTOFF" ) ); + m_filterCutKnob->setLabel( tr( "FREQ" ) ); m_filterCutKnob->move( 140, 18 ); - m_filterCutKnob->setHintText( tr( "cutoff-frequency:" ) + " ", " " + - tr( "Hz" ) ); + m_filterCutKnob->setHintText( tr( "cutoff frequency:" ) + " ", " " + tr( "Hz" ) ); m_filterCutKnob->setWhatsThis( tr( "Use this knob for setting the cutoff frequency for the " "selected filter. The cutoff frequency specifies the " From 12149d50893c69f3a5f07dcb12fffb951e05dd92 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Wed, 22 Jan 2014 23:02:51 +0100 Subject: [PATCH 17/18] LedCheckBox: fixed label alignment After switching to wide rectangular LED pixmaps and increasing the font size we need to adjust aligment of label. --- src/gui/widgets/led_checkbox.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/gui/widgets/led_checkbox.cpp b/src/gui/widgets/led_checkbox.cpp index 37b91bf6b..142bee740 100644 --- a/src/gui/widgets/led_checkbox.cpp +++ b/src/gui/widgets/led_checkbox.cpp @@ -1,7 +1,7 @@ /* * led_checkbox.cpp - class ledCheckBox, an improved QCheckBox * - * Copyright (c) 2005-2009 Tobias Doerffel + * Copyright (c) 2005-2014 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -54,9 +54,7 @@ ledCheckBox::ledCheckBox( const QString & _text, QWidget * _parent, m_ledOffPixmap = new QPixmap( embed::getIconPixmap( "led_off" ) ); setFont( pointSize<7>( font() ) ); - setFixedSize( m_ledOffPixmap->width() + 4 + - QFontMetrics( font() ).width( text() ), - m_ledOffPixmap->height() ); + setFixedSize( m_ledOffPixmap->width() + 5 + QFontMetrics( font() ).width( text() ), m_ledOffPixmap->height() ); } @@ -86,9 +84,9 @@ void ledCheckBox::paintEvent( QPaintEvent * ) } p.setPen( QColor( 64, 64, 64 ) ); - p.drawText( m_ledOffPixmap->width() + 3, 10, text() ); + p.drawText( m_ledOffPixmap->width() + 4, 11, text() ); p.setPen( QColor( 255, 255, 255 ) ); - p.drawText( m_ledOffPixmap->width() + 2, 9, text() ); + p.drawText( m_ledOffPixmap->width() + 3, 10, text() ); } From 3a53473d10474519db75efb443256aaca1a71730 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Wed, 22 Jan 2014 23:13:19 +0100 Subject: [PATCH 18/18] Timeline: use right click + shift to move left loop point Moving the left loop point is now possible using right click + shift instead of the middle mouse button (which is difficult on laptops). Furthermore some coding style improvements. Closes #81. --- src/core/timeline.cpp | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/src/core/timeline.cpp b/src/core/timeline.cpp index a517fb1e9..d392ff8c4 100644 --- a/src/core/timeline.cpp +++ b/src/core/timeline.cpp @@ -265,55 +265,59 @@ void timeLine::paintEvent( QPaintEvent * ) -void timeLine::mousePressEvent( QMouseEvent * _me ) +void timeLine::mousePressEvent( QMouseEvent* event ) { - if( _me->x() < m_xOffset ) + if( event->x() < m_xOffset ) { return; } - if( _me->button() == Qt::LeftButton ) + if( event->button() == Qt::LeftButton ) { m_action = MovePositionMarker; - if( _me->x() - m_xOffset < s_posMarkerPixmap->width() ) + if( event->x() - m_xOffset < s_posMarkerPixmap->width() ) { - m_moveXOff = _me->x() - m_xOffset; + m_moveXOff = event->x() - m_xOffset; } else { m_moveXOff = s_posMarkerPixmap->width() / 2; } } - else + else if( event->button() == Qt::RightButton ) { - const midiTime t = m_begin + static_cast( _me->x() * midiTime::ticksPerTact() / m_ppt ); - m_action = MoveLoopBegin; + const midiTime t = m_begin + static_cast( event->x() * midiTime::ticksPerTact() / m_ppt ); if( m_loopPos[0] > m_loopPos[1] ) { qSwap( m_loopPos[0], m_loopPos[1] ); } - if( _me->button() == Qt::RightButton ) + if( event->modifiers() & Qt::ShiftModifier ) + { + m_action = MoveLoopBegin; + } + else { m_action = MoveLoopEnd; } m_loopPos[( m_action == MoveLoopBegin ) ? 0 : 1] = t; } + if( m_action == MoveLoopBegin || m_action == MoveLoopEnd ) { delete m_hint; m_hint = textFloat::displayMessage( tr( "Hint" ), - tr( "Press to disable magnetic " - "loop-points." ), + tr( "Press to disable magnetic loop points." ), embed::getIconPixmap( "hint" ), 0 ); } - mouseMoveEvent( _me ); + + mouseMoveEvent( event ); } -void timeLine::mouseMoveEvent( QMouseEvent * _me ) +void timeLine::mouseMoveEvent( QMouseEvent* event ) { - const midiTime t = m_begin + static_cast( qMax( _me->x() - m_xOffset - m_moveXOff, 0 ) * midiTime::ticksPerTact() / m_ppt ); + const midiTime t = m_begin + static_cast( qMax( event->x() - m_xOffset - m_moveXOff, 0 ) * midiTime::ticksPerTact() / m_ppt ); switch( m_action ) { @@ -328,7 +332,7 @@ void timeLine::mouseMoveEvent( QMouseEvent * _me ) case MoveLoopEnd: { const int i = m_action - MoveLoopBegin; - if( _me->modifiers() & Qt::ControlModifier ) + if( event->modifiers() & Qt::ControlModifier ) { // no ctrl-press-hint when having ctrl pressed delete m_hint; @@ -361,7 +365,7 @@ void timeLine::mouseMoveEvent( QMouseEvent * _me ) -void timeLine::mouseReleaseEvent( QMouseEvent * _me ) +void timeLine::mouseReleaseEvent( QMouseEvent* event ) { delete m_hint; m_hint = NULL;