Commit Graph

151 Commits

Author SHA1 Message Date
Vesa
6b7a3c0041 Automation recording: add option to trackops to switch on/off recording in all TCOs on the track
I still had time to implement this convenient little thing, so here you go...
The same code can be reused in the future for sampletracks as well.
2014-05-05 00:37:39 +03:00
Hannu Haahti
885b52cfa8 keep deletion with middle click 2014-04-28 01:07:36 +03:00
Hannu Haahti
cdcba9f685 SongEditor: change middle click to shift+right click, fix #621 2014-04-28 00:38:00 +03:00
Tobias Doerffel
1f661be72c Merge remote-tracking branch 'origin/stable-1.0'
Conflicts:
	plugins/CMakeLists.txt
	plugins/zynaddsubfx/src/Effects/Alienwah.cpp
	src/core/track.cpp
2014-04-12 11:08:27 +02:00
Vesa
7b6d237a89 Track: depointerize qproperties 2014-04-08 12:24:55 +03:00
Steffen Baranowsky
61c5738582 corrects the drag'n'drop behavior in the song editor. 2014-04-06 22:18:33 +02:00
Vesa
994dcd3964 TCOView: Make patternviews foreground elements stylable with qproperties 2014-04-06 11:38:12 +03:00
Vesa
3bcffcdf5b Track: make the song editor background CSS-stylable with qproperties 2014-04-06 11:38:12 +03:00
Tobias Doerffel
bd1d9356b5 TrackContentObjectView: add journal checkpoint in remove() rather than close()
The remove() slot is only called upon user interaction (i.e. right click)
and thus the correct place where to make checkpoints.
2014-03-30 12:37:28 +02:00
Tobias Doerffel
7b8eaa6835 Merge remote-tracking branch 'origin/stable-0.4-undo-redo'
Conflicts:
	include/AutomatableModel.h
	include/MidiPort.h
	include/TrackContainerView.h
	include/surround_area.h
	include/track.h
	src/core/AutomatableModel.cpp
	src/core/TrackContainer.cpp
	src/core/note.cpp
	src/core/track.cpp
	src/gui/PianoRoll.cpp
	src/gui/TrackContainerView.cpp
	src/gui/widgets/LcdSpinBox.cpp
