Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 05:53

    brunchboy on master

    Change linux port troubleshooti… (compare)

  • 05:53

    brunchboy on guide-0.6.3

    Change linux port troubleshooti… (compare)

  • 05:52

    brunchboy on guide-0.6.2

    Change linux port troubleshooti… (compare)

  • 05:42

    brunchboy on master

    Start enhancing expression edit… Add player selection menu for p… (compare)

  • Mar 01 15:06

    brunchboy on master

    Fix typo [skip ci] (compare)

  • Mar 01 04:56
    brunchboy closed #122
  • Mar 01 04:56
    brunchboy closed #124
  • Mar 01 04:56

    brunchboy on master

    Add real screen shot of track b… Stop Carabiner when quitting if… Fix compilation/running under J… (compare)

  • Mar 01 04:04
    brunchboy commented #111
  • Mar 01 03:44
    brunchboy closed #125
  • Mar 01 03:44

    brunchboy on master

    Allow deselection of MIDI devic… Add track bank picker, #119 I … (compare)

  • Mar 01 03:08
    brunchboy assigned #125
  • Mar 01 00:18
    brunchboy labeled #125
  • Mar 01 00:18
    brunchboy opened #125
  • Feb 28 09:06

    brunchboy on master

    Close pickers when switched to … (compare)

  • Feb 28 08:34

    brunchboy on master

    Start adding phrase enabled fil… All phrase row UI elements now … Implemented phrase type picker,… (compare)

  • Feb 27 07:17

    brunchboy on master

    Pull section calculations into … (compare)

  • Feb 26 07:42

    brunchboy on master

    Save phrase section sizes in sh… Draw phrase sections and beats/… (compare)

  • Feb 26 04:46
    brunchboy closed #39
  • Feb 26 04:46

    brunchboy on master

    Update media eject bytes to ind… Merge pull request #39 from nud… (compare)

James Elliott
@brunchboy
I am re-reading the user guide now to remind me how this is supposed to work, it’s been out of my head for too many months for me to remember. :smile:
Also, sounds like something went horribly wrong. I can’t imagine how you got 2200 lines vs 200. What do you mean by “where I post” the file? Did you clone the repo from GitHub?
There are 226 lines in the overlay.html template. If you opened something with 2200 lines in it, then that was something else.
James Elliott
@brunchboy
Ok, @supersport05 I think I understand what happened, you must have hit “Save” in your browser while you were looking at the page describing overlay.html on GitHub. What you saved was the entire GitHub page, with the user interface for browsing GitHub and all the other stuff on the page; my overlay source was only a tiny fraction of what was there, and it was formatted in a way that can’t be used. That won’t work. You’ll need to either learn how to clone the beat-link-trigger repository and get the file that way, or click the raw button on the top of the listing on the GitHub UI before trying to save that page.
And when you do that, many browsers are going to want to add .txt to the filename, you’ll need to take that back off and verify that the lines you got match what the file is supposed to have in it. You may want a code editor rather than just a text editor, too.
James Elliott
@brunchboy
Do you have any web developer friends who could perhaps help you tweak the template? If not, you’re going to have to become a bit of one. :smile:
Oh, another thing you could try is to just drag to select all the lines of my overlay.html source on that GitHub page, and copy and paste them into your editor. Once you get to a point where you can get BLT behaving the same with your Templates folder as it was with the built-in one, then you can start trying to remove the parts of the template you don’t want.
supersport05
@supersport05

There are 226 lines in the overlay.html template. If you opened something with 2200 lines in it, then that was something else.

I went here...and downloaded a copy of this file:

https://github.com/Deep-Symmetry/beat-link-trigger/blob/master/resources/beat_link_trigger/templates/overlay.html

I tried opening the file up in a text editor "Brackets", and it appears to have copied the entire page i guess (2200 lines) lol

James Elliott
@brunchboy
Yes, you downloaded a copy of the GitHub page describing the file and letting you do all kinds of GitHub actions, not the file itself. :smile:
supersport05
@supersport05

