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

Feature Request: Time aligned mouse transition #8749

Closed
mixxxbot opened this issue Aug 23, 2022 · 12 comments
Closed

Feature Request: Time aligned mouse transition #8749

mixxxbot opened this issue Aug 23, 2022 · 12 comments

Comments

@mixxxbot
Copy link
Collaborator

Reported by: the+r
Date: 2017-01-07T18:29:49Z
Status: Won't Fix
Importance: Wishlist
Launchpad Issue: lp1654773
Attachments: screenshots.zip, [mixxx overview with caret.png](https://bugs.launchpad.net/bugs/1654773/+attachment/4911698/+files/mixxx overview with caret.png), 2018-09-21-083918_3840x2160_scrot.png


I'd like to see this Traktor feature in mixxx. I have attached screenshots from Traktor to show the behaviour.

1.png:
I move the mouse along the preview waveform. A single step on here equals a chunk of 4 beats. bars+95 then actually is a move by 95*4 = 380 beats. After the screenshot I click, and set hotcue #⁠3 there.

2.png
I am back at the beginning of the track. I move the mouse along the preview waveform. This time, I go to bars+94, this results in jump to 4 beats before bars+95 (or 4 beats before hotcue #⁠3).

3.png
I set a hotcue #⁠5 on this location.

4.png
The transitions are always relative to the current position. For example, if I go back to the start of the track, and move 1 beat to the right, then use the same bars+94 transition as before, I end up 1 beat after hotcue #⁠5 set before.

5.png
I set a hotcue #⁠6 on this location.

What's the point to this? When preparing tracks, I want all hotcues on first beat. This method may not work with all tracks, but 95% of the time it does give me a first beat after transition, and that way it saves me from scrolling/listening around the target location.

Perhaps it might be an idea to provide this behaviour only with a modifier button (e.g. ctrl+click) as to not disrupt the existing behaviour.

@mixxxbot
Copy link
Collaborator Author

Commented by: the+r
Date: 2017-01-07T18:29:49Z
Attachments: screenshots.zip

@mixxxbot
Copy link
Collaborator Author

Commented by: the+r
Date: 2017-07-09T15:16:46Z
Attachments: [mixxx overview with caret.png](https://bugs.launchpad.net/mixxx/+bug/1654773/+attachment/4911698/+files/mixxx overview with caret.png)


I had a brief look at this. I think I may be able to do it myself (time permitting). But the question is, would such a feature be adopted?

Part 1 (see attached mock up screenie)

Add a mouseover caret to WOverview AND/OR add an additional position dragging caret. If beat info is available, add a display to the caret(s) that indicates the distance to current position in beats and beats/4. This should be possible to somehow get from the track object. But I'm not sure what to do if something isn't 4/4 time. Traktor doesn't do that part any better, though. ;)

Part 2

Add modifier keys, I'm thinking along the lines of

Alt+Click / Alt+Release jumps to the next beat.
Ctrl+Click / Ctrl+Release jumps to the next bar.

There should at least be a hint in the tooltip window. I'm not sure how everyone feels about modifier keys like this, but I think it's better than changing the default behaviour. Moreover, one may possibly want/need all 3 depending on situation, so it'd be rather long-winded to use a configuration option.

Part 3

Just eye candy. If either of the modifier keys is pressed, the caret can actually be displayed in the location that matches the jump target.

Part 4

Perhaps the modifier keys should be configurable.

@mixxxbot
Copy link
Collaborator Author

Commented by: Be-ing
Date: 2017-07-09T15:29:52Z


I'm not sure what to do if something isn't 4/4 time.

We need a general solution for specifying the beats-per-bar of a track, and not just for this proposed feature. I think assuming 4/4 is okay for this, at least for a proof-of-concept.

@mixxxbot
Copy link
Collaborator Author

Commented by: the+r
Date: 2018-09-21T06:47:49Z
Attachments: 2018-09-21-083918_3840x2160_scrot.png


I had worked on this one and a half years ago and came up with a demo including the hotkeys mentioned above (see screenshot attached), but my math for the jumps was off. Then RL got in the way and I never got round to giving it another look.

I'm happy to push what I had to github if that's helpful in any way. I'm not sure I can continue to work on it in the near future.

@mixxxbot
Copy link
Collaborator Author

Commented by: the+r
Date: 2020-05-10T15:40:56Z


I got a bit more time again and would like to have another go, hence trying to assign the entry to myself.

@mixxxbot
Copy link
Collaborator Author

Commented by: Be-ing
Date: 2020-05-10T16:07:55Z


Doing anything with bars is premature until Mixxx has this information available. Fortunately we have two Google Summer of Code students working on that this summer. If you want to participate, take a look at:
#2512
https://mixxx.zulipchat.com/#narrow/stream/109171-development/topic/support.20for.20bar.20and.20phrase.20info.20and.20variable.20BPM
https://mixxx.zulipchat.com/#narrow/stream/109171-development/topic/beatgrid.20editing.20UI
https://mixxx.zulipchat.com/#narrow/stream/109122-general/topic/What.20is.20a.20phrase.20in.20music.3F

We will not merge anything that simply assumes all music ever made is in 4/4 like other DJ software. However, you could develop a prototype using that assumption which would later be usable when Mixxx actually knows where downbeats are.

What's the point to this? When preparing tracks, I want all hotcues on first beat.

If that's all you want this for, showing the downbeats on the waveforms would be easier to use than this. If what you want is to jump by a specific number of beats, we already have beatjumping. You can even type an exact number of beats if you want something that isn't a power of 2.

@mixxxbot
Copy link
Collaborator Author

Commented by: the+r
Date: 2020-05-10T16:58:12Z


Thanks for the heads up.

Yes, the beatjump is already incredibly useful to me, so thanks for the addition of that, and I suppose an improved display would be almost all I need.

I'd still like a mouseover caret in the waveform overview, and perhaps it could stick to the next beat if quantification is enabled, for now. That should not depend on the above. Then, one could easily add an additional downbeat sticking mode later on, once all of the above is available.

Would that be acceptable?

@mixxxbot
Copy link
Collaborator Author

Commented by: Be-ing
Date: 2020-05-10T17:10:51Z


Yeah, I think quantizing seeks from mouse clicks on the waveform would be reasonable.

@mixxxbot
Copy link
Collaborator Author

Commented by: Be-ing
Date: 2020-05-10T17:14:47Z


Oh wait, Mixxx already does that when quantize is on.

In 2.3 we now have the time that would be jumped to shown on mouse button down. This only shows real time though, not musical time.

@mixxxbot
Copy link
Collaborator Author

Commented by: the+r
Date: 2020-05-11T17:08:24Z


OK, I just had a look at 2.3 and I think it's already very usable for me. Downbeat marking in the waveform would then be another very useful addition.

So I don't think this feature request here holds any additional value on top of that, at least not for me. Happy to close it now from my point of view.

@mixxxbot
Copy link
Collaborator Author

Commented by: Be-ing
Date: 2020-05-11T17:29:50Z


Okay, let's close this then.

When we have downbeat information in Mixxx, one feature I want to have is to show musical time (bars) in addition to real time on the waveforms when hovering cues and right clicking.

@mixxxbot
Copy link
Collaborator Author

Issue closed with status Won't Fix.

@mixxxbot mixxxbot transferred this issue from another repository Aug 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant