Commit Graph

56 Commits

Author SHA1 Message Date
Tobias Doerffel
4e3072137b PianoRoll: fixed messed up editing modes when pressing Ctrl
There were some bugs when pressing Ctrl while in SelectMode. Fix this
by always setting m_ctrlMode and m_editMode in keyPressEvent() when
Ctrl was pressed.

Closes #2854958 and #2836576.
(cherry picked from commit 46c20bdcbd)
2010-08-18 23:58:49 +02:00
Tobias Doerffel
89eae05a16 Renamed all automation related files and classes to match new coding style
All automation-related files and classes have been renamed to match the
new coding style.
(cherry picked from commit 9b280ffb3e)
2010-08-16 23:40:33 +02:00
Tobias Doerffel
1d5cb23385 File and class renames part 1
Most files and most of the core classes and their methods have been
renamed to match new coding style conventions:

391 files changed, 25400 insertions(+), 25598 deletions(-)

Furthermore splitted some files where model and view classes were
declared or implemented together in the same file.

Should be tested thoroughly as I might have missed renaming some virtual
methods or SIGNAL/SLOT parameters.
(cherry picked from commit 8c9a9dd14c)
2009-08-25 01:30:41 +02:00
Tobias Doerffel
d536d851a4 PianoRoll: removed duplicate function call in testPlayNote()
There's no need to send a MidiNotePanning event twice in
PianoRoll::testPlayNote(). Removed the duplicate function call.
(cherry picked from commit 4cdcd1a670)
2009-08-05 17:19:59 +02:00
Tobias Doerffel
d555db6109 PianoRoll: switch back to draw note after pasting notes
When pasing notes via Ctrl+V somehow the edit-tool was left in an
undefined state. Therefore explicitely switch back to draw mode so
user can move pasted notes (closes #2808607).

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit cf7539caaf)
2009-07-07 10:49:09 +02:00
Tobias Doerffel
c222c062c5 PianoRoll: fixed crash with detune tool
When clicking at an invalid position with the detune tool, LMMS could
crash as an invalid iterator was referenced (closes #2808589).

Furthermore renamed PianoRoll::ModeOpen to PianoRoll::ModeEditDetuning.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 9ca93040de)
2009-06-18 23:33:21 +02:00
Tobias Doerffel
7a632277b8 Renamed type noteVector to NoteVector
Renamed type noteVector to NoteVector as well as ::iterator to
::Iterator and ::const_iterator to ::ConstIterator.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit e12476f79c)
2009-06-18 23:32:32 +02:00
Tobias Doerffel
57c4a5abc5 MultimediaProject: splitted constructor for loading either file or data
The old constructor treated the string argument either as filename or
as raw XML data, depending on 2nd parameter. This is a mess and quickly
leads to confusion.

Now we have two constructors taking either a filename as string or a
QByteArray with XML data. Loading actual data has been separated into
MultimediaProject::loadData( const QByteArray & ).

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 5a00ebd360)
2009-06-11 01:16:30 +02:00
Tobias Doerffel
5cd54b3f20 PianoRoll: removed unused variable
Removed unused variable volumeHandles in
PianoRoll::computeSelectedNotes(bool) which as a side-effect also fixes

/usr/include/qt4/QtCore/qvector.h: In member function ‘void PianoRoll::computeSelectedNotes(bool)’:
/usr/include/qt4/QtCore/qvector.h:421: warning: dereferencing pointer ‘<anonymous>’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:114: note: initialized from here
(cherry picked from commit 24353ca248)
2009-05-16 17:02:02 +02:00
Tobias Doerffel
e0a26a35fc PianoRoll: do not make notes disappear under certain circumstances
When starting LMMS, loading an existing project and opening a pattern
with notes inside in piano roll, moving single notes showed unexpected
behaviour, i.e. the according note has been moved somewhere unreachable.

