PDA

View Full Version : Vixen 3.0 Introduction Series - Part 1



KC
07-24-2011, 09:01 AM
Introduction

Welcome to our four-part presentation on Vixen 3.0. Over the next four weeks, we will try to prepare you for what you can expect in September (which we are still working hard to accomplish). We will be presenting concepts only. There won't be anything about specific editors or controllers, except in examples, and we'd appreciate it if you could restrict any questions from those specifics as well. Our goal is to try to get people comfortable with what they'll need to know in order to use the next version before they're faced with it. Also, before you ask, we're standing pretty firm on the feature set. While we would like to get everyone's request in, right now we have to focus on solidifying what's already in there.

The dev team has been discussing the best way to present this to you guys -- the end users -- and we've decided that we'll present it in 4 parts:

1) An introduction to the motivation for Vixen 3.0, including the problems that exist with the old versions (2.1 and 2.5), and what some of our goals are with the new software.

2) An introduction to some of the basic keywords and concepts of Vixen 3.0; terminology that everyone will have to understand and be familiar with.

3) Extended coverage of some of the more advanced concepts of Vixen 3.0 that people can use to control a display in more powerful ways. If you want to stick to a basic display, don't worry, you don't have to worry about these.

4) An overview of some of the behind-the-scenes bits and pieces -- the module system, and what people can contribute with. We hope that the community will get behind the software, and be able to add and extend modules to accomplish things we wouldn't even have considered!

So, to kick it off, we'll start with the motivation for Vixen 3.0: where it's come from, and what we want to do.

--

Vixen 2.x is a very useful piece of software, however over time the community requested many different features and modifications, and began to use it in ways which were not originally considered or designed for. As such, to support these new features, ideas, and concepts KC decided to redevelop the software from the ground up.

What were some of the problems with Vixen 2.x?

2.x Issues


Making/preparing a sequence was done directly to the output channels -- ie. the rows in the sequencer were directly mapped to the output channels. If you wanted to move output channels around (between controllers), or duplicate data from one channel on another, it was all done manually with lots of shuffling and copy-pasting.

Sequencing any sort of fancy visual effects were done manually by the user (for the most part). There were a few simple 'macros' hard coded into the software -- making ramps up and down, twinkle effects, etc. -- but if the user wanted to do anything complex (spinning a Megatree? pulsing stars? etc.), they had to manually program values into each of the component channels.

The software didn't have any understanding of other types of display items, such as animatronics, RGB strings, or even multi-coloured strings. All it knew of was a bunch of channels, each with an 8-bit value (from 0-255). If the user wanted to control animatronics with it, they had to make do with those values, or if they wanted to control multi-coloured lights on the same object (such as RGB strings), then it had to be done manually with different channels.

There wasn't any easy way to integrate input into the system or into a display -- there were people playing with things like Wii controllers, or Guitar Hero guitars, etc., but it was always a band-aid solution to try and get input into the system. It was always intended to be preplanned displays, output only.

Sequences were locked to individual time slices (the grid we've all grown to know and love). Anything you wanted to do was going to be fixed to a 50ms interval (or whatever time period you chose for the sequence).

The software was very defined, and not very expandable. The only real aspect that could be expanded (through modules) were Output Plugins.

Any additional functionality, such as the scheduler, was integrated into the core program. If there was a change to minor functionality, a whole new version had to be released.


So, now that we have a better idea of what the software was, and what we wanted it to be, we could start improving it. There have been many changes -- in fact, it's pretty much a complete overhaul! So how do we explain what has changed, given that a lot of people are familiar with Vixen 2.x?

Probably the key aspect to the new version is the change in approach to the user interaction. In Vixen 3.0, we are trying to capture the user's intent for a display and a sequence, rather than making the user spell out explicitly what they want to happen. What does this mean? Well, as an example, take a common display effect: spinning a megatree in a circle.

In the old version, if we wanted to do a spin on our megatree, we would have to manually figure out the channels it would apply to, the time period it would operate over, and the values for each channel in that time period to get the right brightness, fading, speed, etc. This would often take..... ages! However, in Vixen 3.0, we want to capture the intended effect for the display, instead of being forced to break it down into discrete chunks. That means (for this example) to spin a megatree, we just grab a "Spin" effect, apply it to the channels for the Megatree, and configure the effect to suit what we need (things like total spin time, number of revolutions, fade time, etc.). It makes sequencing a display a lot quicker if the software figures out what it needs to do instead of the user having to do it. You tell it "what" and it figures out "how".

As you can imagine, being able to do this requires a bit more intelligence and knowledge of a person's display setup. As such, there are a new concepts being added to Vixen 3.0 outlined in the coming weeks to better model a users display and make it quicker and easier to use.

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.

Next week, we will begin to present and explain basic concepts and what you need to know to build a basic display and sequence.

(Thanks to Michael Sallaway for his hard work in writing most of this content.)

ailgup
07-24-2011, 09:08 AM
sounds greeat!!! i cannot wait until september

chris

erm213
07-24-2011, 09:09 AM
Very cool KC! Looking forward to reading more about 3.0.

Erik

TimW
07-24-2011, 10:32 AM
4) An overview of some of the behind-the-scenes bits and pieces -- the module system, and what people can contribute with. We hope that the community will get behind the software, and be able to add and extend modules to accomplish things we wouldn't even have considered!