2014-03-24 19:37:26 +01:00
Vesa
0947bcf70f Song editor: fix jittery tracks bug (issue #286) 2014-03-08 11:43:05 +02:00
Vesa
e7b097d255 Define all pattern colours in CSS and make them stylable
also coding style improvements (remove leading underscores from header guards)
2014-02-25 21:30:39 +02:00
Vesa
3ccc0685b7 More updates to song editor graphics based on feedback and IRC discussions
also fixed the automation pattern rendering which had some slightly bad behaviour
2014-02-24 01:52:03 +02:00
Vesa
490a71313a Slight change to song editor background 2014-02-22 19:18:28 +02:00
Vesa
9f64e6f428 More tweaks on song editor style 2014-02-22 02:34:26 +02:00
Vesa
9896d94b09 Updates to song editor style. Also couple of fixes to SID layout. 2014-02-21 21:13:07 +02:00
Tobias Doerffel
2e7733eaa1 DataFile: renamed from old multimediaProject class + coding style fixes 2014-02-03 21:21:36 +01:00
Tobias Doerffel
3a827f061f Reworked MIDI event handling in InstrumentTrack and renamed MIDI classes
The MIDI event handling in InstrumentTrack was complex and buggy. It has
been simplified now such that processInEvent() tries to handle note on,
note off and key pressure events. The actions taken should result in
equivalent calls to processOutEvent() by NotePlayHandle instances. The
processOutEvent() function sends according MIDI events to the attached
instruments. All unhandled MIDI events are directly forwarded to the
instrument in processInEvent().

It's possible that some corner-cases are not handled yet with the new code
and we have regressions now.

Furthermore renamed midiTime/midiEvent to MidiTime/MidiEvent to match
coding style.

Closes #72.
2014-01-26 00:08:12 +01:00
Tobias Doerffel
ec5e9f16d5 Track: allow resizing TrackContentObjects to less than one bar
As per popular demand, allow resizing TrackContentObjects to less than
one bar if appropriate subclass supports it.
2014-01-19 22:58:32 +01:00
Gurjot Singh
c1d5730c30 save solo states for tracks 2014-01-18 22:02:26 +05:30
Tobias Doerffel
f2590c24df Replaced [S/U]int[8/16/32] with types from stdint.h or plain integers 2014-01-18 02:56:38 +01:00
Tobias Doerffel
9a7ad0264f SampleBuffer, SamplePlayHandle, SampleRecordHandle, SampleTrack: new coding style
Renamed file and class names.
2014-01-14 18:01:14 +01:00
Tobias Doerffel
4e5507a30a TrackContainer, TrackContainerView: adopted coding style
Renamed file and class names.
2014-01-14 17:39:02 +01:00
Tobias Doerffel
0ff1f91c1b Mixer: renamed class and file name
The mixer class is now named "Mixer" and accessible via engine::mixer().
2014-01-08 22:35:14 +01:00
Tobias Doerffel
a5c3cf6a99 Revised journalling (undo/redo) to record full states instead of changes
Recording single changes of objects or their specific properties is
completely superfluous as we have full implemented state tracking in all
objects already. Therefore use SerializingObject::saveState() and
SerializingObject::restoreState() in order to implement the undo/redo
functionality.

This is just an initial commit and needs some further work (especially
regarding stability). However even things like undo/redo of
addition/removal of Tracks and TrackContentObjects do work already.
2014-01-07 23:48:09 +01:00
Paul Giblock
642aa97198 Attempt to fix caching bug in track backgrounds
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1933 0778d3d1-df1d-0410-868b-ea421aaaa00d

Conflicts:
	ChangeLog.old
	src/core/track.cpp
2012-12-18 20:59:22 -05:00
Tobias Doerffel
d3d6d65836 Track: do not load height information if greater than default height
This is a workaround for issue #3585927. Once we found the source of
this issue, we can revert this commit.
2012-11-11 22:17:11 +01:00
Tobias Doerffel
c9d5c1dd06 Track: coding style fixes 2012-11-11 22:11:49 +01:00
Raine M. Ekman
69947a624b Track: allow smaller height
Here's one way to cram more stuff onto small screens, or otherwise help
reducing visual clutter: Allow tracks to be shift-dragged all the way
down to 8 px height.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2012-11-01 21:36:31 +01:00
Raine M. Ekman
14f41fe7b3 TrackViews: added compact mode
Added an option to shrink the track buttons horizontally, mainly by
moving the track name into a tooltip.

Closes #3459241.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2012-01-29 23:49:16 +01: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
4b89814e3a TrackContentObject: keep position in paste()
When calling TrackContentObject::paste(), only the content should be
pasted, not the position. This fixes pasting for example note patterns
and is also a more generic solution for the bug fixed in commit
4ec5c6afe1.

Closes #3005649.
(cherry picked from commit 5306f7b0ca)
2010-07-25 01:27:23 +02:00
Tobias Doerffel
488337f6eb Engine: introduced deleteHelper() function
The new deleteHelper() template function takes a pointer, saves it
to a temporary, sets the passed pointer to NULL and then deletes the
object it was referring to before. This way we can spot bugs caused by
undesired references to global objects at shutdown more easily.
(cherry picked from commit fe7d5e3d5a)
2010-05-21 14:13:11 +02:00
Tobias Doerffel
7c16094811 Fixed spelling errors
Fixed some spelling errors found by Lintian while checking the Debian
package of LMMS. Thanks to Patrick Winnertz for pointing out this issue.
(cherry picked from commit 9fd3dacb67)
2010-01-25 23:27:43 +01:00
Tobias Doerffel
d7ae99a5e8 TrackContentWidget: fixed background tile pixmap updating
The background tile pixmap used to draw the background of
TrackContentWidgets was only updated on size changes but not on
changes of zoom level in according editor. Fix this by updating
background pixmaps in trackContainerView::setPixelsPerTact().
2009-12-07 01:38:17 +01: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
edf2d4d104 Whole code base: various cleanups, removed SINGLE_SOURCE_COMPILE relicts
* cleaned up code and improved coding style
* removed old SINGLE_SOURCE_COMPILE macro relicts
* use QString::toUtf8() instead of QString::toAscii() wherever possible

(cherry picked from commit 0bb54199b0)
2009-08-05 17:17:57 +02:00
Tobias Doerffel
9b2e3fc262 TrackContentWidget: fix graphical glitches with Qt 4.5
Starting with Qt 4.5 there were minor graphical glitches in
TrackContentWidget. Fix this by not setting Qt::WA_OpaquePaintEvent
attribute.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 1015868e1f)
2009-07-07 21:22:20 +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
41efb51518 TrackView: do not set Qt::WA_OpaquePaintEvent attribute
Due to optimizations in Qt 4.5 setting Qt::WA_OpaquePaintEvent attribute
for TrackView widgets caused a line of distorted pixels at the bottom of
the left part so do not set this attribute anymore (closes #2795861).
(cherry picked from commit cdcc158c03)
2009-05-25 13:48:27 +02:00
Tobias Doerffel
99807eeb98 SongEditor: fixed horizontal scrollbar with Qt 4.5
Due to optimizations in the graphics subsystem of Qt 4.5
songEditor::paintEvent() didn't get called regularly anymore and thus
the range of the horizontal scrollbar didn't get updated at all.

This commit makes the GUI track all changes related to the length of
the song.
(cherry picked from commit ff010da5ee)
2009-04-06 00:10:39 +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
168b65dfae make sure all buttons in trackOperationsWidget have focus-policy set to Qt::NoFocus in order to make space play song even if you clicked e.g. a mute-button (closes #2486211) (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2057 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-19 15:02:41 +00:00
Tobias Doerffel
4db2ef1f7d reverted some of the changes from 2008-11-10 which caused distorted graphics when running LMMS with Qt 4.5 (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2031 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-13 11:33:04 +00:00
Tobias Doerffel
48990656b9 integrated pitanga's patch to fix unquantized BB dragging in song editor. Changed ctrl modifier to alt to be consistent (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2008 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-05 13:23:32 +00:00
Tobias Doerffel
48fe96c9ac added missing header for compilation with GCC 4.4
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2004 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-05 13:17:50 +00:00
Tobias Doerffel
a9f1242841 cache background per-object instead of per-class (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@1951 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-12-17 11:52:46 +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
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
c128bd727e improved visual appearence of timeline
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1634 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-19 15:22:17 +00:00