Parameter in the settings for startpoint in preview deck

Bug #1399321 reported by Michael S.
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Triaged
Wishlist
Unassigned

Bug Description

When i'm searching i use often the little headphone button for preview the song on the headphone. The song is loading and start's to play. I dont like to hear the intro, so i click in the preview deck to hear from a later position.
For me it is better and more comfortable when i can set up my own preview-start-point. Like 1 minute. Alternate a 30% is also OK.

Thanks allot....

Revision history for this message
Owen Williams (ywwg) wrote :

Not a bad idea -- the very beginning of a song is not often what you want to hear.

Changed in mixxx:
importance: Undecided → Critical
importance: Critical → Wishlist
milestone: none → 2.1
Revision history for this message
Daniel Schürmann (daschuer) wrote :

We may add a "preview cue" that is default at 30 s and can be tweaked to the chorus or so.

Changed in mixxx:
status: New → Confirmed
tags: added: cue usability
Revision history for this message
Nimit Bhardwaj (nimitbhardwaj) wrote :

Can I solve this bug

Changed in mixxx:
assignee: nobody → Nimit Bhardwaj (nimitbhardwaj)
Revision history for this message
Nimit Bhardwaj (nimitbhardwaj) wrote :

I have this scheme, first as @daschuer told, we can add the preview cue for this, I am thinking like this, in the waveform display, we will put a new cue, the preview cue having blue color, by default its value is at 30s, if the length of the song is greater than 3-4 min, otherwise will at the 30 percent of the song's length, then in the skin, I will put a button for it, which is used to set the preview cue on it, and save the value for the preview cue, for that song, the preview cue will be near the hotcue buttons, having P written on it.

This seems easy to be in theory, but in practice, I want some help, how do I implement it, and if any new suggestions for this idea please tell, I will be happy to work on this feature

Revision history for this message
Daniel Schürmann (daschuer) wrote :

> Can I solve this bug

Yes sure, go ahead.

The first step would be to introduce a preview cue point in the back-end.

We have already a "cues" table in the mixxxdb.sqlite.

It supports a type column, that can hold a value to identify the preview cue.
https://github.com/mixxxdj/mixxx/blob/master/src/library/dao/cue.h#L17

The next step is to load the preview deck at the preview cue instead of THE cue.
https://github.com/mixxxdj/mixxx/blob/master/src/engine/cuecontrol.cpp#L279, if it is the preview deck.

The third step is to add a set of controls to set and move to the preview.
What do we need? Some kind of automatic handling like CUE? What would be natural for the preview deck?

Revision history for this message
Nimit Bhardwaj (nimitbhardwaj) wrote :

Ok, Thanks, I think that it would be natural for the preview cue that, there will be preview cue button, we click it, it will set the preview cue position to present mark position, where the song is running,(the present state of the song), now after sometime as the song is running, if we press the preview button again it will again set the present position of the preview cue, to the present position of the mark where the song is running, (unlike cue or hotcue buttons, it will not shift the song to that point, but will set itself at that position), how is it

Changed in mixxx:
status: Confirmed → In Progress
Revision history for this message
Daniel Schürmann (daschuer) wrote :

OK ... this sounds almost like the Denon Cue behaviour. This makes sense when the waveforms are visible. How about the Library play button? Should this return? Probably yes.

We could also have a close look to Amazon previews. Can we find out when they start the track?

Revision history for this message
Nimit Bhardwaj (nimitbhardwaj) wrote :

I don't understand about the Amazon previews, if you want to ask, if we load the song on deck, from where the playing of the song starts, my answer is from the start, the song will be played from start, and in library, on clicking the listen preview button, this will start the playing of song from the 30s after the playing of song(by default), we can set our custom start preview, by first loading the song to the deck, then playing it, move the mark to the position where we want that preview position must be, then press a button P next tho Hotcue buttons(which I recently made), then it will set the position for that song, and store in the database, as you told above in SQlite.

On clicking the button P, it will create a line(a mark) in the waveform overview, as on clicking hotcue buttons the mark is formed.

Now suppose if we close the application, and restart it, and we listen the preview of the song we previously selected, it will start from the custom position, which we selected. This is the plan.

Revision history for this message
Nimit Bhardwaj (nimitbhardwaj) wrote :

And, now I want to know some way, as I created the button, I want a way how to connect it to a function, i.e. when I press the button, a function will trigger, I read about control objects, config keys, control proxies, they said, we have to make a control object, then which position in code will be suitable for this.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

