PDA

View Full Version : Vixen 3.0 Introduction Series - Part 2



KC
07-29-2011, 10:42 PM
Welcome back! This week, we're going to cover the foundation concepts that you'll be working with in 3.0. This week's topic applies to any user, both old and new, and next week we'll cover a couple more for the more in-depth user. If you're going to skip a week, don't make it this one, make it the next one.

On with the show...

Basic Concepts

For a basic configuration, there are three concepts that you need to be familiar with -- controllers, channels, and patching.

Controllers

Everyone knows what a controller is. It's the hardware that controls your lights (or whatever you're controlling). In this new version, controllers are something you create once and you don't touch again unless your hardware setup changes. You create controllers to model the hardware you use in real life. If you have a Ren-64 running your display, you create a 64-channel Renard controller in the software and configure the output module it uses accordingly. On this side of things, the hardware side, the changes aren't as sweeping or drastic. But, as an added feature, we now support the IDoLaundry interface (http://doityourselfchristmas.com/forums/showthread.php?16397-Vixen-3.0-Introduction-Series-Part-1&p=166935#post166935). Use the appropriate module and you're set for marital bliss. Same goes for the IMakeToast and and IBrewCoffee interfaces, guaranteed to brighten every morning. After all, working on your Christmas display is so much easier when your spouse is happy, is it not? (Let's see just how many people read this...)

Channels

In Vixen 2.x, we only had the concept of channels -- the "channel" that you put values into was the same "channel" of data that was output to a controller later on. However, in 3.0, we are separating the concepts of "channels" and "outputs". A channel of data may go to a single controller output, but it doesn't have to. For example, we might have the "Left window wreath" channel or the "Megatree segment 7" channel. This conceptually models the display and better models a user's intent (e.g., "I want this to be applied to the left window wreath" as opposed to "I want this to be applied to the second Renard controller, 14th output"). Separately, there may be a Renard controller with outputs from "Renard-1" through to "Renard-32" that the channels get connected to. You decide where a channel of data will be output and you set it up once. Unlike 2.x, channels are no longer something that you create for each sequence. You create them for the display (again, modelling the display) and all sequences use the same collection of system-wide channels. So how do we link up channels and controllers?

Patching

To connect a channel to a controller output, we use a patch. This is simply a way to link them together. We do this because we may want to link up a single channel with multiple outputs, or we may want to move display items around. In Vixen 2.x, we would have to edit the controller channels and busily copy-paste everything around to match the intended result. Now, we just have to patch the channels to different outputs. (Another example may be wanting to sequence some data on channels that we don't have controllers for yet. We can add channels to the display, but not have them patched through to any outputs, and then add the outputs and patches later on.)

For editing, there is only one more concept to add --

Effects

As mentioned earlier, we are adding the concept of an "effect". There will be many different types of effects and developers in the community will be able to write more. These can be as simple as the effects we are used to from Vixen 2.x (such as a fade in, fade out, or a static level on or off), or more complex (like the spinning of a megatree, chase effects, pulse effects, etc). An effect can be applied to a number of channels and will generate the data for those channels based on the way the effect is configured. One of the things that makes these effects useful is that they represent your intent -- spin a tree, chase fade an arch, blinky flashy -- without requiring you to figure out how to execute that intent. If you apply a spin effect to your mega-tree, it doesn't matter if you have 32 channels in it or 128, the effect figures out how to make it happen. Again, you tell it "what" and it figures out "how". If you later add or remove channels to/from that mega-tree, you don't need to do anything with the effects you've applied to it, they will still work.

So how does this all tie together?

Pretty simply, actually.

You apply an effect to a channel and patching gets it to the right controller outputs. There's not much to it. You meant for the data to go to the second controller output and not the first one? Change the patch, the data will follow. It's supposed to fade from 100% to 50%, not 25%? Change the effect properties. Or what if you'd rather see that fade applied to the front door and not the garage door? Move the effect to a different channel.

One thing we've tried hard to accomplish is allowing more advanced users freedom while not requiring beginning users to have to worry about more advanced concepts. In the simplest configuration, you define a controller and let the administration program create channels and patches for you (with each controller output getting a single channel patched to it). It's ready to go at that point. But you don't have to start with controllers if you don't want to. You can work in a disconnected setting where you define channels and sequence data for those channels and later define controllers and patch them all up. It's completely up to you.

If you can understand the first three concepts, you can configure your display. If you can understand the concept of effects, you can also create sequences. For a basic display, you have everything you need to get started.

That's it for this week, so thanks for reading!

ukewarrior
07-29-2011, 11:21 PM
I can hardly wait to make some yummy toast with my REN64 and Vixen 3 !

chelmuth
07-29-2011, 11:23 PM
Dirk will be very pleased.. And Additionally.. I can't wait for 3.0 it's functionality seems to coincide much more with how my brain works which will be fantastic..

dirknerkle
07-29-2011, 11:24 PM
Good one, KC! I read it!

The IDoLaundry interface will make it a lot easier around DIGWDF in the future... :lol:

This is pretty exciting. Vixen 3.0 is going to be a very special program. Thanks in advance for all your hard work!

Skunberg
07-29-2011, 11:28 PM
Yaw...Hoooo!!!!! It's going to hang the roof-line lights!!!!

Greg in Canby
07-30-2011, 01:05 AM
Thanks KC and posse - 3.0 sounds awesome - however -


Use the appropriate module and you're set for marital bliss..

Not gonna touch that one.

macebobo
07-30-2011, 01:15 AM
Can we please get a IBrewTea, it can be a polymorphic cousin of IBrewCoffee. In all seriousness, it sounds like your modeling the domain in a very well thought out manner. Thanks folks! I like the serial installments, keeps the appetite whetted each week. Leaves me wanting more! -- John

barbotte
07-30-2011, 02:06 AM
k look like i am putting my sequencing on hold until 3 is out .. it sound so good ....

ChiefWarrant
07-30-2011, 05:52 AM
Once again, Vixen 3.0 looks like it is going to make my sequencing life easier.

Great Job KC!

rokkett
07-30-2011, 07:15 AM
KC owes me a new keyboard. I was eating my toast and drinking my coffee when I read this and got coffee all up in my keyboard..... :)

dowis
07-30-2011, 08:23 AM
Another well written intro.
Thanks again KC for all of the hard work your team is putting into 3.0.
Can't wait for the first release to start palying. Even if we can't get all sequencing for this year finished with it. It will be great to start and get moving with the new concepts. Seems like it is going to make sequencing so much faster for those of us with slow minds.

dhavard
07-30-2011, 10:51 AM
I am so excited and cannot wait to use 3.0 and the new features.

keebler
07-30-2011, 10:55 AM
wife would LOVE that.. lol
idolaundry interface.. lol

keebler
07-30-2011, 10:59 AM
how much of sequences written for earlier versions will still be compatible with 3.0?
in the past stuff written with ver 1 did not work in ver 2.
so i HAD to ask...

its ok, because i will probably re-write my whole show anyway.. but i was just curious.. thanks for all your hard work.. it is REALLY appreciated.

smartalec
07-30-2011, 11:03 AM
This new version keeps getting better an better, i hope the old output plugins still work
I use the E1.31 Dmx over Ethernet

gdyrdave
07-30-2011, 11:14 AM
Leave it to Dirk to com up with all kinds of ideas. How about a "takeout the trash" or "Mow the grass" plugin. Dirk is a crazy boy...But...So am I...LOL.
Thanks KC and crew for providing a rewarding experience for all of us. Look forward to using 3.0.

sallz0r
07-30-2011, 11:16 AM
how much of sequences written for earlier versions will still be compatible with 3.0?
in the past stuff written with ver 1 did not work in ver 2.
so i HAD to ask...

its ok, because i will probably re-write my whole show anyway.. but i was just curious.. thanks for all your hard work.. it is REALLY appreciated.

From KC's post last week:


One of the questions that has been asked many times is "what about my existing sequences?". The intent has been and continues to be to make use of your existing sequences. Being that there is such a huge shift in concepts between the two versions, you're probably going to want to do some cleanup on an imported sequence, but it will at least work. So to answer the question, we do plan on having some sort of an import wizard to bring your data into the new version.


So, they will be compatible, but there is such a paradigm shift that you may want to re-write them as needed. If you don't want to touch old sequences and just play them as they were, well, we'll do our best to get them into 3.x for you. :-)



