(another?) lighting design alternative

Iain

Full time elf
Joined
Nov 13, 2018
Messages
242
Location
Darwin
Hi all,

I know there's a heap of different lighting software out there already from xLights to vixen to ledFX to magicQ and concert sort of tools... however...

I've always wanted to learn 3D programming and never had a good enough reason, so being frustrated with the software I'm currently using and its inability to do some simple things like click & drag, copy & paste, bulk updates, and because it doesn't seem to keep aspect ratio and real-world measurements, I thought I would have a go at making a new layout interface.

This is very early days and it's as much about learning as replacing anything at this stage, but I thought I'd check and see if anyone would be interested in a different layout interface? If so, what in-particular would you like to see? Here's a sample of my playing around:


If not, I'll keep playing around anyway because I'm enjoying the project.
 

Iain

Full time elf
Joined
Nov 13, 2018
Messages
242
Location
Darwin
I’ve progressed a bit with this to the point where I can add simple props to my display (candy canes, circles, strings) using real-world measurements (m, ft, etc). I’m finding it much easier to use than xlights, so I’m thinking of trying to make it compatible with xlights files so it becomes an alternative layout designer… does that sound like a popular idea?

some things I’m thinking of improving:
  • mouse drag the view up/down/left/right anywhere from any side (I can’t seem to do this in xlights 3d)
  • CTRL-drag to rotate in any x/y/z direction
  • Zoom in/out (I can’t seem to do this in xlights either)
  • Snap props to any give plane, so that you can add a bunch of props to the wall/ground or whatever area you’re working on
  • Easily add surfaces such as walls, fences, roof lines to build the static parts of your design that your props can snap to
  • Populate pixels on new props by the actual length of the prop and your chosen pixel spacing (rather than the program choosing e.g. 50 pixels no matter how long the string)
  • Align multiple props and space them evenly
  • Show the x/y/z or direct line distance between two points to help you order more pixels!

Are there any more things you’d like to see in a layout designer?
 

Iain

Full time elf
Joined
Nov 13, 2018
Messages
242
Location
Darwin
Yes.

if Xlights can do all of this, personally I think it’s either too hard to find or too hard to use.

as I said I’m also having fun learning about 3D programming, but I think I can do what I’ve mentioned and much more… I’m sure I’m not the only one that’s found it hard to use…
 

Katekate

Senior elf
Joined
Jan 1, 2020
Messages
542
Location
Portland, Vic
  • mouse drag the view up/down/left/right anywhere from any side (I can’t seem to do this in xlights 3d)
Do you mean a sideways pan? Drag with middle mouse.
  • CTRL-drag to rotate in any x/y/z direction
Dragging rotates currently, not sure why you want to add a key into the mix.
  • Zoom in/out (I can’t seem to do this in xlights either)
Mouse wheel zooms.
  • Snap props to any give plane, so that you can add a bunch of props to the wall/ground or whatever area you’re working on
You can align the props then move them against the surface manually.
  • Easily add surfaces such as walls, fences, roof lines to build the static parts of your design that your props can snap to
You can add surfaces in xlights, but its easier to import a 3d model.
  • Populate pixels on new props by the actual length of the prop and your chosen pixel spacing (rather than the program choosing e.g. 50 pixels no matter how long the string)
I don't know why you even want this.
  • Align multiple props and space them evenly
Select props, right click.
  • Show the x/y/z or direct line distance between two points to help you order more pixels!

You can do this with ruler objects once you set the scale of your layout.
 

Iain

Full time elf
Joined
Nov 13, 2018
Messages
242
Location
Darwin
Nice, thanks for going into the detail, I didn't know about some of those things.

I must stress that I’m grateful for the programmers time and work that have gone into xlights and all that it’s enabled me--and everyone else--to do… I still think there's room for improvement, for example:
  • You can't press tab or enter to jump to the next text input or to select the next model. When editing model properties I find click and type is awkward (often you have to click twice, or you type something but don't press enter so your changes are undone)
  • many new pages stare blankly, I think there could be better defaults, or tips. There's UX design principles around zero-data pages which could help a lot here
  • you can't copy/paste features of models to other models (what if I wanted to move a bunch of models to a new controller or change the pixel spacing in all my verticals)
  • you can't link the end of one model 3d position to another (I know you can group, but that's different)
  • when you design a model, the aspect often changes from model designer to layout
  • the model designer uses table cells, which is hard to change if you need a better resolution half-way through your design. What if you could just click points anywhere on a canvas that could also be zoomed, panned and rotated like the main window? And what if you could draw a line to wire them up instead of clicking numbers, then realising you missed number 5 so you have to renumber everything after it?
You can align the props then move them against the surface manually.
but as far as I know they don't snap to surfaces, there's no way to restrict movement to planes, which I would find useful when designing what to put on my fence or on a front flat wall for example
You can add surfaces in xlights, but its easier to import a 3d model.
yeah I tried, I wouldn't say you can when its that difficult. This is something I would like to play around with. I'm not trying to make Fusion 360 or anything! Houses are mostly made up of rectangular and triangular prisms.
  • Populate pixels on new props by the actual length of the prop and your chosen pixel spacing (rather than the program choosing e.g. 50 pixels no matter how long the string)
I don't know why you even want this.
Let's say I'm putting a string on my fence line/roof line/vertical post. I want to make/buy some RGB strips with 5cm spacing. Why should the string be 50 pixels no matter how long I'm running it? It would make more sense to me that I specify 5cm spacing, a start and end point, and then the program tells me how many pixels are going to fit in that length and lays them out. And if I make a mistake and resize my fence/roof/house then the pixels maintain the same spacing as I move things around.
You can do this with ruler objects once you set the scale of your layout.
I would like to make scale an inherent part of the design, that's thought of up front rather than later.
 