Oh, another thing you could try is to just drag to select all the lines of my overlay.html source on that GitHub page, and copy and paste them into your editor. Once you get to a point where you can get BLT behaving the same with your Templates folder as it was with the built-in one, then you can start trying to remove the parts of the template you don’t want.

On it. I once knew a hint of HTML CSS and JS...but you know what they say happens if you don't use it.... :D

James Elliott
@brunchboy
I know, if I were more web-focused I would make more varieties of templates available and you might not even have to do this work! But I’m not, I am rusty at that side of things, so it is best for me to focus on the parts of Beat LInk Trigger that only I can do, and hope that some web developer will get interested and help us out and create some great templates.
supersport05
@supersport05
No worries...i'll hack and stumble my way through this. I think what i'm after is literally deleting and reformatting things. I was just confused earlier because i was using inspect from google chrome and instead of seeing things like "{Player1:Track}.... i was seeing it already hardcoded "Player 1 - Paul van Dyk". So i was confused where to put the template parameters.
James Elliott
@brunchboy
Yes, if you look at the output from BLT, the parameters will already be replaced. Good luck and thanks for trying this! Please share your results when you’re happy (and of course feel free to keep asking questions).
supersport05
@supersport05
Sure thing! Making progress...all the hard work was already done before I got here...I'm just removing things and formatting :D
supersport05
@supersport05

@brunchboy K, so i've got my overlay.html file outputting almost exactly how I want it i.e. master deck's track title in big letters, artist name under that & cover art left of both lines. Formatting is nearly correct. I have it loaded in OBS and OBS shows the right stuff.

Trouble is when I change tracks, OBS doesn't update. If I click the "Open in Browser" button in OBS Overlay Web Server it shows the updated information, but I have to it manually. I'm guessing I'm missing some setting the OBS Overlay Web Server side that watches when the master deck changes and updates.

FWIW, when I change tracks and watch BLT, it shows the Master track update instantly.