I tracked this down to a missing initialization of m_moveBoundary*
variables. Adding a few lines fixes the issue (closes #2632909).
(cherry picked from commit efb335cea7)
2009-04-17 15:13:44 +02:00
Tobias Doerffel
0edc0db7bd PianoView/PianoRoll: fixed keycodes for OS X
This patch enables the usage of PC keyboard for playing instrument piano
or piano roll on OS X by evaluating nativeVirtualKey rather than
nativeScanCode.
(cherry picked from commit 6f0388be7c)
2009-04-16 10:46:54 +02:00
Tobias Doerffel
ec07aef5ac Fixed various types to be suffixed with "_t".
This commit ensures that all defined data types in include/lmms_basics.h are
suffxed with "_t" to keep consistency as well as to fix issues on systems
with older STL/libstdc++.
(cherry picked from commit 7449c4f731)
2009-03-15 21:50:38 +01:00
Tobias Doerffel
625c947d7a move timeLine marker in Piano Roll and autoscroll when recording while playing song (closes #2486334) (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2054 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-19 14:27:42 +00:00
Tobias Doerffel
264ad268ba more record-accompany fixes (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2052 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-19 13:57:22 +00:00
Tobias Doerffel
c720c1f4c8 stable backport:
fixed various bugs regarding recording:
* once recording has been started, stop it as soon as playMode of song changes or similiar things happen (closes #2486341)
* fixed broken record-accompany in most use-cases other than using record-while-playing-song by also tracking NoteOn events and 
remember current play position to use
the correct note postitions on NoteOff events (play position might have wrapped around in the meantime due to looppoints or end 
of BB track) (closes #2486299, #2486203)



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2048 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-19 13:39:42 +00:00
Tobias Doerffel
84f3ecf76b ensure, cursor is never NULL when painting it in paintEvent()
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2021 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-12 22:53:07 +00:00
Tobias Doerffel
aa575bca83 fixed bug: you can use shift+left to move notes past the beginning (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@1997 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-05 09:06:58 +00:00
Tobias Doerffel
fb25a51b5f changed modifier detection from mainWindow::isCtrlPressed etc to Qt framework detection. Fixes a bunch of little glitches and enables horizontal scroll wheels (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@1949 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-12-17 11:51:27 +00:00
Tobias Doerffel
1381709a58 set OpaquePaintEvent attribute for all widgets where suitable (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@1836 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-11-11 08:48:12 +00:00
Tobias Doerffel
19800a6971 fixed autoscroll feature in piano-roll (closes #2204508)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1813 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-29 08:48:33 +00:00
Tobias Doerffel
b38addd9c7 do not crash when pressing right mouse button while moving a note with left mouse button
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1744 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-04 23:25:18 +00:00
Tobias Doerffel
796c1af534 fixed typo
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1740 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-04 23:21:25 +00:00
Tobias Doerffel
fce25dc625 fixed a bunch warnings and remarks issued by Intel Compiler
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1722 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-02 11:48:59 +00:00
Tobias Doerffel
9d49857dd4 play preview notes also while playing (closes #2089399)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1711 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-25 20:51:58 +00:00
Tobias Doerffel
dea184a993 fixed quantization when moving selected notes (closes #2118371)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1643 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-20 13:19:16 +00:00
Paul Giblock
baf274fac4 Add new piano-roll shortcuts to trunk
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1623 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-17 08:15:06 +00:00
Paul Giblock
72f4062d3d Graph cursor and new piano roll paste.
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1529 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-02 04:41:13 +00:00
Paul Giblock
9bcf42cca5 Refresh painting after chaning PRE Quantization
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1510 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-08-27 14:26:04 +00:00
Paul Giblock
f539fce7e1 Improved triplet support in piano roll
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1506 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-08-27 09:05:37 +00:00
Paul Giblock
48c8bce9c6 Improved triplet support in piano roll
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1505 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-08-27 09:01:03 +00:00
Paul Giblock
f4ca1fd758 Fix English grammer, punctuation, and hard to read strings
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1479 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-08-23 21:10:01 +00:00
Tobias Doerffel
8c55ce52ac fixed notes appearing X times in pattern when recording from MIDI-device (closes #2058971)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1463 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-08-22 19:33:58 +00:00
Tobias Doerffel
06ade7d4c9 fixed moving selected notes (closes #2039248, #2039254, #2043463)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1458 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-08-22 13:20:31 +00:00
Tobias Doerffel
e637495489 migrated build-system to CMAKE
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1352 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-22 11:36:50 +00:00
Tobias Doerffel
fcfb02fbaa fixed various leaks I found using Valgrind
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1220 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-30 10:54:46 +00:00
Paul Giblock
8474590f94 subWindow resizing, minimum, and intial sizes
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1219 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-30 04:03:31 +00:00
Tobias Doerffel
88971109d0 made note-detuning-automation work by making automationPatterns also work without a parent-track and writing a generic inlineAutomation-class
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1185 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-28 10:06:54 +00:00
Tobias Doerffel
9bebe4325b * completely new automation-system with automation-tracks and automation-patterns as well as song-global automation
* made modelView take a QWidget-pointer argument
* trackContentObject-ctor now calls track::addTCO() directly
* optimize various loops to use iterators/const_iterators instead of a running index variable
* drag'n'drop doesn't fool around with pointers anymore - instead use unique journalling-IDs
* moved drag'n'drop handling code from knob to automatableModelView so that all controls can benefit from that



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1164 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-23 22:36:33 +00:00
Tobias Doerffel
d6262bb556 use lmmsconfig.h rather than config.h and use prefixed macro-names
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1097 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-08 11:30:47 +00:00
Tobias Doerffel
280d9bdcc0 made MidiEventTypes-enum conform coding-style, i.e. MidiNoteOn instead of NOTE_ON etc.
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1091 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-07 22:14:25 +00:00
Tobias Doerffel
231bef1349 rewrote management of MIDI-ports and MIDI-port subscriptions - now it's central and easy to use
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1087 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-07 21:20:35 +00:00
Tobias Doerffel
acba64f092 fixed various GCC-warnings
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1077 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-05 17:26:17 +00:00
Paul Giblock
04975bef9a Improve PRE volume bars
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1035 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-31 16:33:55 +00:00
Tobias Doerffel
d5701ac014 reworked automatableModel (not template-based anymore), removed levelObject, splitted comboBox/comboBoxModel-source-files, began to unify context-menu-creation for controls
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1031 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-28 11:47:45 +00:00
Tobias Doerffel
bf077dd520 implemented support for time-signatures other than 4/4
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1021 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-25 22:43:53 +00:00
Paul Giblock
642385f4ce Piano-roll scroll bug fixed. Added record-with-accompaniment demo
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1007 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-21 05:07:32 +00:00
Tobias Doerffel
aa08d06068 * plugins and core: use new pluginPixmapLoader
* lmmsStyle-class: load stylesheet here
* comboBox/comboBoxModel: use pixmapLoader-pointers rather than QPixmap-pointers
* in plugin-descriptor, hold a pointer to pixmapLoader instead of QPixmap itself
* embed-framework: introduced pixmapLoader and pluginPixmapLoader-classes for abstracting QPixmap-instantiation - models can hold pixmapLoaders without actually instantiating a QPixmap-object and views can access the pixmap
* main-window: removed settings-menu and moved setup-dialog to edit-menu
* config-manager: removed all the obsolete first-startup-wizard-code



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@999 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-20 23:41:45 +00:00
Paul Giblock
fc63352e55 Allow selection of first note in pianoroll, as long as the mouse isn't too fast
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@978 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-17 15:35:21 +00:00
Tobias Doerffel
5cfb1b2f96 made quality-settings (internal processing samplerate, interpolation and so on) independent of audio-devices (final output) and added new qualitySettings-structure to mixer - might be still buggy and HQ-mode is currently not working, this is going to be fixed tomorrow, anyways important preparation for new project-export-dialog
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@957 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-05 23:14:48 +00:00
Paul Giblock
389f58e0b7 Fixed piano roll selected note movement for the most part
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@949 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-04-30 17:21:37 +00:00