dkulp

Full time elf
Joined
Jan 2, 2013
Messages
143
Location
Framingham, MA
I'll just say that if you don't integrate it directly into xLights, you're going to be chasing a moving target. We change the rgbeffects file quite often, often in backwords incompatible ways.
 

BAZMick

Full time elf
Generous elf
Joined
Nov 26, 2019
Messages
484
if Xlights can do all of this, personally I think it’s either too hard to find or too hard to use.
Why don't you try to make it a bit easier in xLights then. The source code is available on git.
I imagine most of us that use these softwares use them because what we need it to do it does it well. The learning curve isn't too daunting and it's easy to use and understand
 

Iain

Full time elf
Joined
Nov 13, 2018
Messages
242
Location
Darwin
I'll just say that if you don't integrate it directly into xLights, you're going to be chasing a moving target. We change the rgbeffects file quite often, often in backwords incompatible ways.
Thanks for the advice, I was thinking of just the layout design at this stage, not effects and animations, if that makes it any easier. Something like the "lightshowhub" model designer, except for the entire layout.

Why don't you try to make it a bit easier in xLights then. The source code is available on git.
I have looked at the source code but there are various reasons why I chose not to directly modify xlights. I'm using a different 3D library which is much easier and faster to learn that wxwidgets (IMHO), and faster to make a standalone program, among other things.
I imagine most of us that use these softwares use them because what we need it to do it does it well. The learning curve isn't too daunting and it's easy to use and understand
Yes I'll agree that there's the possibility I'm doing something that isn't needed at all. There's also a concept that experienced users don't even see the problems because they've already learnt to work around them. I've read a lot of comments from beginners on xlights, combined with my own experience, and I think there are a whole host of ways the design problem can be made easier from the start.

Time will tell. As I said I'm grateful for such a comprehensive free program, but I'm also enjoying learning and making something from scratch. If that goes somewhere, then great, if not then at least I've learnt a whole heap along the way.
 

Ralphyf1

Full time elf
Joined
Jan 11, 2016
Messages
146
Location
2 Brook Court , Kidman Park
One of the nice things about Xlights is that there has been a number of contributors to the project and they always encourage more contributors. Why not just jump on board and help them back a great piece of software even better? I get it that you may not like some of what Xlights has and enjoy starting from scratch, and its your call, but it would be sad to see a fork being developed when there is still plenty to do on the core project that you could contribute to!
 

dkulp

Full time elf
Joined
Jan 2, 2013
Messages
143
Location
Framingham, MA
Thanks for the advice, I was thinking of just the layout design at this stage, not effects and animations, if that makes it any easier. Something like the "lightshowhub" model designer, except for the entire layout.
You kind of missed part of the point though.... If you aren't using the same routines/models that xLights uses, then getting your layout and xLights layout to visually match is going to be a very daunting task. Depending on the toolkit you use, it might not even be possible. The models in xLights have a lot of little peculiarities in them that you would need to duplicate to get the layouts to match. For example, there are places in a couple of the models where they end up drawing things OUTSIDE of their bounding box/model coordinates. They actually draw directly into the world coordinate space. Yes, that's completely wrong, but it was done that way to match something in some layout likely from years ago. Also, the xLights preview does not do proper z ordering of anything which some of the other 3d toolkits do automatically and cannot turn off. Thus, as I said, getting them to "match" will be very hard. However, if you don't get them to match, there will be people that will file bugs one way or the other and complain that "it looks right here, why not there" and such. I will definitely speak for the xLights devs and say it will get very annoying if those are filed against xLights.

Lightshowhub limits itself to a single model which helps reduce the scope. Plus, I don't believe they are even trying to make it look visually the same. It's just an easier way to enter some data.
 

Iain

Full time elf
Joined
Nov 13, 2018
Messages
242
Location
Darwin
OK I get it this time, I promise :)

I understand your concern around bugs being posted and making more work for you, and I definitely don't want to do that.

Once I've learnt enough around 3D and window toolkits I'll come back and have another look at xlights to see if you would like me to apply some of it there.

Thanks!
 

Kent

Apprentice elf
Generous elf
Joined
Nov 21, 2020
Messages
71
FWIW, other than the navigation in 3D, I haven't found it to be too bad.
For modifying a model, the Blender style controls that allow you to change between translate / scale / rotate on each axis works well - I could see potential to add a modifier key to snap to grid x10 for translate / scale, and say, 15° for rotation.

Navigation is very broken for me, however I think it might be related to my specific install somehow. On the layout view, the mouse wheel seems to zoom if the pointer is near the middle of the screen, then pan if I'm near the edge of the screen (i.e. near the top, wheel forward pans up; near the left, wheel forward pans left). On the house preview in the sequencer, wheel zooms regardless of the pointer position. Middle click does nothing in either view. IMO due to the nature of the middle button also being the wheel, I find it a bad choice. I'd love to see wheel dedicated to zoom, click + drag for rotate, modifier key + click + drag for pan (or something similar to that effect).
As a result of the current odd navigation behaviour, for my first basic display this year I ended up working out prop and icicle positions on paper, then entering them manually into the properties for each.

With regards to 'real' units, I just decided to choose 1 unit = 1 cm. I guess there could be some benefit for being able to swap between metric / imperial, however I personally haven't had the need to so far. Might be more important for those crazy imperial units? :p

All that said, I am extremely grateful for xLights and only comment on the above based on the request for comment on initial post.

It seems like it would be the wrong approach to create a separate application rather than improving what is already there, even if it is a little more painful given your current knowledge / skillset.
This observation only considers what I would think to give the best result for the application / community, and puts no consideration what might be best for you and your interests!
 
Top