Hi

Greetings!

Ok, I’m making the leap. Today I bought Tuochdesigner commercial. Consert is in two weeks.

I’ll do a “really simple” setup, I’ve built a eight channel video-mixer with, and will layer videoclips with alpha and some 2D effects. Still struggeling with some issues - midi is not connected yet, I must find a way to make presets, and I would love to find a way to register paths of files I drop into spesiffic places in the perform-window.

Whish me the worst :wink:

Check out some of the pre-built tools in the Palette (hit Alt + L) as well as the shared tox component section of the forum, you should be able to find a bunch of tools that will help get your started

Thanks, I will. And thanks for the wiki, it gives good documentation :slight_smile:

Welcome to the forum! Let us know how it goes or if you have questions.

Thanks! And I do of course have questions, all the time. I’ll limit myself to two, where I’m quite stuck.

I have somehow set td to open text, tables and avi-files as seperate .tox-files. When I push edit in the parameters of a table it opens as a text-dat in a new .tox-file. Same with text-dat. Where do I find the settings for this?

Do any of you have a tip on a good tutorial on MIDI-mapping than what is given, or any more in-dept dokumentation than what is given in the wiki? I specifically need to get my head around the relationship between buttom types vs buttom On message and Off message.
The problem: I have mapped b1 on a BCF2000 to a controlpanel buttom controlling play/pause on a video-file. Various combinations of buttomtypes and In/out-messages makes the BCF send different signals (!?), varying from 0, 0, 127 - or 127, 127, 127, 0, 0 - or variants thereof. That is appart from buttontype radiobuttom, who sends 0, 127, 0, 127, but radio doesnt work for this purpose.

And yes, phew… Concert is in ten days. Appart from the abowe, MIDI is working, and presets is not far of. I’m somehow on shedule, and though I’m in serious lack of sleep, I’m having great fun. What a fantastic eureka-generator of a program!

Hi VJGjert,
You remind me of how I got started with Touch. It was like jumping out of an airplane with (what I was fairly certain was) a parachute only to realize that I had to figure out how to use it before I hit the ground at terminal velocity. Good times!

Sounds like your AVI files need to have the default application associations reset - you can do that from within Windows. The text/table editors can be set in the preferences dialogue: Menu → Edit → Preferences → DATs.

I use a lot of midi but don’t every use the notes so I may not be any help. I am typically tying the midi values to buttons and faders and rescaling any 0-1 or 0-127 values as needed.

You can create the radio buttons and they will work with whatever value you have them set to - you just need to rescale them somewhere. I’ve attached a basic TOE file as an example of re-scaling the values (which I’m sure you already know).

This is an awesome community. Let us know how we can help.
Thanks!


Brain.
midiVals.tox (2.28 KB)

Hi,
Funny you should say that. I’ve been having deja vus to the feeling I get when I’m rock climbing, but yours are most probably the better comparison… :smiley:

Truth to be told I tried to make the leap back in 2012, and almost got to the point where I had projector output before I abandoned the project, so I had some idea on what was expecting me, and I had built a “scetch” for my videomixer back then. During the years after that the band (a Norwegian black metal band) have been bussy doing studio-work, and we have all been occupied with other procects (read: been lazy.) I am now looking at record releases and tours both in 2016 and 2017, so this cickstart is very welcome. My priority is to set up a minimum of a working tool for now, and to develop that further during the months to come.

Thanks for the tip on the DATs, that fixed it!

The problem with my midi is not scaling, it is the irregular sequence of on/off messages my BCF sends when the buttom is not in radio-mode. The buttom is a toggle between videoIn play/pause, so radio will not work. “Toggle anywhere up” or “exclusive anywhere up” would have been my choice, but they make my BCF send a sequence of 127,0,127,0,0,127,0,127,0,0…
I will leave the problem for later - I have to push two times for play (recieving 127,0) and three times for pause (recieving 0,127,0), but I can live with that for now, and it toggles fine when I use the mouse. (Still, it bewilders me that td is “doing things” inside my BCF, and that changing buttom types makes it send different sequences. That’s more intimate than anything I’ve seen before, and gives reason for a slightly raised eyebrow…)

Now the only really critical thing before I can start using td as a production-tool for next weekend is to make my buttons and slider respond to numbers in my preset tableDAT. My problem is that I already have a override CHOP on them (midi in), and that I need to find a way to override the midi-override. Any suggestions for a strategy would be greatly appreciated.

My project is to unfinished to post as a shared component, but I’ll attach it here. Sure it is ugly and hacked together, but it is my baby and I am greatly proud of it :slight_smile:

Depending on what you need to do, you might think of using a table or storage to hold your presets.

[url]http://matthewragan.com/2015/07/29/touchdesigner-fb-helpgroup-presets/[/url]

Here are two examples to pull apart:
Using tables
presetsTableMethod.tox (7.22 KB)

Using dictionaries in storage:
presetsDictMethod.tox (7.72 KB)

These days I usually work with my presets in local storage, and then write them out as a JSON file to save any work I’ve done. This means I create multiple preset types, and keep them as entire sets.