KC and dev team - with that feature alone... the future is assured! Thankyou for keeping a bit of the DIY in DIYC for us!

I have no doubt this engine will rock...

Tim

g2ktcf
07-24-2011, 11:16 AM
as we have said before...KC you the man!

tweist
07-24-2011, 11:56 AM
KC and Team. Thank you so much for all of you hard work. After reading this first description of what is changing, I am really excited to see and test the finished project. I will be looking and waiting for next weeks update. This is a great way to present it.
Again, Thank you and the team for all the work so far. I'm sure the rest of us out here will test it to the limits as always.

You guys are awesome!!!

dowis
07-24-2011, 12:22 PM
Thanks KC. We appreciate what all of your team is doing. Can't wait for the next update!

THurrle
07-24-2011, 12:33 PM
It is people like K.C. that put this forum ahead of some of the others. His work is appreciated.

smartalec
07-24-2011, 12:53 PM
KC an the Vixen Team, You Rock..
I cant wait to start playing with the New Vixen when it comes out

macebobo
07-24-2011, 01:33 PM
KC and Team, I am looking forward to 3.0 and seeing the API. For what it does, Vixen is one of the best pieces of free software I have seen. Keep up the great work! -- John

Lefserev
07-24-2011, 04:55 PM
Keep working. Everybody loves and appreciates your hard work.
I am totally ignorant on this topic and someone might have already mentioned this, but I think that it would be really neat to have the feature to control a minirds directly and easily with Vixen 3.0.

ChiefWarrant
07-24-2011, 05:05 PM
Thank you KC & Vixen team!

I can hardly wait until September. I will be off in MA on a business trip. So no soldering or testing, just 60 days of sequencing...and 3.0 sounds like it will fit the bill.

Tony

dmcole
07-24-2011, 05:10 PM
I know I speak for dozens -- hundreds? -- here when I say if it hadn't been for KC's generosity, I wouldn't be in this hobby.

I look forward to seeing all the new features and concepts of 3.0 and can't wait to get my hands on it.

Thanks.

\dmc

Matt_Edwards
07-24-2011, 05:57 PM
KC, you made my dream of Synchronized Christmas lights come true with Vixen 2.x.

Now Vixen 3.x team, many thanks for the effort in getting this product for to the DIYC community.You guys rock.

dirknerkle
07-24-2011, 06:41 PM
A very clear and helpful way to explain the new software, KC. Well done. All of us are in your court -- and anxiously awaiting a version we can play with. The roadmap you're using to design 3.0 sounds very solid and highly user-oriented.

And while we are all excited about the news, take your time. We'll wait because in the meantime, we have a tremendously capable version of Vixen to use.

Thanks in advance for all your hard work!

sallz0r
07-24-2011, 07:51 PM
Keep working. Everybody loves and appreciates your hard work.
I am totally ignorant on this topic and someone might have already mentioned this, but I think that it would be really neat to have the feature to control a minirds directly and easily with Vixen 3.0.

What's a minirds? Is it a specific type of output controller?

Our standard reply to most questions about specific features will be a pretty firm "We'll get the core functionality down first, then add requested features/support later if we have spare time". Alternatively, it might be something that the developers in the community can help with, and write modules to support new things! :-)

Having said that, there's no problem with mentioning things you'd like to see eventually: it helps us to keep a finger on the pulse of the community, and know what features people would like to use.

Wish_g
07-24-2011, 07:57 PM
Thank you very much for your software and your continuous updates to this. It seems it will be very competitive this time.

chelmuth
07-24-2011, 08:20 PM
MiniRDS ... the RDS boards to add RDS to FM Transmitters to send the text to the radios..

g2ktcf
07-24-2011, 08:32 PM
gents...first of all the MiniRDS is one of the devices that can easily be built into a module. In other words...you can write the code yourself after the team gets the core functionality working.

I would think its very appropriate at this stage to keep the "requests" to yourself for the time being. I am not trying to be rude but let them keep their mind focused on getting the core working.

erm213
07-24-2011, 08:42 PM
gents...first of all the MiniRDS is one of the devices that can easily be built into a module. In other words...you can write the code yourself after the team gets the core functionality working.

I would think its very appropriate at this stage to keep the "requests" to yourself for the time being. I am not trying to be rude but let them keep their mind focused on getting the core working.

I agree. If the API is like prior API for plugins, it won't take too long to get new stuff up a running.

Erik

sallz0r
07-24-2011, 09:17 PM
MiniRDS ... the RDS boards to add RDS to FM Transmitters to send the text to the radios..


If the API is like prior API for plugins, it won't take too long to get new stuff up a running.

Yep, almost exactly what I was thinking! That should be pretty straightfoward -- thinking through what would be needed to support something like a MiniRDS, I'm pretty confident there is the framework there to support things like that fairly easily. Having said that, it's not something the dev team will have time to support for this year -- but a handy community developer will probably be able to pick it up and write a module to support it if they're so inclined!



I would think its very appropriate at this stage to keep the "requests" to yourself for the time being. I am not trying to be rude but let them keep their mind focused on getting the core working.

Yeah, that's true -- but at the same time, it's good to be able to know what users are talking about, and what they want to eventually do with their displays. Having said that, we don't want to get the thread bogged down with 101 feature requests for every man and his dog -- how do you think we can best balance it? Maybe we make a new thread for feature requests that are not directly related to the discussion of the thread?

A Marchini
07-24-2011, 10:04 PM
Go K.C.
I think I am going to cry (at least I will until I get my bastardized Renard driver hooked into 3.0)
Tony M.

ErnieHorning
07-24-2011, 10:10 PM
Maybe we make a new thread for feature requests that are not directly related to the discussion of the thread?I think somebody aught to start a 3.x feature request thread that they would be willing to update the first post once in while with a list of those requests.

This could be a repository that the community can draw from.

Mactayl
07-25-2011, 05:35 AM
Can't wait to see the end results, Thanks KC and Vixen Team..:D

zaker
07-25-2011, 07:49 AM
Great News KC! As usual, thanks for the hard work and Vixen!!
Thanks to everyone else on the dev team.

tom

chesterspot
07-25-2011, 08:35 AM
FYI, there was a Vixen 3.x Plugin / Feature / Development Tracker thread started yesterday.

http://doityourselfchristmas.com/forums/showthread.php?16405-Vixen-3.x-Plugin-Feature-Request-Development-Tracker-Thread

mlkren
07-25-2011, 12:45 PM
Thanks for all you have done for DIYC. I am looking forward 3.0.

DynamoBen
07-25-2011, 06:38 PM
I think somebody aught to start a 3.x feature request thread that they would be willing to update the first post once in while with a list of those requests.

This could be a repository that the community can draw from.

As KC said the feature set for Vixen 3.0 is locked in. This thread is meant to introduce those new features, not to open the door to new ones. In general new features are unlikely to make the release.

ppohlman
07-27-2011, 03:36 PM
I know that many others have already said it, but THANKS KC and the Vixen 3.0 team!!

I am really excited to see what the new platform will bring.

Penfold
07-27-2011, 05:23 PM
Thanks KC for all ya do here for us. You definitely have me drooling in anticipation for 3.0.

michaelc
07-29-2011, 11:59 AM
KC & Team, kudos and thanks.

btw, has anyone documented the feature request to actually have the software install your roofline lights? I can't afford a cherry picker! :-)

dirknerkle
07-29-2011, 12:48 PM
btw, has anyone documented the feature request to actually have the software install your roofline lights? I can't afford a cherry picker! :-)

I think that's scheduled for the same release as the "make toast," "brew coffee" and "do the laundry" interface... :lol:

ErnieHorning
07-29-2011, 01:03 PM
Well the "brew coffee" one is easy; just plug it into an AC SSR. Let me think about the other two. :)

michaelc
07-29-2011, 01:08 PM
or even easier, assuming we can have an x10 plugin, you just need an x10 module!

dhavard
07-30-2011, 10:47 AM
I am so excited about 3.0. Thank to KC and the dev team for all they do for the DIY community!!

lboucher
09-13-2011, 09:37 PM
OMG, been away for a month and a half, and I missed everything.
So much to read and catch up on.
KC and Team, You Guys Rock, So Excited to keep reading!