If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Another Ilda view tool

I present to you... a belated Christmas gift. It's an Ilda file viewer/fixer. It can load in all Ilda files and export to an Ilda file format of your choice. This makes the program an useful tool for when you just want to convert some palette files to RGB files or vice-versa, which is very useful for the ones who have an SD card projector which can only play one file type. It can rotate 3D frames (just the camera, not the actual frame orientation), and play back at variable speed.
It also has a fully-featured palette editor, which allows you to fix wrongly-coloured files. Palettes can be exported as images that are one pixel high and loaded in again. When exporting to Ilda, there are options to include the palette in the Ilda file, and to convert RGB frames to the best fitting colour.
Also included is a little Amiga-inspired frame creation tool, which draws a series of dots at your mouse position.
And last but not least, it comes with a Pro Laserist button which will make you a true laser legend!

In the future, things like DAC output, a real frame creation and editing tool can be developed, but that's for another time.

(Needs Java 7 or higher; the source code is very easy to compile on Windows, OS X and Linux with Processing)

To run, extract where you want it and double click IldaViewer.bat.

I'm a beginner at programming, so any feedback is welcome regarding functionability, bugs, GUI design, remarks, ...
The program is open source and made with Processing, which means anybody can download Processing and edit and compile the code. This also means that you can compile it on a Mac, or any OS that supports Processing! To compile, rename the "source" folder to IldaViewer, copy the "data" folder into this folder, and open IldaViewer.pde in Processing. You also need to install the libraries "PeasyCam" and "ControlP5", which can be done from the Processing IDE (Sketch >> Import library >> Add library... and then download and install the two libraries).

Of course, I can't be hold responsible for damage to your system and/or eyes, as a result of the usage of this program.

Preview images and sneak peek of development!

Import all Ilda files.

Advanced palette editor.

Export option with the ability to include a palette and fit RGB colours to the best matching colour.

i have verified this code works under osx with processing and ilda files exported from LSX.

way to go cmb.

schwing!

Originally Posted by colouredmirrorball

I present to you... a belated Christmas gift. It's an Ilda file viewer/fixer. It can load in all Ilda files and export to an Ilda file format of your choice. This makes the program an useful tool for when you just want to convert some palette files to RGB files or vice-versa, which is very useful for the ones who have an SD card projector which can only play one file type. It can rotate 3D frames (just the camera, not the actual frame orientation), and play back at variable speed.
It also has a fully-featured palette editor, which allows you to fix wrongly-coloured files. Palettes can be exported as images that are one pixel high and loaded in again. When exporting to Ilda, there are options to include the palette in the Ilda file, and to convert RGB frames to the best fitting colour.
Also included is a little Amiga-inspired frame creation tool, which draws a series of dots at your mouse position.
And last but not least, it comes with a Pro Laserist button which will make you a true laser legend!

In the future, things like DAC output, a real frame creation and editing tool can be developed, but that's for another time.

I'm a beginner at programming, so any feedback is welcome regarding functionability, bugs, GUI design, remarks, ...
The program is open source and made with Processing, which means anybody can download Processing and edit and compile the code. This also means that you can also compile it on a Mac, or any OS that supports Processing! To compile, you also need to install the libraries "PeasyCam" and "ControlP5", which can be done from the Processing IDE (Sketch >> Import library >> Add library... and then download and install the two libraries).

Of course, I can't be hold responsible for damage to your system and/or eyes, as a result of the usage of this program.

suppose you're thinkin' about a plate o' shrimp. Suddenly someone'll say, like, plate, or shrimp, or plate o' shrimp out of the blue, no explanation. No point in lookin' for one, either. It's all part of a cosmic unconciousness.

This sounds like an important program, likely to be used the way web coders use more than one browser to check how their work will be rendered. As such, you'll need to steer toward porting this to as many systems as possible. Restricting to 64 bit Windows and the latest Java virtual machine is going to look like shooting yourself in the foot when you look back on this some day.

There may be many answers to porting easily, but aiming at cross-platform is the core of any answer as it's like a sea anchor, it gets some kind of grip in many places at once. Have a look at pure C coding (because it compiles on more stuff than pretty much any other code), and also wxWidgets (because you get a fast API for graphics that Linux and Windows of all varieties can use well). You may well settle on something different, but check those out, and the earlier you make your decisions the easier they will be so long as you keep this broad view in mind. If you limit your choices now (or go for the 'latest' development system instead of the most established and broad-based), you limit where you can go later, and also who might pay for work done.

I can't comment on the actual code because there's no way I can run it, so what I said just now is the best I can offer. I might have said nothing, but I think your aim is an important one so it's worth taking the time to say this.

