Dysfunctional Flux Marker repaired!

Sûlherokhh
Sûlherokhh GermanyMember Posts: 239 Saw

Am i the only one who discovered that after one of the 3.5 updates the Flux Marker doesn't appear/move on the screens of S4Mk3, D2, S8 and S5?

The culprit seems to be the line:

followFluxPosition: true

For some reason it's broken.

But fret no more! I have a workaround if you are willing to fiddle with the code. :)

This is what we have in the 'WaveformContainer'-file:

 //Flux PlayMarker
 Traktor.WaveformTranslator {
   followTarget: wfPosition
   pos: 0
   relativeToPlayhead: true
   followFluxPosition: true

   Rectangle {
       id: flux_marker
       x: 0
       y: 0
       width: 3
       height: view.height
       color: colors.playmarker_flux
       border.color: colors.colorBlack31
       border.width: 1
       visible: fluxState.value == 2 // flux mode enabled & fluxing)
   }
 }

You will need to do 2 things.

First add the following lines in the appropriate place in this file (unless already defined here or somewhere toward the trunk of the file tree)

AppProperty { id: playheadPosition; path: "app.traktor.decks." + deckId + ".track.player.playhead_position" }
AppProperty { id: fluxPosition; path: "app.traktor.decks." + deckId + ".track.player.flux_position" }
AppProperty { id: freezeEnabled; path: "app.traktor.decks." + deckId + ".freeze.enabled" }

Second, replace the line 'x: 0' in the rectangle with the manual position adjustment so that the end result will look like this:

 //Flux PlayMarker
 Traktor.WaveformTranslator {
   followTarget: wfPosition
   pos: 0
   relativeToPlayhead: true
   followFluxPosition: true

   Rectangle {
       id: flux_marker
       x: ((fluxPosition.value - playheadPosition.value) / (wfPosition.sampleWidth)) * (freezeEnabled.value ? 0x13d8000 : 0x1f80000) // NEW CODE
       y: 0
       width: 3
       height: view.height
       color: colors.playmarker_flux
       border.color: colors.colorBlack31
       border.width: 1
       visible: fluxState.value == 2 // flux mode enabled & fluxing)
   }
 }

I've been trying to repair this for ages. It finally clicked. Happy modding! 🔧😆

EDIT: i fine tuned the multiplier a bit. In addition i should mention that in freeze/slicer moder the multiplier has to be slightly different. It's visible but off by a small factor. I will post a more precise version in the future.⚗️

2nd and 3rd EDIT: Fixed the freeze mode flux marker. Just so you know, the whole thing is sort of an eyeball fix until (if) the Traktor devs deal with it. Once you put this in place, you can fiddle with the two numbers i used ('0x13d8000' for freeze mode, '0x1f80000' for normal mode), yourself. Enjoy! 🎈

Comments

  • Sûlherokhh
    Sûlherokhh GermanyMember Posts: 239 Saw

    If you try this at home, please leave a comment. If you have any questions, ask away.

  • Karlos Santos
    Karlos Santos United KingdomModerator Posts: 136 mod
    edited February 23

    Moderator note:

    FYI: Modifying the software is a breach of the EULA Terms & Conditions that you agreed to when you installed Traktor. You do it at your own peril. 

    3.5 Licensee is not authorized to modify the software, unless it is to preserve or restore the agreed functions of the software purchased.

    Don't shoot the messenger, it's my duty to inform you.

    Replying to this message is pointless because I do not write the EULA.

    Karlos.

  • Sûlherokhh
    Sûlherokhh GermanyMember Posts: 239 Saw

    "... unless it is to preserve or restore the agreed functions ..."

    Exactly. 😆

  • Sûlherokhh
    Sûlherokhh GermanyMember Posts: 239 Saw

    Late update:

    My correspondece with NI 5 weeks ago:

    *subject line*

    The Flux Marker does not follow the flux position on hardware screens.


    ### Now, please *describe the issue you are having in detail* so that we can best help you.

    D2 and S4mk3 (and presumably S8 and S5) screens do not show the position of the Flux Marker in the moving waveform both in normal mode and in freeze mode, although it has done so in the past. "app.traktor.decks.X.track.player.flux_position" still contains the position information, but "followFluxPosition: true" doesn't trigger what it is supposed to trigger. This is the case wether or not i use a freshly installed version of Traktor. The workaround i use is by dynamically adjusting the x value of the drawn 'rectangle' from 'x: 0' to 'x: ((fluxPosition.value - playheadPosition.value) / (wfPosition.sampleWidth)) * (freezeEnabled.value ? 0x13d8000 : 0x1f80000)'. I use Traktor Pro 3 3.5.2 299.


    Thanks for your detailed report! I have checked the behavior and can confirm the error. The following entry has been created in our internal error documentation: 


    TP-16853 Flux marker does not appear on controllers with displays

     

    My colleagues in our development department are already on it. I hope on a fix via update soon!


    I rolled back to 3.4.2 until this is resolved (and hopefully the waveform stuttering in the software and on hardware screens is resolved as well). 👨‍🔧

Back To Top