Commit Graph

19 Commits

Author SHA1 Message Date
Alexandre Almeida
53e6b645c8 Use "bar" instead of "tact"
Closes #4865
2019-10-31 15:13:25 +01:00
Spekular
1c715bc335 Enhanced snapping in song editor (#4973)
* New default behavior: Preserves offsets when moving clips, resizes in fixed increments.

* Adds shift + drag: Snaps move start position (like current behavior) or end position (new),
based on which is closest to the real position. When moving a selection,
the grabbed clip snaps into position and the rest move relative to it.

* Adds alt + drag: Allows fine adjustment of a clip's position or size,
as an alternative to ctrl + drag.

* Adds a Q dropdown in the song editor to allow finer or coarser snapping (8 bars to 1/16th bar)

* Adds a proportional snap toggle. When enabled, snapping size/Q adjusts based on zoom,
and a label appears showing the current snap size. This is disabled by default.
2019-07-27 17:14:49 +08:00
Lukas W
966bf1c6de Use CMake GenerateExportHeader 2018-07-07 11:20:54 +02:00
Michael Gregorius
bcdb5ecb5a Fix a problem with the time display
Some changes made in commit e05c82758e
have broken the update of the time display. This commit fixes the problem
by introducing a second version of MidiTime::ticksToMilliseconds which
takes a double as an argument for the ticks. This new method is then
used by the call to ticksToMilliseconds in Song::processNextBuffer which
fixes the problem.
2017-07-20 18:23:10 +02:00
Michael Gregorius
e05c82758e Remove explicit time calculations by moving them into Song and MidiTime
Add a method to convert a MidiTime instance to milliseconds. Also add a
static method to MidiTime that computes the time in milliseconds for a
given number of ticks and a tempo.

Remove the method that sets the milliseconds explicitly from Song.
Replace it by a method that takes a MidiTime instance and one method
that takes an amount of ticks.

Remove several explicit time calculations from the implementation of
Song and TimeLineWidget. Instead use the new methods.
2017-07-18 21:26:15 +02:00
Lukas W
4404b6f29c Remove explicit MidiTime constructor and operator 2017-02-24 11:33:11 +01:00
grejppi
9e85d7c66e update all copyright headers to the proper url (#3326) 2017-02-06 02:41:15 +02:00
Javier Serrano Polo
1f90337523 Drop notes with length zero (#3031) 2016-09-12 20:10:18 +00:00
Colin Wallace
16d782c1d9 Move MidiTime implementation into .cpp file 2015-06-28 19:25:24 +00:00
Colin Wallace
18e1d69cac Offload most Midi processing from Song into MidiTime class 2015-06-22 00:53:24 +00:00
Colin Wallace
546cb17e5f Simpler nextFullTact() algorithm 2015-06-21 22:55:14 +00:00
Jonas Trappenberg
87e597510c Minor refactorings and codestyle cleanup. 2015-01-11 00:05:25 -08:00
Lukas W
e935cb046e Fix header guards
Closes #177
2014-11-25 11:25:30 +01:00
Lukas W
8e8879f735 Merge stable-1.1
Conflicts:
	include/ConfigManager.h
	include/MidiTime.h
	include/string_pair_drag.h
	src/gui/string_pair_drag.cpp
	src/gui/widgets/rubberband.cpp
2014-11-10 19:26:59 +01:00
Vesa V
102db9cd50 Merge pull request #1266 from tresf/stable-1.1
Fix automation cursor position issue
2014-11-08 12:07:47 +02:00
Umcaruje
6fb923cba2 Correct the program name and site in the descriptions. 2014-11-04 22:56:50 +01:00
Tres Finocchiaro
1826ced3d2 Fix automation cursor position issue 2014-11-04 00:13:38 -05:00
Steve Leonard
af56ea5849 Copy+Paste for rubberband selections in track editor 2014-05-26 15:53:08 -04: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