supersport05
@supersport05
Just uncommented out some stuff...and things are updating...just not MY code. I must've messed up the updating part of the code...Sorry for the learning curve here. :(
James Elliott
@brunchboy
Sorry, I was cooking and eating dinner. Without seeing what you have done, it’s impossible for me to guess what might be wrong. At this point it might also be helpful to get help from an OBS forum as well, because I know very little about that side of things.
Looking over my code, there was a loop to update the page periodically. If you took out some of the elements that it was trying to update, I could imagine it would crash. You need to make sure the update code is consistent with what you actually have on the page. You might see error messages in the browser Javascript console if you open the page in the browser and let it sit for a while, and that might help you debug the issue.
James Elliott
@brunchboy
If you have added your own elements, rather than just moving and changing the styling on mine, then you need to add code to update your own new elements (and you need to assign them IDs that will allow that to work). This will require understanding some related JavaScript, HTML, and DOM concepts.
I am sorry this is complex, but it was the only way to get things to look decent as an OBS overlay. I used to just render everything in the template, and configure the page to refresh several times a second, but unfortunately OBS doesn’t do double-buffering, so that caused the entire overlay to flicker horribly.
And again, I’m sorry I can’t be a ton of help here, this is really web developer territory. If you could get someone from OBS interested in helping make this work well, that would be awesome.
densma1
@densma1
im testing CDJ-3000 with BLT. unfortunately the phase meter no longer works on CDJ-3000 if ableton link is the master.
everything else works and stays on sync except the ability to see master phase. not sure if that's Carabiner issue or BLT. type 2 phase meter is replaced with stacked wave
James Elliott
@brunchboy
Thanks for the report. I’m surprised so much works. I don’t know if or when I will be able to work with a 3000, so if you can find a way to fix this, pull requests in the dysentery, and beat link projects would be most welcome!
densma1
@densma1
Im not a programmer. not sure how to fix it. I just plan to use it with my ears lol.
it maybe due to changes in phase meter on cdj-3000. new stacked waveform and removed type 2 phase meter.
i personally prefer type 2 to type 1. hopefully they will bring it back
James Elliott
@brunchboy
I don’t know what the different types are, is there a diagram anywhere? In any case, we should be able to get the same results that any older player has with the 3000, so there must be something different between what the fake CDJ in Beat Link is sending and what the 3000 expects (unless the new phase meter also doesn’t work with older CDJs).
From what you’re saying, though, the waveform display on the XDJ-XZ sounds similar.
Anyone can contribute to the protocol analysis in dysentery, as long as they are willing to learn how to run Wireshark and read network traffic captures. :smile:
densma1
@densma1
I dont have XZ anymore but XZ didnt have phase meter. DJS-1000 /1000MK2 does.
see screen shot. shows beat link of the other player
yes. my DJS-1000 can read and display beat on phase meter from Abelton link, if its the master. act like another pro-link
same for 1000mk2
densma1
@densma1
I think it may be cdj-3000 issue not backward compatible yet. I dont have other deck to test apart from djs-1000
DJS-1000 on pro-link with cdj-3000 shows the same thing. no phase meter.
Kevinnns
@Kevinnns
@densma1 I thought Phase 1 vs Phase 2 meters are a setting in Rekordbox that you can push in My Settings and save to your USB and all that
Don't think changing that would make it work with BLT or anything though, probably the way they are sending grid information is a bit different. I've seen with past releases that it took Pioneer some time to allow interaction with older devices in a mixed network as well. So might be as you're expecting
densma1
@densma1
@Kevinnns yea.. using shortcut on XDJ-1000 and other CDJs standalone let you select phase 1 or 2. both shows beat meter for master deck and same for ableton link through carabiner link. since its not working with older pro-link device means its not supported yet. it might something new with introduction of stacked wave form. Pioneer going to hold on to get people to upgrade to 3000.
James Elliott
@brunchboy
So this sounds like really good news then, and Beat Link is working remarkably well with the 3000s? I still do need to add support for real players with numbers up to six (and displaying all of them in Player Status), but that is something I can do speculatively, and wait for someone with six CDJ-3000s to tell me how it actually works in practice. :smile:
densma1
@densma1
yes. really good news. maybe someone will be kind enough to send you 6 cdj-3000 for testing
Pim W
@PimW_gitlab
Hi James, i've copy-pasted both logs for you. There are some small differences, but i am not sure how relevant these are.
java -jar /home/pi/Downloads/open-beat-control-0.1.0.jar --bridge --latency 1
2020-Sep-21 20:40:23 INFO [open-beat-control.logs:87] - Open Beat Control version 0.1.0-SNAPSHOT-77-0x949a built Wed May 13 03:03:36 UTC 2020
2020-Sep-21 20:40:23 INFO [open-beat-control.logs:88] - Java version 11.0.7, OpenJDK Server VM, Raspbian
2020-Sep-21 20:40:23 INFO [open-beat-control.logs:89] - Operating system version Linux 4.19.118-v7l+
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by clojure.lang.InjectedInvoker/0x6fcabc28 (file:/home/pi/Downloads/open-beat-control-0.1.0.jar) to method sun.nio.ch.DatagramSocketAdaptor.bind(java.net.SocketAddress)
WARNING: Please consider reporting this to the maintainers of clojure.lang.InjectedInvoker/0x6fcabc28
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2020-Sep-21 20:40:23 INFO [open-beat-control.core:193] - Running OSC server on port 17002
2020-Sep-21 20:40:23 INFO [open-beat-control.core:206] - Waiting for Pro DJ Link devices...
2020-Sep-21 20:40:23 INFO [open-beat-control.core:165] - Trying to connect to Carabiner daemon on port 17000 with latency 1
2020-Sep-21 20:40:23 INFO [org.deepsymmetry.libcarabiner.Runner:261] - Starting Carabiner 1.1.3 on port tcp://127.0.0.1:17000
2020-Sep-21 20:40:24 INFO [open-beat-control.core:216] - Pro DJ Link Device Found: DeviceAnnouncement[device:3, name:DJS-1000, address:192.168.2.4]
2020-Sep-21 20:40:24 INFO [org.deepsymmetry.beatlink.VirtualCdj:883] - Found matching network interface eth0 (eth0), will use address /192.168.2.20/24 [/192.168.2.255]
2020-Sep-21 20:40:24 INFO [open-beat-control.core:216] - Pro DJ Link Device Found: DeviceAnnouncement[device:17, name:rekordbox, address:192.168.2.9]
2020-Sep-21 20:40:24 INFO [beat-carabiner.core:324] - Connected to Carabiner daemon, version: 1.1.3
2020-Sep-21 20:40:31 INFO [open-beat-control.core:135] - Virtual CDJ running as Player 5
2020-Sep-21 20:40:31 WARN [org.deepsymmetry.beatlink.Util:263] - Do not know any Pro DJ Link packets received on port 50002 with type 0x10.
2020-Sep-21 20:40:31 WARN [org.deepsymmetry.beatlink.VirtualCdj:397] - Ignoring unrecognized packet sent to update port.
2020-Sep-21 20:40:31 INFO [open-beat-control.core:216] - Pro DJ Link Device Found: DeviceAnnouncement[device:1, name:XDJ-XZ, address:192.168.2.3]
2020-Sep-21 20:40:31 INFO [open-beat-control.core:216] - Pro DJ Link Device Found: DeviceAnnouncement[device:2, name:XDJ-XZ, address:192.168.2.3]
2020-Sep-21 20:40:31 WARN [org.deepsymmetry.beatlink.VirtualCdj:2500] - Ignoring mixer device number assignment offer; we are not claiming a device number!
2020-Sep-21 20:40:31 INFO [org.deepsymmetry.beatlink.dbserver.ConnectionManager:308] - Player 3 doesn't answer rekordbox port queries, connection refused, not yet ready?
2020-Sep-21 20:40:31 WARN [org.deepsymmetry.beatlink.VirtualCdj:2500] - Ignoring mixer device number assignment offer; we are not claiming a device number!
2020-Sep-21 20:40:31 INFO [open-beat-control.core:216] - Pro DJ Link Device Found: DeviceAnnouncement[device:33, name:XDJ-XZ, address:192.168.2.3]
2020-Sep-21 20:40:31 WARN [org.deepsymmetry.beatlink.VirtualCdj:2500] - Ignoring mixer device number assignment offer; we are not claiming a device number!
2020-Sep-21 20:40:31 INFO [org.deepsymmetry.beatlink.data.MetadataFinder:351] - Processing device found, number:3, name:"DJS-1000".
2020-Sep-21 20:40:31 INFO [org.deepsymmetry.beatlink.data.MetadataFinder:351] - Processing device found, number:2, name:"XDJ-XZ".
2020-Sep-21 20:40:31 INFO [org.deepsymmetry.beatlink.data.MetadataFinder:351] - Processing device found, number:1, name:"XDJ-XZ".
2020-Sep-21 20:40:31 INFO [org.deepsymmetry.beatlink.data.MetadataFinder:351] - Processing device found, number:17, name:"rekordbox".
2020-Sep-21 20:40:31 INFO [org.deepsymmetry.beatlink.data.CrateDigger:91] - CrateDigger starting because MetadataFinder[running:true, passive:false, loadedTracks:{}, mountedMediaSlots:[], mountedMediaDetails:[], metadataCacheFiles:{}] has.
2020-Sep-21 20:40:31 INFO [org.deepsymmetry.beatlink.data.MetadataFinder:354] - Recording rekordbox collection mount.
2020-Sep-21 20:40:31 INFO [org.deepsymmetry.beatlink.data.MetadataFinder:947] - Reporting media mounted in SlotReference[player:17, slot:COLLECTION]
2020-Sep-21 20:40:31 INFO [org.deepsymmetry.beatlink.data.MetadataFinder:351] - Processing device found, number:33, name:"XDJ-XZ".
2020-Sep-21 20:40:31 WARN [org.deepsymmetry.beatlink.CdjStatus:607] - Received CDJ status packet with reported payload length of 292 and actual payload length of 256
2020-Sep-21 20:40:31 INFO [beat-carabiner.core:261] - Realigning to beat 15 by 0.6210299999999993
2020-Sep-21 20:40:31 INFO [beat-carabiner.core:261] - Realigning to beat 17 by 0.6282999999999994
2020-Sep-21 20:40:31 INFO [beat-carabiner.core:261] - Realigning to beat 18 by 0.991658000000001
2020-Sep-21 20:40:32 INFO [org.deepsymmetry.beatlink.dbserver.ConnectionManager:308] - Player 3 doesn't answer rekordbox port queries, connection refused, not yet ready?
2020-Sep-21 20:40:32 INFO [beat-carabiner.core:261] - Realigning to beat 19 by 0.9991209999999988
2020-Sep-21 20:40:32 INFO [beat-carabiner.core:261] - Realigning to beat 20 by 0.9989230000000013
2020-Sep-21 20:40:33 INFO [beat-carabiner.core:261] - Realigning to beat 23 by 0.9998889999999996
2020-Sep-21 20:40:34 INFO [org.deepsymmetry.beatlink.dbserver.ConnectionManager:308] - Player 3 doesn't answer rekordbox port queries, connection refused, not yet ready?
2020-Sep-21 20:40:34 INFO [beat-carabiner.core:261] - Realigning to beat 24 by 0.9990389999999998
2020-Sep-21 20:40:37 INFO [org.deepsymmetry.beatlink.dbserver.ConnectionManager:308] - Player 3 doesn't answer rekordbox port queries, connection refused, not yet ready?
2020-Sep-21 20:40:37 INFO [org.deepsymmetry.beatlink.dbserver.ConnectionManager:323] - Player 3 never responded with a valid rekordbox dbserver port. Won't attempt to request metadata.
2020-Sep-21 20:40:41 INFO [beat-carabiner.core:261] - Realigning to beat 40 by 0.9998689999999968
ava -jar /home/pi/Downloads/open-beat-control-0.1.1-Preview.jar --bridge --latency 1
2020-Sep-21 20:41:29 INFO [open-beat-control.logs:86] - Open Beat Control version 0.1.1-SNAPSHOT-2-0x9cc7 built Sat Sep 12 23:21:06 UTC 2020
2020-Sep-21 20:41:30 INFO [open-beat-control.logs:87] - Java version 11.0.7, OpenJDK Server VM, Raspbian
2020-Sep-21 20:41:30 INFO [open-beat-control.logs:88] - Operating system version Linux 4.19.118-v7l+
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by clojure.lang.InjectedInvoker/0x6fbabc28 (file:/home/pi/Downloads/open-beat-control-0.1.1-Preview.jar) to method sun.nio.ch.DatagramSocketAdaptor.bind(java.net.SocketAddress)
WARNING: Please consider reporting this to the maintainers of clojure.lang.InjectedInvoker/0x6fbabc28
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2020-Sep-21 20:41:30 INFO [open-beat-control.core:193] - Running OSC server on port 17002
2020-Sep-21 20:41:30 INFO [open-beat-control.core:206] - Waiting for Pro DJ Link devices...
2020-Sep-21 20:41:30 INFO [open-beat-control.core:165] - Trying to connect to Carabiner daemon on port 17000 with latency 1
2020-Sep-21 20:41:30 INFO [org.deepsymmetry.libcarabiner.Runner:261] - Starting Carabiner 1.1.4 on port tcp://127.0.0.1:17000
2020-Sep-21 20:41:31 INFO [open-beat-control.core:216] - Pro DJ Link Device Found: DeviceAnnouncement[device:17, name:rekordbox, address:192.168.2.9]
2020-Sep-21 20:41:31 INFO [org.deepsymmetry.beatlink.VirtualCdj:883] - Found matching network interface eth0 (eth0), will use address /192.168.2.20/24 [/192.168.2.255]
2020-Sep-21 20:41:31 INFO [open-beat-control.core:216] - Pro DJ Link Device Found: DeviceAnnouncement[device:3, name:DJS-1000, address:192.168.2.4]
2020-Sep-21 20:41:31 INFO [beat-carabiner.core:324] - Connected to Carabiner daemon, version: 1.1.4
2020-Sep-21 20:41:37 INFO [open-beat-control.core:135] - Virtual CDJ running as Player 5
2020-Sep-21 20:41:37 INFO [open-beat-control.core:216] - Pro DJ Link Device Found: DeviceAnnouncement[device:1, name:XDJ-XZ, address:192.168.2.3]
2020-Sep-21 20:41:37 INFO [open-beat-control.core:216] - Pro DJ Link Device Found: DeviceAnnouncement[device:2, name:XDJ-XZ, address:192.168.2.3]
2020-Sep-21 20:41:37 INFO [open-beat-control.core:216] - Pro DJ Link Device Found: DeviceAnnouncement[device:33, name:XDJ-XZ, address:192.168.2.3]
2020-Sep-21 20:41:37 WARN [org.deepsymmetry.beatlink.VirtualCdj:2574] - Ignoring mixer device number assignment offer; we are not claiming a device number!
2020-Sep-21 20:41:37 WARN [org.deepsymmetry.beatlink.VirtualCdj:2574] - Ignoring mixer device number assignment offer; we are not claiming a device number!
2020-Sep-21 20:41:37 INFO [org.deepsymmetry.beatlink.dbserver.ConnectionManager:308] - Player 3 doesn't answer rekordbox port queries, connection refused, not yet ready?
2020-Sep-21 20:41:37 WARN [org.deepsymmetry.beatlink.VirtualCdj:2574] - Ignoring mixer device number assignment offer; we are not claiming a device number!
2020-Sep-21 20:41:37 WARN [org.deepsymmetry.beatlink.CdjStatus:607] - Received CDJ status packet with reported payload length of 292 and actual payload length of 256
2020-Sep-21 20:41:37 INFO [org.deepsymmetry.beatlink.data.MetadataFinder:351] - Processing device found, number:2, name:"XDJ-XZ".
2020-Sep-21 20:41:37 INFO [org.deepsymmetry.beatlink.data.MetadataFinder:351] - Processing device found, number:17, name:"rekordbox".
2020-Sep-21 20:41:37 INFO [org.deepsymmetry.beatlink.data.MetadataFinder:354] - Recording rekordbox collection mount.
2020-Sep-21 20:41:37 INFO [org.deepsymmetry.beatlink.data.MetadataFinder:947] - Reporting media mounted in SlotReference[player:17, slot:COLLECTION]
2020-Sep-21 20:41:37 INFO [org.deepsymmetry.beatlink.data.CrateDigger:91] - CrateDigger starting because MetadataFinder[running:true, passive:false, loadedTracks:{}, mountedMediaSlots:[SlotReference[player:17, slot:COLLECTION]], mountedMediaDetails:[], metadataCacheFiles:{}] has.
2020-Sep-21 20:41:37 INFO [org.deepsymmetry.beatlink.data.MetadataFinder:351] - Processing device found, number:1, name:"XDJ-XZ".
2020-Sep-21 20:41:37 INFO [org.deepsymmetry.beatlink.data.MetadataFinder:351] - Processing device found, number:33, name:"XDJ-XZ".
2020-Sep-21 20:41:37 INFO [org.deepsymmetry.beatlink.data.MetadataFinder:351] - Processing device found, number:3, name:"DJS-1000".
2020-Sep-21 20:41:37 WARN [org.deepsymmetry.beatlink.Util:283] - Do not know any Pro DJ Link packets received on port 50002 with type 0x10.
2020-Sep-21 20:41:37 WARN [org.deepsymmetry.beatlink.VirtualCdj:397] - Ignoring unrecognized packet sent to update port.
2020-Sep-21 20:41:37 INFO [beat-carabiner.core:261] - Realigning to beat 11 by 0.3260290000000001
2020-Sep-21 20:41:37 INFO [beat-carabiner.core:261] - Realigning to beat 13 by 0.3328939999999996
2020-Sep-21 20:41:38 INFO [beat-carabiner.core:261] - Realigning to beat 14 by 0.9889690000000009
2020-Sep-21 20:41:38 INFO [org.deepsymmetry.beatlink.dbserver.ConnectionManager:308] - Player 3 doesn't answer rekordbox port queries, connection refused, not yet ready?
2020-Sep-21 20:41:40 INFO [org.deepsymmetry.beatlink.dbserver.ConnectionManager:308] - Player 3 doesn't answer rekordbox port queries, connection refused, not yet ready?
2020-Sep-21 20:41:43 INFO [org.deepsymmetry.beatlink.dbserver.ConnectionManager:308] - Player 3 doesn't answer rekordbox port queries, connection refused, not yet ready?
2020-Sep-21 20:41:43 INFO [org.deepsymmetry.beatlink.dbserver.ConnectionManager:323] - Player 3 never responded with a valid rekordbox dbserver port. Won't attempt to request metadata.
2020-Sep-21 20:41:45 INFO [beat-carabiner.core:261] - Realigning to beat 30 by 0.9998220000000018
supersport05
@supersport05
Hi @brunchboy I'd like to drop what I'm working on here, i'm sure someone can knock me loose on this...i'm just a little stumped how to code what i'm thinking. I'm sure it's relatively simple....How can I share my code?
I'll just drop my changes in here....for reference i've included the example code and everything i have after it...
<!--
This is an example of how you can explicitly pull out information for specific players,
but generally you will want to use the loop approach below to get all players found on
the network.
    <p>
      Player 1: {{players.1.track.title}}{{players.1.track.artist}}.
      <img src="artwork/1?icons=true" width="80" height="80">
    </p>
    <p>
      Player 2: {{players.2.track.title}}{{players.2.track.artist}}.
      <img src="artwork/2?icons=true" width="80" height="80">
    </p>