This new version keeps getting better an better, i hope the old output plugins still work
I use the E1.31 Dmx over Ethernet

Unfortunately, old plugins won't work at all, they'll all need to be rewritten. All the underlying architecture has changed, so things need to be rewritten. Fortunately, we have a huge community of smart people, many of who can write code and plugins, so hopefully some of the community developers can help rewrite output modules (and any others!) as needed.

keebler
07-30-2011, 11:21 AM
lol. i saw this AFTER i posted it.. too bad i cant undo that post..

Materdaddy
07-30-2011, 11:26 AM
I have a question that hasn't come up in the last 2 week's threads. Hopefully it isn't out of line.

I heard the new version is written on top of mono, meaning it should be cross platform for Linux/Mac/Windows. Is that a meaningless rumor, or something I can start drooling about?

sallz0r
07-30-2011, 11:30 AM
I have a question that hasn't come up in the last 2 week's threads. Hopefully it isn't out of line.

I heard the new version is written on top of mono, meaning it should be cross platform for Linux/Mac/Windows. Is that a meaningless rumor, or something I can start drooling about?

It's not written on Mono -- at the moment, it's just a bog-standard .NET application. However, cross-platform support via Mono is something we're very vaguely keeping in the back of our minds. At the moment, though, there's no guarantees -- we have to get something out yet, and see if it actually works and if people actually want to use it. :-)