Well, this is made in Processing which is cross-platform by default. It will work on Windows, OS X and Linux, only you can only natively export for the operation system you currently own (which is in my case Windows 64 bit). When you open my code in Processing on another supported system and compile, it should run equally well. The requirement for the latest Java version is implied in Processing. It's a little more effort for the end user, but this is a hobby project after all...

I chose Processing because it does a lot of the work for me. There's a ready-made library for the 3D orientation, and placing a point in 3D space is as easy as "point(x, y, z);" and voila, you have a dot. I don't have to care for a lot of things I don't want to care for. There are also libraries for audio analysis, video and pixel processing, DXF and OBJ files, and then I'm not even talking about the external libraries for more advanced 3D control, easy GUI's, MIDI, OSC, SVG, etc., and somebody even made a library for the Enttec Usb Pro! And since it's java, you can use all of the existing java libraries as well.

Anyway, thanks for believing in this project I'm not sure where it's going, we'll see where it ends up.

The next challenge will be to actually make the code readable for other people. Some of the hard work is done (proper im- & export of ilda files, a Processing-like framework for laser art) so all that remains is the fun of developing functionability. Since Processing is easy to use, I expect (hope?) others might catch interest and help with the development.

Well, this is made in Processing which is cross-platform by default. It will work on Windows, OS X and Linux, only you can only natively export for the operation system you currently own (which is in my case Windows 64 bit). When you open my code in Processing on another supported system and compile, it should run equally well. The requirement for the latest Java version is implied in Processing. It's a little more effort for the end user, but this is a hobby project after all...

I chose Processing because it does a lot of the work for me. There's a ready-made library for the 3D orientation, and placing a point in 3D space is as easy as "point(x, y, z);" and voila, you have a dot. I don't have to care for a lot of things I don't want to care for. There are also libraries for audio analysis, video and pixel processing, DXF and OBJ files, and then I'm not even talking about the external libraries for more advanced 3D control, easy GUI's, MIDI, OSC, SVG, etc., and somebody even made a library for the Enttec Usb Pro! And since it's java, you can use all of the existing java libraries as well.

Anyway, thanks for believing in this project I'm not sure where it's going, we'll see where it ends up.

The next challenge will be to actually make the code readable for other people. Some of the hard work is done (proper im- & export of ilda files, a Processing-like framework for laser art) so all that remains is the fun of developing functionability. Since Processing is easy to use, I expect (hope?) others might catch interest and help with the development.

suppose you're thinkin' about a plate o' shrimp. Suddenly someone'll say, like, plate, or shrimp, or plate o' shrimp out of the blue, no explanation. No point in lookin' for one, either. It's all part of a cosmic unconciousness.

my electric acid squid abstract looks great in your app. i'm sure it would be amazing on a giant LED panel.

Originally Posted by colouredmirrorball

Sure, send me one with some strips and I'll see what I can do!
Are you looking for another medium to display your celebrated abstracts?

suppose you're thinkin' about a plate o' shrimp. Suddenly someone'll say, like, plate, or shrimp, or plate o' shrimp out of the blue, no explanation. No point in lookin' for one, either. It's all part of a cosmic unconciousness.

I'd never heard of 'Processing', just goes to show that I'll never know the whole gamut. Got to say though, Googling that name would be a bitch. 'wxWidgets' is far less noise-prone when hunting.

I didn't do much 3D work if any, beyond a proof that the vector maths I found would work. I stayed with rotating polygons in 2D for my examples a few years ago, then I quit to work with audio once I cut to the chase and went with C and Win32 API. (In itself limiting but I make sure my code will be modular enough to port sometime..) While there is no base API for three-axis plotting on a screen, I learned that the maths for three-axis plotting was so extremely similar to 2D anyway, that you can back-convert fast with a few dedicated fast functions then use the standard 2D API to render it. Which could be worth your while because of the freedom you'll get. Not to mention the reduction in risk of someone else's code borkage in future making it look like your program broke. Also, if you can do this to fast-render to 2D you get all the blitting and other fast memory tricks to make rapid image changes.

Well Processing has been around for a while and shows up as the first result in Google :P

To each their own. You have your reasons for C, I have my reasons for Processing. Yes, my program is a bit memory intensive, but in times where everybody has four gigs of ram, does it matter?
Again, Processing is very simple to use. They use it sometimes in elementary schools to get children in touch with programming. It lowers the bar for people to get into programming. I hope people will expand on my program (though maybe not on this release, might want to clean up my code a bit), and I think that's going to be much less likely if I had done it in C.