Initial setup confusion: art-net and ledmx4pro

In my previous setup I used imp.artnet.controller. It’s not Silicon supported, and now trying to understand how to get showsync with Max to talk to pixel tape.

In the previous setup, I’d have a long list straight to the object that covered the connection. as in:
“imp.artnet.controller @unicast_ip 192.168.1.113 @num_universes 6 @mode 4”

In showsync, what is the equivalent? Is there some json file I need to create somewhere?

I’ve discovered beam.dmxio. It looks like this is how I re-create my old setup.

I successfully created a fixture and io json files. Where should they live in the folder structure so they appear in the fixture and io editor. windows? The files presently live in the top level of ‘BEAM for Max’ package and are found upon load (or beam just reloads previous config), but they don’t appear in the window, and incidentally i’m unable to create anything new in Patch editor and I/O editor.

The max window error i get is “js: No such object” - six times when opening i/o editor and eight w/patcher editor. If I remove the fixture and i/o json files from the package, this persists, and i’m unable to restore the original functionality.

At least I can edit the json i/o file by hand! Pasted below are the I/O and patch json file contents:

{
“inputs” : [ ],
“outputs” : [ {
“address” : “192.168.1.113”,
“name” : “ArtNet”,
“sourceUniverse” : 5,
“targetUniverse” : 5,
“type” : “artNet”
}
]
}


{
“fixtures” : [ {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 1,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 4,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 7,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 10,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 13,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 16,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 19,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 22,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 25,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 28,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 31,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 34,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 37,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 40,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 43,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 46,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 49,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 52,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 55,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 58,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 61,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 64,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 67,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 70,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 73,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 76,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 79,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 82,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 85,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “left”,
“type” : “Generic RGB”,
“channel” : 88,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “top”,
“type” : “Generic RGB”,
“channel” : 91,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 181,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 184,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 187,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 190,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 193,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 196,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 199,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 202,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 205,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 208,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 211,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 214,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 217,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 220,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 223,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 226,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 229,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 232,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 235,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 238,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 241,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 244,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 247,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 250,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 253,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 256,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 259,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 262,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 265,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “right”,
“type” : “Generic RGB”,
“channel” : 268,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 271,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 274,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 277,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 280,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 283,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 286,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 289,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 292,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 295,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 298,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 301,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 304,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 307,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 310,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 313,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 316,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 319,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 322,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 325,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 328,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 331,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 334,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 337,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 340,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 343,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 346,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 349,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 352,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 355,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
, {
“name” : “bottom”,
“type” : “Generic RGB”,
“channel” : 358,
“universe” : 2,
“tags” : [ ],
“ranges” : [ ],
“testOn” : 0,
“children” : [ ]
}
],
“version” : 1
}

Summary:

  1. both editor windows no longer display anything, ever
  2. I can open my two json files in the editor windows, and they work fine
  3. I can’t create any newer files (the ‘+’ doesn’t do anything)
  4. I can’t remove and re-install the package because beam.core doesn’t re-load
  5. This isn’t super urgent, since I am able to work with this initial setup I created, but eventually I’d like to continue using features explained in the ‘walk-through’

Thank you for using Beam for Max and getting in touch about this!

I successfully created a fixture and io json files. Where should they live in the folder structure so they appear in the fixture and io editor. windows? The files presently live in the top level of ‘BEAM for Max’ package and are found upon load (or beam just reloads previous config), but they don’t appear in the window, and incidentally i’m unable to create anything new in Patch editor and I/O editor.

I/O configuration is preserved when you close and open Max, because it is stored in a config file in Users/<username>/AppData/Roaming/Showsync/Beam on Windows and Users/<username>/Library/Application Support/Showsync/Beam on macOS.
The fixture patch needs to be loaded every time you open Max and initialize Beam for Max for the first time.

The easiest way to load both fixture patch and I/O without the Patch/Fixture Editors is by banging a dict (containing the JSON), prepended with set_patch or set_io to beam.core.
You can keep the JSON files in your Max patch folder and make the dict read them automatically using filename as the second argument, e.g. dict fixturepatch fixturepatch.json or using a message such as import fixturepatch.json. You can also just embed the data in the dicts using @embed 1.

The max window error i get is “js: No such object” - six times when opening i/o editor and eight w/patcher editor. If I remove the fixture and i/o json files from the package, this persists, and i’m unable to restore the original functionality.

Sounds like you might have a file with js in the filename in your Max search path. E.g. js.maxpat. If this is the case, the js object (used by the Editor abstractions) will fail to initialize.

I can’t remove and re-install the package because beam.core doesn’t re-load

Could you say more about this / share screenshots? Are you not able to remove the package (if needed) by simply deleting the Beam for Max folder from the Packages folder?

Hi Luka, thanks so much for your response. Of the three things you addressed, maybe we can set aside the last, since I’ve been able to install/re-install. As for the second, “js: No such object” still persists and I haven’t found any files. At this point I should say this is a new computer (AppleM3Max, Sonoma 14.1.2) running Max8.5.6.

Your first

I see no such folder/file in my computer. I wonder if this is the problem. What’s the filename?

So at this point, everything works except for editor window visualization of settings. This screenshot might help confirm something? Everything shows up in dict.view, just not beam editors

@Luka do you have any advice, by any chance?

Hi @dappertutto,

From the screenshot and the js: No such object error you are seeing in the Max Console it is clear the issue is with the js object itself (other things mentioned are not relevant in this case), which the Patch Editor (beam.patcheditor) and I/O Editor (beam.ioeditor) abstractions use under the hood.

As I mentioned above, the issue you are experiencing usually happens when there is another file with js in the name in the Max Search Path, as Max tries to load that file instead of the actual js object. Even though you say you haven’t found any such files, I would encourage you to try searching some more. You can see what Max’s Search Paths are by going to Options > File Preferences…

If you are still not able to find anything, you can try resetting Max’s Preferences, as suggested by the Cycling '74 developer Rob Ramirez in this thread.

If this still doesn’t yield any results, and since js is a native Max object, I would suggest contacting Cycling '74.


I see no such folder/file in my computer. I wonder if this is the problem. What’s the filename?

This is not relevant to any of the issues above, but the reason you might not have found this folder is because you were maybe looking at the system-wide Library/Application Support folder, the full path to that folder is Users/<username>/Library/Application Support/Showsync/Beam and you need to show hidden files to see it (CMD+Shift+.). Alternatively, you can also find that folder by going to Finder > Go > Go to Folder… and type in ~/Library/Application Support/Showsync/Beam. However, you don’t really need to access this folder most of the time - everything needed to work with Beam for Max from a user’s perspective should already be accessible via beam.core or the helper abstractions.

@Luka Thanks for pushing me, I did indeed have some files just like you said. Everything is back. Thank you, I really appreciate your assistance.

1 Like

@dappertutto, that’s good to hear! Please get in touch if you have any other questions later on.