@juriaan For the sake of leaving a concrete example:
Imagine I have two pieces of software or hardware, maybe two x32 sound boards, and I want to have bidirectional control of each (maybe if I move a fader on one board, it moves the corresponding fader on the other). Both boards, being identical, obviously use the same OSC API (same OSC addresses, same payloads). If we point both boards at Isadora port 1234, Isadora's channel system has no way of telling us which packet came from which board. It makes it impossible to build this solution unless an intermediary piece of software, or multiple Isadora files on different IPs, are used.
A simple OSC Direct Receive actor would go a long way. I've spoken with Mark before about how I would imagine it working, including OSC Wildcard syntax, where the actor could lean into the tree syntax of OSC and be given partial or complete address filters to receive info. But even just starting with direct receive on a given port would be very helpful.
I would have to agree that having a way to divide inputs and outputs of user actors would be a great feature. Being able to color code, label and segment inputs and outputs of User Actors would add great efficiency and the ability to better organise and manage user actor functionality.
Kinda a weird workaround, but if you tell them to always save the file into the same folder as the Isadora file (or the desktop), you can have an Automater Applescript waiting for files to be saved into that folder. When they are, the script can check all the names of the .txt files in the folder and save the names into another "Master List" .txt file (with a set name) formatted so that each file your client saves is added as a new line to the "Master List" .txt file. That way, you can have a Data Array actor looking for the Master File that will allow your client to use the Control Panel to select which file name they want to load in. You may want to put this "Master List" Data Array actor and Control Panel in a separate Scene with a separate Control Panel so that you can add a button on your normal Control Panel that jumps you into the Master List/File Select Scene. Either that or always keep it active as a background Scene and add Controls so that you can always use it to select which Data Array actor file your client wants to select for your main Scene.
Here's a zip file with an example file, some sample text files, and an Applescript with some instructions for setup at the beginning.
Script written by L Wilson-Spiro, 2020-12-09
Technical design consultations for installations, interactive technology, and live performance
Projection and lighting design
Show Control and video programming
Theatrical electrics and carpentry
Please direct questions to email@example.com
I do my best to answer emails as soon as possible.
1) You'll need to put this folder (IsadoraFolder) on your desktop in order for this to work.
2) Whenever you save a new text file with the "File Selection" Data Array actor, make sure that it's saved to the folder "IsadoraFolder" on the desktop.
3) You'll need to follow the instructions here to monitor the folder "IsadoraFolder" on the Desktop in order to run this script whenever a file is added to the folder: https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/WatchFolders.html
You may need to give this script permission to perform changes.
1) Go to System Preferences > Security & Privacy > Accessibility
2) Click the lock (bottom left) > enter password
3) Click the "+" button
4) In the resulting dialog, locate and select this script (FileNameList)
5) Click the "+" button
6) In the resulting dialog, go to Applications > locate and select "Script Editor"
7) Click the lock again
Applescript find Username: https://discussions.apple.com/thread/3152534
Applescript list of files in folder without extension: https://stackoverflow.com/questions/37299815/applescript-how-do-i-get-get-a-file-list-of-files-in-folder-and-remove-extensio
Applescript list of files in folder with extensions: https://apple.stackexchange.com/questions/342773/can-applescript-get-folder-contents-with-file-extension-exclusion
Applescript write text to file: https://stackoverflow.com/questions/3780985/how-do-i-write-to-a-text-file-using-applescript
Applescript File paths: https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/ReferenceFilesandFolders.html
Getting AppleScript to output multiple lines to shell https://gist.github.com/hynkle/7432418
-- FIND USERNAME --
set userName to short user name of (system info)
-- SET FILEPATH TO FOLDER --
set theFolder to "/Users/" & userName & "/Desktop/IsadoraFolder" as POSIX file
-- SET FILEPATH TO FILENAMELIST.TXT --
set textFile to "Users/" & userName & "/Desktop/IsadoraFolder/FileNameList.txt"
-- CREATE MULTI-LINE STRING WITH .TXT FILE NAMES --
tell application "Finder"
-- Get full list of names of .txt files in the folder
set fileList to name of every file in folder theFolder whose name extension is "txt"
-- Start process of making each file name on a new line
set myString to "" as text
-- Put each file name on a new line
repeat with myItem in fileList
set myString to myString & myItem & linefeed
list folder theFolder
-- WRITE LIST OF FILE NAMES TO FILENAMELIST.TXT --
do shell script "echo " & quoted form of myString & " > " & quoted form of textFile
I cannot confirm it is working in another Isadora document. Only if I have already some controls in this document and auto renumber ID conflicts enabled the control IDs will change but if auto renumber ID conflicts is disabled I get double IDs and renumber doesn't work.
To better understand how this works, can you tell me what the rules are for changing IDs. Is the change done according to the place in the control panel, according to the order of creation or ...
I use Hyperdock for that purpose.You can define a shortcut to move a window from a screen to another or use the icon in the dock to see the open windows and drag the one you want on the proper screen. https://apps.apple.com/de/app/...
exactly and perhaps easier to do an equivalent to "Get URL Text" an actor "Send URL". I use at this time the QC Webbrowser to send command to a PTZ Camera but sometime this old QC actor crashes without any reason.
I hate Apple for this yearly OS change. No time to work on other things (sound , etc…)
The return problem in different controls is solved for me on Mojave.
This is likely an insane request, but it would be highly useful if the snapshot function would store not only the top level values un a scene, but also the values in all the nestled user actors within a scene.
@DusX has already requested something similar. I would also love this.
I use many small user actors i did over time. Most of them do no magic but just keep things more tidy in my head while i develop.
Like trigger to on/off, on/off to triggers ecc. mostly just simple stuff.
The problem arises because I do not always remember the name I gave to the actors and in order to look for it in the user actors list I have to look at them all and that takes nerve, time and brings distraction, so I often end up doing them again on the fly or look for them in other patches. (even more distraction)
My request goes in the direction to become able to somehow group user actors by category.
Same applies for AU plug-ins. I have a Waves Platinum Bundle (some 100 plug-ins) installed in my mac but it's nearly impossible to look for one in the list.
I like to have a switchabel (in the visibility output properties) audio output on the Movie Player. If switched to visible audio is separate from the video (and can be manipulated, like delay etc.) if it is non visibil than the movie player acts as usual.
I think these are very similar to what Isadora already uses, just the parameters are wrapped in JSON... where Isadora is using a comment structure. Perhaps I will spend sometime converting a couple, and if successful right up a how to.