budude
07-30-2011, 11:57 AM
I assume that with all the new plug-in development required that there is someone to at least ensure the 3-4 most used plug-ins - Renard, DMX, DMX Pro and AP have a name on them for development?

ctmal
07-30-2011, 12:56 PM
Does this mean if I use rs485 instead of rs232 I can move my washer all the way out to the shed? How about if I increase the baud rate, will everything get done faster?

Sorry, couldn't resist. 3.0 sounds awesome, I can't wait. Thanks to all involved.

dirknerkle
07-30-2011, 12:58 PM
How about if I increase the baud rate, will everything get done faster?



That's the spin cycle. :smile:

BF210
07-30-2011, 04:37 PM
I didn't see anyone mention this amid all the laundry discussion, so...
Does the new channel/effect concept mean it will be easier to share sequences, as it will no longer matter how many segments are in an arch or megatree? I can also see how splitting design and patching makes it hard to convert the old grid-based sequences. What about RGB v. RGBW fixtures?

sallz0r
07-30-2011, 08:59 PM
Does the new channel/effect concept mean it will be easier to share sequences, as it will no longer matter how many segments are in an arch or megatree? I can also see how splitting design and patching makes it hard to convert the old grid-based sequences.

Yes, it makes it a bit trickier to go from one display to another, but it will also be better (for the exact reason you describe). We can move from one megatree to another, and the effects should be recomputed and save the user a lot of work.

But to actually *get* there is another problem -- I believe KC has thought about ways to do it. There might be something like a way to export your sequences for someone else, or a wizard to open other people's sequences and "translate" from channels from one display to another. (all speculation for now, though.)


What about RGB v. RGBW fixtures?

Good question. Next week we'll discuss something that clarifies it a bit more for you, hopefully it will make life a lot easier. :-)

(question for you though -- do you have any examples of the way RGBW things are used? Eg. videos showing the effects they are used with, etc.?)

erm213
07-30-2011, 09:09 PM
(question for you though -- do you have any examples of the way RGBW things are used? Eg. videos showing the effects they are used with, etc.?)

Typically the RGBW are some sort or flood lights. They are generally, but not exclusively used for wall washing, or lighting up display elements.

Erik

BF210
07-30-2011, 09:53 PM
Typically the RGBW are some sort or flood lights. They are generally, but not exclusively used for wall washing, or lighting up display elements.
Exactly. The Rainbow Flood is RGB only, while the MightyMini is RGBW. Frank's Super Strips are typically RGBW, although I believe some have populated them as RGB+UV for special effects. Automatically mapping the color space between them is non-trivial, though certainly possible.
May be jumping the gun here, but if a color could be an Effect, then applying "light blue 40%" to channel Left Wall should work regardless of the fixture in use.

sallz0r
07-30-2011, 10:00 PM
Exactly. The Rainbow Flood is RGB only, while the MightyMini is RGBW. Frank's Super Strips are typically RGBW, although I believe some have populated them as RGB+UV for special effects. Automatically mapping the color space between them is non-trivial, though certainly possible.

Interesting. Do you have any info about the mapping, or do you know of anywhere that it's been done? That's the part I'm trying to consider now; how to best model a display, and how it would make sense for it to work with different colored channels (RGBs, RGBWs, etc...)

I just want to make sure that we can do something that "makes sense", although I realize it might not be one-size-fits all.

intwoit2002
07-31-2011, 12:08 AM
I would just like to say thanks to KC and the valuable people working with him. Vixen makes this whole thing happen for me and I can't wait.

Thanks so much.
Al

mschell
07-31-2011, 11:31 AM
I'm glad to see the separation between channel and controller. The patching concept is fairly widely used, especially in stage lighting, but also in things like LSP, to make the division between logical and physical.

Will one to many mapping be possible?

And will there be "virtual controllers" or something to that effect so that you can combine different physical channels into different groups, possibly overlapping?

It will be neat to see how the "effects" are generated and how they can be applied to different types of channels or "fixtures" or whatever.

sallz0r
07-31-2011, 11:48 AM
Will one to many mapping be possible?

One channel can be mapped to multiple controller outputs, yes.



And will there be "virtual controllers" or something to that effect so that you can combine different physical channels into different groups, possibly overlapping?

It will be neat to see how the "effects" are generated and how they can be applied to different types of channels or "fixtures" or whatever.

This week only covered some of the basic concepts -- next week will talk about some more advanced concepts, which starts to go into those areas.