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

Add a way to control when a playing track is added to History when using external mixers #13641

Open
jonahclarsen opened this issue Sep 9, 2024 · 6 comments

Comments

@jonahclarsen
Copy link

Feature Description

I don't use the faders in Mixxx, I just have both decks feed into different Ableton Live tracks using virtual cables and fade between them there. Thus, Mixxx has no idea that when I queue a song and start playing it for a few seconds, it's only in my headphones and shouldn't be added to the history. Thus, as I'm browsing my library and trying to find a good song to play next, even if I listen to a song for only a few seconds, it gets added to the history, so the history ends up having a lot of songs that weren't actually in my set, which adds a lot of manual labor (and room for error) in creating playlists of past sets.

I think this would be quite easily remedied if I could change the "playtime until a song is added to history" that I'm guessing is hard-coded right now. It seems like right now it's around 2-5 seconds, personally I think I'd set it to more like 30-60s, but it would be great to have it fully customizable in settings.

Even if someone could point me to where this value is in the code so I could modify it on my own fork and build it myself, that would be awesome!

@Swiftb0y
Copy link
Member

Swiftb0y commented Sep 9, 2024

There is no playtime until song is added to history. Take a look at PlayerInfo::updateCurrentPlayingDeck() I'm sure you can hack some heuristic that suits you in there.

@jonahclarsen
Copy link
Author

There is no playtime until song is added to history. Take a look at PlayerInfo::updateCurrentPlayingDeck() I'm sure you can hack some heuristic that suits you in there.

Sorry, I might have not been super clear. I'm not concerned with the "playtime" in the history at all, but rather how long it takes from when I start to play a song to when it gets added to the history. I would prefer if I could preview a song by playing it for 20-30 seconds before it's added to the history (as already seems to happen if you play a song for <2s or so, I just want to change that ~"2 second" value to ~30s).

@ronso0
Copy link
Member

ronso0 commented Sep 9, 2024

The magic happens in PlayerInfo:
there is an auto-repeating timer with a timeout of 2 seconds, and the timerEvent() calls PlayerInfo::updateCurrentPlayingDeck(). This tries to figure if the playing deck changed and eventually emits a signal which, amongst other things, add that deck's track to the History.

Since with an external mixer the corssfader and Volume faders all remain in their initial position (center & full yopen), and there's usually no other feedback from the mixer, every track that's played is added.

@jonahclarsen
Copy link
Author

Ah, I see now, thanks. So I guess if it's on a self-repeating timer of 2 seconds, it's not going to be as simple as changing the interval time, although it would at least improve the situation somewhat. Thanks for your help.

@ronso0
Copy link
Member

ronso0 commented Sep 9, 2024

I might be wrong: looks like same happens when a track is loaded.

Not sure if setting another timeout will fix it.

@ronso0 ronso0 changed the title Customize the playtime until a song is added to history Add a way to control when a playing track is added to History when using external mixers Sep 9, 2024
@ronso0 ronso0 added the history label Sep 9, 2024
@ronso0
Copy link
Member

ronso0 commented Sep 9, 2024

Dupe / related: #11148

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

3 participants