-->



    {% for number player in players|sort %}
      <p>

<!--          if (players{{number}}.is-tempo-master == true) {   -->


          <img id="art-{{number}}" src="artwork/{{number}}?icons=true" width="80" height="80" align="left">
          <script>animateImage('art-{{number}}', 1000);</script>
          <span id="title-{{number}}" style="font-size:30px" style="font-family:Titillium Web">{{master.track.title}}</span>
          <br>  
          <span id="artist-{{number}}" style="font-size:20px" style="font-family:Titillium Web">{{master.track.artist}}.</span>
          <br><br>

<!--          }-->


      </p>    
    {% endfor %}
  </body>
</html>
supersport05
@supersport05

I've left the part i'm struggling with in here commented out. I have a statement

if (players{{number}}.is-tempo-master == true) {

thinking that i want this thing to loop through players (i only have 2, but hey, why not loop through all) and determine if it's the master, then i want it to show the coverart and track title, artist name. and when i switch to the next track, it would update all three without me having to rerun it.

I realize i've written this wrong, but i left it in to give direction of what i'm attempting to do. the formatting and HTML stuff I consider good-to-go

I have never been successful in ONLY showing the master track and not showing the non-master tracks information. that's as close as I can get so far. I also attempted to use something like this:

{% if players{{number}}.is-temp-master == true %}

But it flat out ignores this...just shows everything still

James Elliott
@brunchboy
Thanks for sharing your attempt! I’d be happy to try helping sort it out. First a little important background to help you understand what is going on and how to think about the code, and then I will see if I can get it running with my XDJ using your desired layout and result.
There are multiple stages going on, and you need to think about them separately. The first stage is when the browser (or OBS plugin) makes the request for the page to the server embedded in BLT. At that point the template is rendered, and the Selmer expressions are evaluated. So if we could figure out the right way to get your {% if … %} Selmer expresson written, it could control which player information got written to the page.
But the problem is, that happens only one time! So once the page is delivered to the browser (or OBS plugin), it’s done. If later a different player becomes the tempo master, that doesn’t matter. The page is rendered, the browser has it, these templates don’t matter any more. They didn’t get sent to the browser, they only executed inside BLT, and the results got sent to the browser, and the results don’t change over time. You would need to reload the page to get different results.