* 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.
* implements drag and drop samples to sampletracks
* clean up / take care of timeLineWidget heigth in songeditor
* unused memeber removed
* clean up
* Update include/TrackContainerView.h
Co-Authored-By: Spekular <Spekular@users.noreply.github.com>
* Update src/gui/TrackContainerView.cpp
Co-Authored-By: Spekular <Spekular@users.noreply.github.com>
* Update src/gui/TrackContainerView.cpp
Co-Authored-By: Spekular <Spekular@users.noreply.github.com>
* Update src/gui/editors/SongEditor.cpp
Co-Authored-By: Spekular <Spekular@users.noreply.github.com>
* load AFP if we don't drop on a sample track
* take care of timeLineWidget size changes
* clean up
* consolidate some code
* requested changes by code review
* move logic to SampleTrackView
* clean up
* clean up
* clean up
* Song: add isSavingProject.
* VersionedSaveDialog: Add support for a custom option dialog.
* AutomatableModel: Support the discardMIDIConnections save option.
* InstrumentTrack: Support the discardMIDIConnections save option.
* SaveOptions: Show the save option dialog on "save as".
right place when it not played from the begining.
That has created a difference between the ticks and the metronome and
the sample track.
The cause of the problem was that the calculation of the frame to play
was wrong: we had calculated `framesPerTick` according to the current
engine's sample rate instead of the SampleBuffer's sample rate.
Fix some assumptions that source and target of a drag actions are the same
track container. Instead of looking up necessary information (track name,
type and container id) by track index, add it to the metadata.
Refactor canPasteSelection to take QDropEvent instead of the drop event's
QMimeData. Coincidentally, this fixes the method to be consistent with its
documentation.
Fixes#4844