-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Support for alternative tunings and keyboard mappings #5522
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
80 commits
Select commit
Hold shift + click to select a range
7e55bfb
Extend LMMS note range to match MIDI specification (fixes #1857)
he29-net 67fc3a6
Update src/core/midi/MidiClient.cpp
he29-net 8319133
Apply suggestions from code review
he29-net 3dea4b9
Formatting changes
he29-net 9dc7985
Remove useless Note.h includes, fix basenote and octave offsets in Hy…
he29-net 1e35331
Migrate all presets to new basenote; remove offset from OpulenZ
he29-net d5b94f8
Implement upgrade routine for affected instruments; replace c-style c…
he29-net a2aebb5
WIP, initial GUI mockup
he29-net 8aea594
Basic Microtuner skeleton; implement note boundary settings and checks
he29-net f499328
Draw disabled PianoView keys with lower contrast; WIP the same for Pi…
he29-net 4778b8e
Finish range grey-out for PianoRoll after rebase
he29-net 0255e6d
Checkpoint before nuking the in-instrument scale setup widgets
he29-net bc61c89
Erradicate BaseFreq, get a basic frequency retuning working.
he29-net d979313
WIP, repo sync
he29-net 36dcb3e
Checkpoint before nuking WIP interpolating note detune
he29-net 3906d6d
Key to frequency translation working, native instruments can use pre-…
he29-net 2c95fbe
Remove scale / keymap editor from instrument window; add a project-wi…
he29-net d692376
WIP before potentially nuking the LUT approach; working Scale→freq ta…
he29-net 418174e
Moved from LUT approach to on-demand frequency calculation, added bas…
he29-net d668090
Keyboard mapping probably kinda working
he29-net 233d37e
Validation of user entered scale and keymap data
he29-net 52f066a
Draft of LcdFloatSpinBox; range spinboxes connected to dummy models
he29-net d5eb119
Finish LcdFloatSpinBox
he29-net f5a5d6b
Scale and keymap storage migrated to shared_ptr; changes from config …
he29-net 39d12a3
Update scale and keymap lists in clients when an element is changed
he29-net ca96392
Mostly GUI tweaks
he29-net 847ac55
Implement save / load functionality; various other small fixes and ch…
he29-net 1fac892
Add a few scales and mappings to the default template; update drawing…
he29-net fa2483a
Add missing <memory> include
he29-net 5217dcf
Implement .scl and .kbm save and load functionality
he29-net b55dbe5
Allow empty keymap, treat it as "all keys, 1:1"
he29-net 2bfd2ed
Propagate keymap updates to PianoRoll and PianoView; fix segfault in …
he29-net 2b51902
GUI tweaks (don't show microtuner options for MIDI-based instruments;…
he29-net afd06b3
Cleanup pass (code style, dead / debug code, old comments, ..)
he29-net ef13dc9
Apply suggestions from code review
he29-net 0cbeec1
Change formatting of the Keymap constructor
he29-net e958de9
Add an explicit QPainterPath include since MacOS suddenly does not bu…
he29-net b931977
Merge remote-tracking branch 'upstream/master' into microtonal
he29-net 4951321
Merge remote-tracking branch 'upstream/master' into microtonal
he29-net 22e6ed6
Bug fixes after the merge
he29-net 750a547
Fix font metric margin addition
he29-net a9f7930
Formatting and NULL → nullptr changes from suggestions
he29-net be82613
Update formatting in src/tracks/InstrumentTrack.cpp
he29-net 7598334
Merge branch 'master' into microtonal
he29-net 0176e99
Update formatting in src/gui/editors/PianoRoll.cpp
he29-net e714cee
Update formatting in PianoRoll.cpp
he29-net 0009986
Fix octave wrapping for empty scale, remove dead code
he29-net 8077547
Fix note descriptions in Xpressive; request change in model before re…
he29-net 6e03859
Apply suggestions from code review
he29-net 7a5375d
Batch of simple changes suggested in review
he29-net dd566f5
Batch of fixes and tweaks
he29-net 68f36d7
Apply suggestions from code review
he29-net b0c5e70
PianoView tweaks
he29-net ff463a4
Fix Hydrogen import, rewrite upgrade routine
he29-net b504a6b
Merge branch 'master' into microtonal
he29-net b606900
Fix merge error
he29-net 6af2964
Oopsie
he29-net 89c2cd4
Merge branch 'master' into microtonal
he29-net d961a3e
Changes from review (comment update, range based loop, lv2instrument)
he29-net be245cc
Merge branch 'master' into microtonal
he29-net 1d0b82c
Fix the upgrade routine
he29-net 97470ce
Batch of implemented suggestions from review
he29-net 49176ad
Refactor Scale class (constructors + ratio caching)
he29-net 5f2ab6b
Pass QStrings and vectors in Keymap and Scale using references, remov…
he29-net c83281e
More accurate PianoView scrolling; fix velocity from height; move bla…
he29-net 18d4a8d
Merge enabled() condition into keyRangeImport(); add missing update t…
he29-net 58be1b6
Remove deprecated bitmaps
he29-net 7d18486
Separate LcdFloatSpinBox to another PR (step 1)
he29-net 9af416b
Separate LcdFloatSpinBox to another PR (step 2)
he29-net 3fcf65b
Merge remote-tracking branch 'upstream/master' into microtonal
he29-net 29c92d8
Replace the placeholder base frequency knob with LcdFloatSpinBox
he29-net 4032005
Merge remote-tracking branch 'upstream/master' into microtonal
he29-net 05f82cf
Cherry pick and modify "The Great Purge (and a modified preset upgrad…
he29-net 2a42b83
Fix kicker basenote in default template; small formatting changes
he29-net 9dcf2ad
Apply suggestions from code review
he29-net 41650d7
Make Microtuner Config window resizable; do not save unnecessary inte…
8b4ca5b
Move some functions from Microtuner to InstrumentTrack, remove Instru…
he29-net c0f80f1
Fix forgotten microtuner calls in sfxr and AFP
he29-net c7024dc
Revert "Pass QStrings and vectors in Keymap and Scale using reference…
he29-net fe44d15
Revert reverted piece of Keymap.h formatting
he29-net File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,63 @@ | ||
| /* | ||
| * InstrumentMiscView.h - widget in instrument-track-window for setting up | ||
| * miscellaneous options not covered by other tabs | ||
| * | ||
| * Copyright (c) 2005-2014 Tobias Doerffel <tobydox/at/users.sourceforge.net> | ||
| * Copyright (c) 2020 Martin Pavelek <he29.HS/at/gmail.com> | ||
| * | ||
| * This file is part of LMMS - https://lmms.io | ||
| * | ||
| * This program is free software; you can redistribute it and/or | ||
| * modify it under the terms of the GNU General Public | ||
| * License as published by the Free Software Foundation; either | ||
| * version 2 of the License, or (at your option) any later version. | ||
| * | ||
| * This program is distributed in the hope that it will be useful, | ||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| * General Public License for more details. | ||
| * | ||
| * You should have received a copy of the GNU General Public | ||
| * License along with this program (see COPYING); if not, write to the | ||
| * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| * Boston, MA 02110-1301 USA. | ||
| * | ||
| */ | ||
|
|
||
| #ifndef INSTRUMENT_MISC_VIEW_H | ||
| #define INSTRUMENT_MISC_VIEW_H | ||
|
|
||
| #include <QWidget> | ||
|
|
||
|
|
||
| class ComboBox; | ||
| class GroupBox; | ||
| class InstrumentTrack; | ||
| class LedCheckBox; | ||
|
|
||
|
|
||
| class InstrumentMiscView : public QWidget | ||
| { | ||
| Q_OBJECT | ||
| public: | ||
| InstrumentMiscView(InstrumentTrack *it, QWidget *parent); | ||
|
|
||
| GroupBox *pitchGroupBox() {return m_pitchGroupBox;} | ||
| GroupBox *microtunerGroupBox() {return m_microtunerGroupBox;} | ||
|
|
||
| ComboBox *scaleCombo() {return m_scaleCombo;} | ||
| ComboBox *keymapCombo() {return m_keymapCombo;} | ||
|
|
||
| LedCheckBox *rangeImportCheckbox() {return m_rangeImportCheckbox;} | ||
|
|
||
| private: | ||
| GroupBox *m_pitchGroupBox; | ||
| GroupBox *m_microtunerGroupBox; | ||
|
|
||
| ComboBox *m_scaleCombo; | ||
| ComboBox *m_keymapCombo; | ||
|
|
||
| LedCheckBox *m_rangeImportCheckbox; | ||
| }; | ||
|
|
||
| #endif | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.