I don’t know what kind of experience you already have with python and dictionaries, but in case you need a little more context:
[url]http://matthewragan.com/2015/10/28/python-in-touchdesigner-data-strucutres-dictionaries-touchdesigner/[/url]

Thanks, I will.

And thanks for your great tutorials, I expect to spend a lot of time with them this winter. I took the preset buttons from your tutorial on the table COMP (spent a long time looking for that one, though, and I literally did a dance around my pc when I discovered the setings-operator expose level…)

Yes … scripting is what really brings the fear of heights into me. I learn as I go, and I am greatly looking forward to dive into your material on it.

And the .toe I posted was not a working snapshot. I try again here.
Helheim.toe (403 KB)

Ehm … blush … how do you override an override signal? Override CHOP, perhaps… :blush:

I normally just skip the over ride and set the panel value.

op( 'compPathHere' ).panel.select = 1

will set your panel value - you can access all of this from the panel class

[url]http://www.derivative.ca/wiki088/index.php?title=PanelValue_Class[/url]

Thanks. To be honest I do feel like a kindergarden kid who has hacked together a algebraic equtation from the bits and pieces I’ve managed to pick up from elder peers, and it is obvious that the use of expressions is the place to start to make this better. As I haven’t yet been through your tutorials on this it would be a bit emabarasing to ask to much, and I do have a sytem that, with some workarounds, does what I need it to do for this weekend, so I will let it be like it is for now.

There also seems to be two or three parts to this problem. To start with, a cell in a preset DAT will only have effect on a parameter if the value changes from the corresponding cell in the previous preset. If the value is the same as it was in the previous preset DAT the override CHOP will not register that any change has happened, hence the slider stays where it ended up in the previous song. I guess the solution to this will be to run a script from a cell in the preset DAT, and to make the script set the parameters of the corresponding OPs, instead of having a override CHOP listen to changes. Something like the op(‘cellID’)[0,0] = panelValue + 1 from your tut on the table COMP.

But anyway, all in time. If I feel like a kid, the feeling most resembles that of a kid on christmass eve, and I’m overly exited by this software. And man it is fast! I’m used to having loading-times for my clips…

Presets and cues are hard, and deceptively so. Before I really dug into understanding python dictionaries I didn’t really understand how it could be so complicated.

I think you’re on the right track in terms of thinking of using a script to set parameters instead of relying on override CHOPs. In terms of optimization, it’s worth considering that the override CHOP always cooks - it has to as it’s watching two channels to see which one to use. However, that can get tricky when you have lots of override CHOPs scattered through a network, all using some cycles here and there. Essentially, it becomes easy to end up with a network that’s hard to optimize because it’s hard to track down all the things that are cooking.

Setting parameters with a script helps avoid some of this unnecessary cooking - and ensures that you know exactly what you’re changing, and when. It’s a little harder to set-up initially, but pays huge dividends when it comes to performance in the long run - at least in my opinion.

As you get further down the scripting rabbit hole you’ll find lots of places where just setting parameters is more efficient than using exports or references. These days I’m much more conservative with my expressions / exports, often using CHOP or DAT executes to avoid extraneous cooking, and maintain efficiency in a system.

One of the most important practices that I’ve tried to keep consistent with is going back to a project after a show / event and doing a little bit of refactoring - clean up your code, add comments, find better ways to solve the problems that you ignored because of the much bigger problems you had to solve for the event.

Hope it all goes well!

This bug will be fixed in build 57160 or later. What happened in this case was the .py extension was associated with TouchDesigner and thus opened in the wrong program. As mentioned previously you can work around this by setting your preferred editor in Edit->Preferences->DATs.

Hope you have a great show!

Thanks Selina, in the end things went as planned and I had a great time. I’m still in zombie-mode after, though. Thanks also for the info on the bug, it was a bit disturbing not to have any idea on when or how I had changed the settings…

And to all of you for support and advice. I do now have a setup that has proved itself to work in a live setting, wich was the most important milestone. There is a lot of improvements I want to do to it, making presets dictionary-based is a first priority, but from here on I can also focus a litle more widely and not only on the speciffics for this production.

In the longer run (hopefully by next autum) I will try to make better use of touchdesigners capabilities for generating its own visuals. The visuals are inspierd by Norse ornaments and symbology, wich gives some opportunities to use the video as scenographic elements outside the rectangle of the screen, and I’m looking forward to explore this and to see if I can make something with touchdesigner.

Gjert

Glad your show went well! Do post in our gallery
[url]Gallery - TouchDesigner forum
if you have videos you can share. Visuals inspired by Norse ornaments and symbology sounds really interesting. Looking forward to seeing more!

I’m no good at dokumenting. But the graphics on one of the songs is a work in progress, so I filmed that one, and got the ending of the previous and the beginning of the next song. I’ll put together something and upload it.
Mind you, the event was a tatoo-convention celebrating the early days of Black Metal seen from the tatooers perspektive, and the band played some of its oldest music. The emphasis this time was therefore more on Black Metal than on the Norse.