The question where Amazon can help is, to get the remaining ight rule for the default preview queue. Do they have a standard start time?

IMHO the preview player schould behave differently, to the decks. The decks load at cue. The pPreview player schould load at the preview cue. The Preview player may have a "P" button for "Denon play for preview cue" and a normal play pause button.

Do we need to consider the "two decks + external mixer" use case? They can't use the preview deck. Loading to deck will load at cue.
If we provide a "p" button on decks, it will move the preview cue to The Cue in this case. Not a good idea. The user might want to listen at the preview cue and than seek back to The Cue. How can we achieve this?

Revision history for this message
Be (be.ing) wrote :

I don't understand the use case for this feature. If you don't want to preview the start of a track, set the cue point later, set Mixxx to load tracks at the cue point, and preview from the cue point.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

How can I preview form the preview cue in that case? Will there be an other Button apart from "P"?

Revision history for this message
Nimit Bhardwaj (nimitbhardwaj) wrote :

@daschuer, yes, I understand that, its correct that it will not be so useful if we provide the P button, the user will first listen at the preview cue and then on loading to the deck, the user will start from the cue, and on reading the view of @be.ing , it would be very nice to start the preview point from the position of cue, instead of making a new cue for it, it is more nice as user may have stored the position of the part of the song according to his need, and on listening the preview, he can start from the cue from the deck, and yes it will be good addition, according to me, if suppose the initial value of the cue is at 0, the default value at time 0, then we can set the preview after 30 seconds, how is it, it sounds better to me, if you have any better advice or the previous idea was better please tell, I will happy to work on this part of project. :-)

Revision history for this message
Nimit Bhardwaj (nimitbhardwaj) wrote :

Yes @daschuer, the cue button will work fine in this case, sorry, my page was not refreshed before, so I didn't read your comment, so cue button will work for this, if we set the preview start position to at the cue

Revision history for this message
Daniel Schürmann (daschuer) wrote :

On a second thought it might be confusing to have two kind of preview cues on the deck and the preview deck.

How about this:
* Preview Deck loads at preview cue and the normal decks at cue
* The play/pause button in the preview deck is unchanged
* The preview deck and the decks gets a new [P] button in the back-end, (the decks may hide it)

[P] may work like hot-cue buttons but with a bit more magic:
* press while pause: momentary play from preview cue
* release from momentary play: seek back to point before start (not the preview cue)
* press while playing: play from preview cue
* right-click: remove preview cue, enter record mode, next press adopts current position as preview cue.

This solves the normal deck load issue and allows to preview a cued track without incidentally loosing the cue point.

Revision history for this message
Nimit Bhardwaj (nimitbhardwaj) wrote :

Yes this sounds more clean, this is more good, put the preview cue on the preview deck, and I think that these features of the preview button are good, but as I again think shouldn't the preview button[P] must be somewhere on the preview deck instead of the normal deck, or it would be OK if we put the button on the deck.
But one thing more is, on the preview deck which I open with ctrl + 4, the space of the preview cue is small, so where can we put the button on the preview deck.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

It is finally up to the skinner to decide where to place a [P]
A deck [P] is not essential for the most common use-cases.
But we need it for the "two decks external mixer" use case where we have no preview deck.

Revision history for this message
Nimit Bhardwaj (nimitbhardwaj) wrote :

Ok, I got that, so now to start development what I do first.

Revision history for this message
Nimit Bhardwaj (nimitbhardwaj) wrote :

I need some help, what I do to start making it, please help

Revision history for this message
Daniel Schürmann (daschuer) wrote :

here: https://bugs.launchpad.net/mixxx/+bug/1399321/comments/5
are some hints, what else do you need?

Revision history for this message
Nimit Bhardwaj (nimitbhardwaj) wrote :

Yes, I done the part of the in src/library/dao/cue.h, but I want to know where I put the controls of the controls, and how do I load the deck at the cue point, may be first I experiment and learn the things, ok thanks

Revision history for this message
Be (be.ing) wrote :

There has been no progress on this for a while, so I am removing the 2.1.0 milestone.

Changed in mixxx:
milestone: 2.1.0 → none
Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Due to lack of progress, marking Triaged and clearing assignee. Feel free to revert if it is in fact still in progress :).

Changed in mixxx:
status: In Progress → Triaged
assignee: Nimit Bhardwaj (nimitbhardwaj) → nobody
tags: added: hackathon
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/7707

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.