Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow to quickly restore accidentally deleted cue point #13307

Open
spotlesscoder opened this issue May 30, 2024 · 5 comments
Open

Allow to quickly restore accidentally deleted cue point #13307

spotlesscoder opened this issue May 30, 2024 · 5 comments
Labels

Comments

@spotlesscoder
Copy link
Contributor

Feature Description

I wanted to delete a cue point but while holding shift on my DJ505, I accidentally hit the wrong hot cue and deleted the wrong cue point. I can not remember where that cue point was and now it's gone until I remeber.

This can be very annoying in a live situation
Please implement an undo for cue point deletion

@acolombier
Copy link
Member

acolombier commented May 31, 2024

I experienced a similar situation, when triggering a hot-cue while shifting on the S4Mk3.

An alternative could be a way to "lock" hotcues, so this can be toggles or enabled while performing live and prevent accidentally deleting hotcues

@Swiftb0y
Copy link
Member

The undo request fits into the broader request of being able to undo ControlObject changes, which is something that's not very easy to implement currently.

@ronso0
Copy link
Member

ronso0 commented Jun 1, 2024

I think for hotcues that's not too hard to implement, at least for cues deleted with hotcue_X_clear and immediate restore (similar to un-eject / un-replace):
CueControl could very well store the deleted Cue, or its properties, in CueControl::hotcueClear.
If you notice the mistake, hotcue_X_clear for any empty hotcue could try restore that cue exactly where it was (slot, position, length). For an immediate undo that could work okayish IMO.

If the slot is already occupied, choose the next free slot. For other scenarios it would be a bit more elaborate.

A more compound "cue undo" solution would have to be implemented in the Track class, Track::createAndAddCue() and Track::removeCue().

@m0dB
Copy link
Contributor

m0dB commented Jul 13, 2024

I have also been running into this, so if nobody took this, I’d like to work on this.

@m0dB
Copy link
Contributor

m0dB commented Jul 13, 2024

I have made a first approach here #13469
Very promising and surprisingly simple by using QUndoStack, but it does come with an important caveat that requires some discussion. Let's take the discussion to that PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants