Software => Other software => Topic started by: drlava on April 08, 2009, 12:59:34 pm

Title: Heathcliff
Post by: drlava on April 08, 2009, 12:59:34 pm
In 2001  German programmer wrote a windows GUI laser frame editor that previews your frame via sound card and can write the frames out to wav file.  Carmangary had been posting the name of this software over on PL for a while, but I don't think anyone ever noticed...

Check out the author's page here. (|en|biete)


This looks like a good start, unfortunately other than wav it appears to only use Yoghurt files whatever that is..  Any info on the Yoghurt .LC1 file format would be appreciated.
Title: Re: Heathcliff
Post by: BlinkenLights on April 08, 2009, 01:21:44 pm
yeah i have seen that..

its kinda nice as a gui, but functionality was lacking..

if that guy and James were in the same room im sure something might happen...

Title: Re: Heathcliff
Post by: CCRDude on June 24, 2009, 04:45:18 am
Hi there,

I'm the author. While clearing out some stuff I came across by blue laser yesterday and out of nostalgia I searched a bit for my old software, coming across this thread and wondering that someone still talks about it 8 years later...

My time is filled with so many other projects that adding more functionality does not really look like something I have time to plan even, but if its still known somewhere, I thought that maybe I could release it as open source, to be extended by anyone who wants to do so.

So I took a look at the source, and noticed that it indeed is... old. Its typically RAD with most separation between code and GUI missing. It's how I have written code ten years ago - lacking lots and lots of things I would do differently today. But hey, it's working and probably can be improved a lot with a bit of refactoring alone.

Anyway, since I wanted to test Launchpad as an open source platform, I decided to go ahead with it here:

As for the format of .lc1 files - it can be found in there.
Title: Re: Heathcliff
Post by: Lazerjock on June 24, 2009, 07:20:47 am
If I understand, CCRDude is releasing his code.

James here is your GUI. GO JAMES GO!!!!!!!!!!!!!!!!!
Title: Re: Heathcliff
Post by: BlinkenLights on June 24, 2009, 12:28:48 pm
this could get interesting...
Title: Re: Heathcliff
Post by: BlinkenLights on June 24, 2009, 01:23:30 pm
and heathcliff could never be the front end for laserboy.. they are 2 completely different animals.
Title: Re: Heathcliff
Post by: BlinkenLights on June 24, 2009, 01:24:39 pm
is there no way to download a zip or tar or bz2? the source browser sux..
Title: Re: Heathcliff
Post by: BlinkenLights on June 24, 2009, 01:32:22 pm
i opened an LC1 file after  changing the extension to WAV and it worked...
the interface is not that intuitive, but it is completely gui so its not all bad

Title: Re: Heathcliff
Post by: James on June 24, 2009, 01:34:20 pm
Heathcliff is written in Delphi; which is object oriented Pascal. It's not even close to C or C++!

Let's give some love and attention to CCRDude, who wrote Heathcliff, joined our forum and gave his project to us in open source!

Thank you, CCRDude!

James.  :)
Title: Re: Heathcliff
Post by: axoduss on March 10, 2010, 01:53:19 pm
Hi all!!  I'm new in this forum, and in laser :-D Obviously, I have some trouble! :-(

I downloaded the source code, all file. Now I need to compile it and I had downloaded Embarcadero Delphi 2010, but at the time to simply open the project I receive a lot of errors! Missing resources file, and so on. Any idea?

Kindest regards
Title: Re: Heathcliff
Post by: drlava on March 10, 2010, 06:34:18 pm
Hey CCRDude, you are great for opening this up.  It's a pretty capable program, with morphing capability, variable angle dwell, multi-frame editing and a technical GUI.  Nicely done.  If someone were to bring it up to date I think two important additions could be 1) ILDA format support or LaserBoy Wav format support 2) color for controlling at least R G and B lasers in a projector.

By the way, I hope everything worked out with 'the one you love' :)
Title: Re: Heathcliff
Post by: CCRDude on March 11, 2010, 04:54:21 am
@axoduss: I'm sorry for the incomplete upload  %)

The missing resource file was probably Heathcliff.res - thes gets recreated by the IDE and is no problem at all, but I've included it in a new upload.

Another thing I just noticed is the dependency on snlUIVista. I made this optional, so that all forms are now standard TForm unless you say otherwise (new unit UnitHeathcliffHelpers.pas).

One thing you'll probably notice is the dependency on Toolbar97 (http://""). You'll have to install these components for now, otherwise Delphi will complain and not display the forms correctly. I plan to remove the dependency on them and replace them with standard Delphi toolbars, but haven't found the time to do so.

For more ideas, please paste the error messages from the compiler!

@drlava: thanks for the praise :)
Everything worked out indeed ^^
Title: Re: Heathcliff
Post by: axoduss on March 11, 2010, 12:21:46 pm
ok, compiled toolbar97 and toolbar2000 for required dcu files in lib folder. Now I have these errors:
[DCC Error] FormUnitMain.pas(1983): E2010 Incompatible types: 'Char' and 'AnsiChar'
[DCC Fatal Error] FormUnitHelpLines.pas(99): F2063 Could not compile used unit 'FormUnitMain'

and some other warnings and hint
thanks :-D

PS: why you don't release "setup.exe"? Not all have delphi compiler and adeguate skills
Title: Re: Heathcliff
Post by: James on March 11, 2010, 03:41:50 pm
I don't know Pascal or Delphi, but it looks like you are dealing with the difference between an 8-bit standard ASCII char and a 16-bit wide char.

Look at your compiler for a setting that will revert your compiler back to a time when there was no such thing as a wide char!

We have the same issue in C/C++, but the former is assumed, not that latter.

I can understand the idea of internationalization for output strings that the user can see, but involving it into the core concepts of the language is ridiculous!

Computer Science is in ENGLISH!  ;D

James.  :)
Title: Re: Heathcliff
Post by: BlinkenLights on March 12, 2010, 12:46:24 am
blah blah blah.. where is my friken mouse
Title: Re: Heathcliff
Post by: CCRDude on March 12, 2010, 02:39:18 am
@axoduss: there is a download of just the binaries available... well, there should have been one on my homepage. Just noticed that it leads to a 404 page not found.

I'll try to re-upload asap!

@James: you're right :)

Delphi has a type "Char" (single letter) as well as the types "AnsiChar" (one byte) and "WideChar" (two bytes). Same for String and AnsiString vs. WideString (variable length). Up to version 2008 I think, Char was equal to AnsiChar, now it is WideChar. I must admit I created Heathcliff at a point where I didn't care about Unicode. Nowadays I add typecasting all over the place where I use OS APIs that need a special type, even though it sometimes looks a bit extrem, like PWideChar(WideString(AnsiString(mywar))) to convert zero-terminated ansi text to utf-16 text ;)

In this case, the problem is even a bit more clouded - since I used both String and Char only, Delphi 2010 should automatically use the Wide* variants, while older compilers should stay with the Ansi* variants. But Borland/CodeGear/Embarcadero added a special case: String[N], where N is a number, defines a string with a predefined length, and those are always ASCII, never WideString. So copying a Char into a String[N] does no longer work between compiler versions.


The fix: in lines 1912 and 1913, replace "of char" with "of AnsiChar".
Well, actually I should have used an array of bytes there anyway. And a stream class instead of old non-OO file access methods.

I uploaded the fixed code as revision 7.
Title: Re: Heathcliff
Post by: axoduss on March 13, 2010, 12:01:38 pm
Well, I'm waiting for it :-)
Title: Re: Heathcliff
Post by: CCRDude on March 15, 2010, 04:40:43 am
I've restored the binary files download at now :)