Commit Graph

66 Commits

Author SHA1 Message Date
Dominic Clark
f10277715f Classier enums (#6760) 2023-08-24 19:16:02 +01:00
saker
9a0add49fb Core Refactor: Replace `QVector with std::vector` (#6477)
* Replace QVector with std::vector in AudioEngine

* Replace QVector with std::vector in AudioEngineWorkerThread

* Replace QVector with std::vector in AudioJack

* Replace QVector with std::vector in AutomatableModel

* Replace QVector with std::vector in AutomationClip

* Replace QVector with std::vector in AutomationEditor

* Replace QVector with std::vector in ConfigManager

* Replace QVector with std::vector in Controller

* Replace QVector with std::vector in ControllerConnection

* Replace QVector with std::vector in EffectChain

* Replace QVector with std::vector in EnvelopeAndLfoParameters

* Replace QVector with std::vector in InstrumentFunctions

* Replace QVector with std::vector in MidiClient

* Replace QVector with std::vector in Mixer

* Replace QVector with std::vector in Note

* Replace QVector with std::vector in PeakController

* Replace QVector with std::vector in PianoRoll

* Replace QVector with std::vector in PluginFactory

* Replace QVector with std::vector in RenderManager

* Replace QVector with std::vector in StepRecorder

* Replace QVector with std::vector in Track

* Replace QVector with std::vector in TrackContainer

* Replace QVector with std::vector in Song

* Adapt QVector to std::vector changes in ControllerConnectionDialog

* Phase 2: Use std::abs in panning.h
Without this, the QVector changes will make the code not compile.

* Phase 2: Replace QVector with std::vector in PeakControllerEffect

* Phase 2: Replace QVector with std::vector in AutomatableModel

* Phase 2: Replace QVector with std::vector in AutomationClip

* Phase 2: Replace QVector with std::vector in ControllerConnection

* Phase 2: Replace QVector with std::vector in EffectChain

* Phase 2: Replace QVector with std::vector in Mixer

* Phase 2: Replace QVector with std::vector in PeakController

* Phase 2: Replace QVector with std::vector in RenderManager

* Phase 2: Replace QVector with std::vector in Song

* Phase 2: Replace QVector with std::vector in StepRecorder

* Phase 2: Replace QVector with std::vector in Track

* Phase 2: Replace QVector with std::vector in TrackContainer

* Phase 2: Adapt QVector changes in EffectRackView

* Phase 2: Adapt QVector changes in AutomationClipView

* Phase 2: Adapt QVector changes in ClipView

* Phase 2: Adapt QVector changes in AutomationEditor

* Phase 2: Adapt QVector changes in PianoRoll

* Phase 2: Adapt QVector changes in TrackContainerView

* Phase 2: Adapt QVector changes in TrackContentWidget

* Phase 2: Adapt QVector changes in InstrumentTrack

* Phase 2: Adapt QVector changes in MidiClip

* Phase 2: Adapt QVector changes in SampleTrack

* Fix segmentation fault in ConfigManager::value

* Fix unintended faulty std::vector insert in AutomationClip::resolveAllIDs

* Resolve trailing whitespace in src/core/StepRecorder.cpp

Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>

* Use std::next and std::prev in EffectChain::moveUp/moveDown

* Introduce static "combineAllTracks" function in AutomationClip

* Adjust variable name in Song::automatedValuesAt

* Adjust removal of long step notes in StepRecorder::removeNotesReleasedForTooLong

* Iterate over m_chords by const reference in src/core/InstrumentFunctions.cpp

Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>

* Fix StepRecorder::removeNotesReleasedForTooLong again

* Combine the ConfigManager::value overloads using std::optional

* Revise StepRecorder::removeNotesReleasedForTooLong

* Remove redundant std::optional in ConfigManager::value

* Remove trailing whitespace in ConfigManager::value

* Fix: Prevent incorrect use of std::distance when element not found

* Chore: Remove trailing whitespace in edited files

* Only set the id attribute if the controller was found

Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>

* Remove extra indents from 84b8fe8a559855ed263b74cc582eab3655250c5f

* Fix compilation issues

* Add LMMS_ prefix for header guard in Track.h

* Undo changes made to MixerView::deleteUnusedChannels

* Simplify code to handle failure of finding tracks
Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>

* Split ternary operator into separate if statement
Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>

* Undo changes to indentation in MixerRoute

* Do general clean-up
Some of the changes made:
+ Use auto where benefical
+ Fix bug in AutomatableModel::globalAutomationValueAt (for loop should be looping over clips variable, not clipsInRange)
+ Undo out of focus whitespace changes

* Always assign to m_steps regardless if clip is found or not
Even when the clip is not found (i.e., currentClip is -1), m_steps still
gets assigned to.

* Insert at the end of tracks vector in src/core/Mixer.cpp

Co-authored-by: Dominic Clark <mrdomclark@gmail.com>

* Insert at the end of tracks vector in src/core/Mixer.cpp (2)

Co-authored-by: Dominic Clark <mrdomclark@gmail.com>

* Remove redundant template parameter

* Use std::array for zoomLevels

---------

Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
2023-08-22 12:08:56 +09:00
Dalton Messmer
2c6d88f799 Add GUARD_H closing comments 2023-01-05 17:58:49 -05:00
Dalton Messmer
fe6df8dbaf Add namespace prefix to include guards 2023-01-02 19:51:32 -05:00
saker
b451e40b51 clang-tidy: Apply modernize-use-using everywhere (#6453) 2022-07-07 10:54:34 +02:00
Levin Oehlmann
28ec71f91a clang-tidy: Apply modernize-use-equals-default everywhere (#6450) 2022-06-26 08:48:24 +02:00
Levin Oehlmann
5904b249c0 clang-tidy: Apply modernize-use-override everywhere (#6439)
... to mark overriding functions `override` instead of `virtual`.
2022-06-19 23:03:55 +02:00
Levin Oehlmann
7227c89847 Namespace lmms (#6174)
This PR places all LMMS symbols into namespaces to eliminate any potential future name collisions between LMMS and third-party modules.

Also, this PR changes back `LmmsCore` to `Engine`, reverting c519921306 .

Co-authored-by: allejok96 <allejok96@gmail.com>
2022-06-19 20:08:46 +02:00
Johannes Lorenz
7db3fa94a1 Improve includes (#6320)
* Update ringbuffer submodule to fix includes

* Remove cyclic includes

* Remove Qt include prefixes

* Include C++ versions of C headers

E.g.: assert.h -> cassert

* Move CLIP_BORDER_WIDTH into ClipView

This allows to remove includes to TrackView.h in ClipView cpp files.

* Elliminate useless includes

This improves the include structure by elliminating includes that are
not used. Most of this was done by using `include-what-you-use` with
`CMAKE_C_INCLUDE_WHAT_YOU_USE` and `CMAKE_CXX_INCLUDE_WHAT_YOU_USE`
set to (broken down here):

```
include-what-you-use;
    -Xiwyu;--mapping_file=/usr/share/include-what-you-use/qt5_11.imp;
    -Xiwyu;--keep=*/xmmintrin.h;
    -Xiwyu;--keep=*/lmmsconfig.h;
    -Xiwyu;--keep=*/weak_libjack.h;
    -Xiwyu;--keep=*/sys/*;
    -Xiwyu;--keep=*/debug.h;
    -Xiwyu;--keep=*/SDL/*;
    -Xiwyu;--keep=*/alsa/*;
    -Xiwyu;--keep=*/FL/x.h;
    -Xiwyu;--keep=*/MidiApple.h;
    -Xiwyu;--keep=*/MidiWinMM.h;
    -Xiwyu;--keep=*/AudioSoundIo.h
```

* Fixup: Remove empty #if-#ifdef pairs

* Remove LMMS_HAVE_STD(LIB|INT)_H
2022-03-02 13:30:43 +01:00
Alex
dc73911391 Rename Beat/Bassline to Pattern (#6284)
- BB* -> Pattern*
- BBTrackContainer -> PatternStore
- BBTrackContainerView -> PatternEditor
- BBEditor -> PatternEditorWindow

Does not touch save files
2022-02-13 09:03:37 +01:00
Alexandre Almeida
55d361fb65 Rename TCO and related to Clip (#6226)
This PR renames

    TCO -> Clip
    Pattern -> MidiClip
    *TCO and *TCOView -> *Clip and *ClipView

The savefiles are not yet modified by this PR.
2022-01-14 05:45:21 +01:00
Hyunjin Song
5b2570def5 Revert "Fix validPattern to check if hasAutomation as well (#5124)" (#6041)
This reverts commit e37f3793f3.
2021-06-06 11:27:58 +09:00
David CARLIER
e9f264e37f Gui editors: Use float for zoom precision (#6008)
This fixes build errors with casts.
2021-05-15 17:17:40 +02:00
IanCaio
3ab86fa381 Automation Node fine tuning with double-click (Rewrites #5292) (#5923)
Co-authored-by: tecknixia <50790262+tecknixia@users.noreply.github.com>
2021-03-27 23:32:51 -03:00
IanCaio
e880e3cb2a Changes AutomationPattern to use nodes instead of raw float values (#5712) 2021-02-28 06:48:15 -03:00
Alexandre Almeida
6e081265ba Rename MidiTime to TimePos (#5684)
Fixes #4866
2020-11-29 19:46:13 +01:00
Kevin Zander
966f18423f Center vertical scroll position when opening the Automation Editor (#5123)
* Center vertical scroll position when opening the Automation Editor
2020-08-11 10:18:34 -05:00
Kevin Zander
e37f3793f3 Fix validPattern to check if hasAutomation as well (#5124) 2020-07-29 20:26:20 +02:00
tecknixia
abcfee1334 disable drag after drawing line (#5315) 2020-04-22 20:47:59 +02:00
David CARLIER
dac59a5fa0 C++11 inheritance updates
Add `override` and remove `virtual` where applicable
2019-10-31 20:05:33 +01:00
Alexandre Almeida
53e6b645c8 Use "bar" instead of "tact"
Closes #4865
2019-10-31 15:13:25 +01:00
https://gitlab.com/users/CYBERDEViLNL
5132d91bfc Give focus to AutomationEditor when the window gets the foucs (#5170)
This will make shortcuts work on opening the editor.
2019-10-02 08:00:11 +09:00
Oskar Wallgren
f9ab2dec02 Automation Point delete radius and size (#3902)
* Fix Automation Point delete radius. At lower zoom deleting would miss
automation points to delete and at higher zoom it would be too generous
and remove neighbouring points.

* Increase smallest Automation Point radius. For  visibility. The smallest
Automatin Point radius was tiny.
2017-10-24 17:42:30 +02:00
Uroš Šišović
e879fad25d Right Mouse Button To Erase Nodes In Automation Editor Cursor Icon... (#3414)
* Right Mouse Button To Erase Nodes In Automation Editor Cursor Icon Does Not Change #3310

* Remove unused member m_mouseDownLeft from PianoRoll

* Add move cursor for automation points drag
2017-03-13 01:14:42 +01:00
TheTravelingSpaceman
899e386df7 Aliasing in AutomationPatternView and AutomationEditor fixed (#3386)
* Ailiasing in AutomationPatternView; ERROR: Doesn't draw unreferanced tracks

* Draws one polygon instead of 'poly'-polygons

* Changed QPoints to QPointF

* Added int MidiTpT constant

* Added ppTact for reduced computation

* Added spaces in parentheses to be consistent

* Variable name change and spacing

* S P A C E S

* Anti-Aliasing of Automation Editor

* Commented out all referances to unused is_selected

* Changed css to non-gradient graphs

* Added Brackets

* Removed no-pixel line at bottom of graph

* Revert "Added Brackets"

This reverts commit ff801868b7.

* Revert "Revert "Added Brackets""

This reverts commit 4e127a78df.

* Revert "Removed no-pixel line at bottom of graph"

This reverts commit 940c766b61.
2017-03-13 01:14:05 +01:00
Umcaruje
de2e164aae Piano Roll and Automation editor grid redesign (w/ @BaraMGB) (#3062)
* Make dem grid ndasd

* grid BG

* fix bug in scroll behavior

* debugging scrolling

* Add CSS property, port to automation editor

* Fix a fail

* Spaces to tabs

* Use fillRect rather than drawRect

* Implement @vlad1777d's idea

* Seperate loops and stuff

* Finish up Piano Roll Grid

* Cleanup

* Redesign the grid for the Automation Editor

* Update colors

* Formatting changes

* formatting changes II
2017-02-22 19:56:32 +01:00
grejppi
9e85d7c66e update all copyright headers to the proper url (#3326) 2017-02-06 02:41:15 +02:00
Steffen Baranowsky
d600d56ad3 change automation editor window title on rename automation pattern 2016-09-18 13:56:36 +02:00
Umcaruje
27eaa4d512 Make scrollbars consistent over the software; Add padding to the scrollbars; Make the PianoView background themeable (#2807)
* Make scrollbars consistent over the software; Add padding to the scrollbars; Make the PianoView background themeable

* Make the scrollbar hover color brighter
2016-06-03 12:21:27 +02:00
Oskar Wallgren
36c181dbea Add zoom 12.5% 2016-05-28 21:18:05 +02:00
Umcaruje
8841b89b6d Merge pull request #2546 from Umcaruje/fixscrollbars
Fix inconsistent scrollbars
2016-02-15 01:38:07 +01:00
Umcaruje
d52d7d9fb7 Get rid of hardcoded colors in the Piano Roll and Automation Editor 2016-02-08 19:44:50 +01:00
Umcaruje
59f8fbd94b Fix inconsistent scrollbars 2016-02-06 12:17:38 +01:00
Colin Wallace
c112e50ddd Removed legacy friend declarations 2015-06-18 03:23:43 +00:00
Dave French
dfbbcfd38b 1416 tidy up 2015-01-23 02:38:17 +00:00
Dave French
c201a41c05 Proposed fix 1416 Drag-and-drop of automatables to Automation Editor 2015-01-23 02:16:30 +00:00
Lukas W
0c4833ca4a Adjust automation editor flip implementation 2015-01-06 23:40:14 +01:00
Lukas W
23e0e0fb8e Merge branch 'master' into ed_refac
Conflicts:
	include/AutomationEditor.h
	include/SongEditor.h
	plugins/delay/delaycontrols.cpp
	plugins/delay/delaycontrolsdialog.cpp
	src/gui/editors/AutomationEditor.cpp
	src/gui/editors/BBEditor.cpp
	src/gui/editors/PianoRoll.cpp
2015-01-06 23:05:13 +01:00
Spekular
eb0b0f5277 Adds automation flipping. 2014-12-23 19:29:50 +01:00
Lukas W
657fb06c49 More Automation refactoring 2014-12-17 11:34:57 +01:00
Lukas W
11cb8b5d68 Automation Editor tension fix 2014-12-12 10:51:15 +01:00
Lukas W
787788870b Introduce ActionGroup subclass 2014-12-11 12:56:51 +01:00
Lukas W
02869b13dd Editors: Some cleanups 2014-12-11 11:24:26 +01:00
Lukas W
51f59293ce Rename Timeline to TimeLineWidget 2014-12-08 23:38:38 +01:00
Lukas W
409e8f2700 AutomationEditor style updates 2014-12-08 23:36:02 +01:00
Lukas W
968e581844 Editors: Don't use ToolButton 2014-12-08 22:25:52 +01:00
Lukas W
f131fbd877 Editors: Add to workspace in MainWindow class, not in themselves 2014-12-08 19:22:52 +01:00
Lukas W
d8db8948a8 Editor: Don't delete on close 2014-12-08 14:47:58 +01:00
Lukas W
02006f9855 Use Editor superclass in AutomationEditor
Split AutomationEditor -> AutomationEditor + AutomationEditorWindow
2014-12-07 12:48:49 +01:00
Lukas W
1bbf7455a4 Rename a lot… 2014-11-26 10:09:49 +01:00