Expose track data to javascript

Bug #1115376 reported by Michael S.

This bug report was converted into a question: question #221021: get songname in JS vor midi-sysex output.

24
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Mixxx
Confirmed
Wishlist
Unassigned

Bug Description

Wish:
Make possible in JS files reading out songname from deck. Like this...
engine.getValue(deck, "songname")

Tags: metadata midi
Revision history for this message
Michael S. (arbeit-u) wrote :

-

Changed in mixxx:
status: New → Invalid
Revision history for this message
RJ Skerry-Ryan (rryan) wrote : Re: expose tracks to javascript

We should just expose PlayerInfo and TrackInfoObject to scripts. Since TIO is already thread-safe and uses Qt properties it should be fine and ready to use by JS. PlayerInfo would let scripts hook to signals related to track changes too.

summary: - get songname in JS vor midi-sysex output
+ expose tracks to javascript
Changed in mixxx:
status: Invalid → Confirmed
importance: Undecided → Wishlist
Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote :

I'll take this as I've wanted this functionality for awhile.

Changed in mixxx:
assignee: nobody → Sean M. Pappalardo (pegasus-renegadetech)
Revision history for this message
rob (another-rob) wrote :

Has there been any progress on this? I'm about to start on a couple of new controller mappings, and if this is on its way to being implemented, there are a couple of features based off of this that I'd like to include in my mappings if the functionality is available.

...I'm assuming that exposing these objects will enable the "get track details from one deck/load same track into another deck via script" functionality discussed in here: https://bugs.launchpad.net/mixxx/+bug/1117722 (I'm not asking for the full "instant doubles" function, just the ability to load tracks via script.

Revision history for this message
Sergey Butylkov (sergunoid) wrote :

This will be a great feature to have.

Revision history for this message
Michael S. (arbeit-u) wrote :

Any new information about this? Implemented in Mixxx 2.0?

Revision history for this message
Michael S. (arbeit-u) wrote :

Any new informations about this? In Mixxx 2.0?

Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote :

No, it's not been implemented yet. We've been discussing changing the underlying control structure which would also solve this problem, but that's a bigger job. Once we have a clear direction on that, we'll know how to best proceed with this.

summary: - expose tracks to javascript
+ Expose track data to javascript
Revision history for this message
Daniel Schürmann (daschuer) wrote :

After thinking about this again, I am in doubt that a generic control based solution will suite here.
I think this and follow up requirements are to complex to fit into a single data point.

So for now I would prefer a solution similar to RJs proposal in #2:

Extend the API to register a callback "OnCurrentTrackChange" that receives a Track pointer.
Provide an API to query the track metadata.
This API can grow as required and expose more and more Mixxx functions as required.

What do you think?

Has anyone fun and time to work on this?
This should be doable with some C++ knowledge and/or for an experienced java script writer anyway. I could give a helping hand.

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

related: Bug #1528644

Changed in mixxx:
assignee: Sean M. Pappalardo (pegasus-renegadetech) → nobody
tags: added: metadata
removed: js songname
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/6898

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

Related questions

Remote bug watches

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