CELX Feature question.

The place to discuss creating, porting and modifying Celestia's source code.
Topic author
Doors
Posts: 23
Joined: 27.04.2012
With us: 12 years 6 months

CELX Feature question.

Post #1by Doors » 04.06.2012, 19:45

I have a couple of features I added to CELX for my own use.

How do I go about offering them to others?

They are sourcecode additions to a few files for some features I needed but Celestia didn't offer.

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Re: CELX Feature question.

Post #2by selden » 05.06.2012, 14:03

The best way is to subscribe to and post a zipped patch file to the celestia-developers mailing list.
For subscription info, see https://lists.sourceforge.net/lists/lis ... developers

Edited to add: you could post the zipped patch file here, too, of course.
Selden

Topic author
Doors
Posts: 23
Joined: 27.04.2012
With us: 12 years 6 months

Re: CELX Feature question.

Post #3by Doors » 05.06.2012, 14:41

selden wrote:The best way is to subscribe to and post a zipped patch file to the celestia-developers mailing list.
For subscription info, see https://lists.sourceforge.net/lists/lis ... developers
Edited to add: you could post the zipped patch file here, too, of course.

I have no idea how to make a patch file.
I have read the directions, and attempted it multiple times, but so far I have had no luck making one.
It is far outside of what I am used to using, my limitation, not the tools.

What I have is a 7z zip file with the four modified files from SVN 5215 in place in their source tree directories.
It adds a line to the default data in the upper left to show the distance from SOL for selected stars.
It also includes two sample scripts to show the new CELX functions.

All changes from SVN are bounded by comments

//Doors:

All I can do is hope the additions are liked.
If some kind soul could make a patch file that would be great.
Until I can learn my way around Linux/GCC/whatever, all I can do is depend on others.

I am not an astronomer so my view point may not make any sense to those who are.
Additions are intended for things like highlighting things at or near near a specific RA, Dec to give beginners an idea where to look in the sky.
That way they can find things relative to known constellations while having a visual marker.

EDIT
P.S. One of the scripts contains a glitch because I grabbed it from a development directory by accident, fixed in later archive.
Last edited by Doors on 09.06.2012, 16:16, edited 1 time in total.

Topic author
Doors
Posts: 23
Joined: 27.04.2012
With us: 12 years 6 months

Re: CELX Feature question.

Post #4by Doors » 09.06.2012, 04:44

New/updated changes for Celestia SVN 5215
Still unable to make a patch file, I am working on it though.
Have cleaned up part of my previous work and added some to it, hence the new zip file.
Changes compiled on Winxp-Sp3 with Vs2008 Express edition.
Tested on WInxp-SP3 only.

Additions are intended for casual star browsing and giving an idea of star distribution.

For the star object:
star:SOL_RA() Right Ascension
star:SOL_Dec() Declination
star:SOL_Dist() Distance (In Light years)

For the Celestia object
celestia:distance("from", "to") distance between string named objects.
celestia:distance(from:name(), to:name()) distance between objects.

Included are three sample scripts to demonstrate the new functions.

spheres.celx by default marks all stars with in 30 LY of SOL.
sphere.celx by default marks all stars within 30 LY of focus. (Click on star to select, then run.)
tunnel.calx by default marks all stars within 1 degree visually when seen from earth.

Yellow circle for G type stars, Blue Green square for all others.
Scripts do not recognize barycenters so some binaries will be misindicated, though they will be marked.

Minimum and Maximum distances to mark are settable in the first two scripts.
Degree of visible spread settable in third.

All scripts adapted from mark_stars_with_planets_v1.0.celx by
Author: Harald Schmidt, 2004
http://celestia.h-schmidt.net/

ajtribick
Developer
Posts: 1855
Joined: 11.08.2003
With us: 21 years 3 months

Re: CELX Feature question.

Post #5by ajtribick » 26.06.2012, 19:58

Thanks for this, will take a look.

Topic author
Doors
Posts: 23
Joined: 27.04.2012
With us: 12 years 6 months

Re: CELX Feature question.

Post #6by Doors » 27.06.2012, 03:51

ajtribick wrote:Thanks for this, will take a look.

Thank you for the note.
Nice to know someone likes the idea.

Would it be appropriate for me to offer to post binaries for windows.
if it is I can put them up on my site with md5 codes.
I have Vs2k8 & QT binaries that can dropped in the directory if anyone is interested.

If this is inappropriate then I apologize.

Topic author
Doors
Posts: 23
Joined: 27.04.2012
With us: 12 years 6 months

Re: CELX Feature question.

Post #7by Doors » 12.08.2012, 18:50

I offered to put up my compiled binaries for Celestia.
I asked if it were ok, I never got any kind of a response but I did get a couple of requests.

Therefore I just put up my stuff at
http://celestia.freedoors.org/
for whoever wants it, in the Binaries directory.
This is a working copy of what I use.{Windows only: Tested on XP only, I don't use Vista or 7}
It contains 3 copies of the celestia program, and all three work and are compiled from the same source.
celestia.exe : 1.6.1 original
celestia-vs.exe : SVN 5213 compiled with VS2008
celestia-qt.exe : SVN 5215 compiled with QT creator and VS2010

All three are accompanied by md5 marker files and the md5 of each is given on the above linked page.
I also included a 7z, a rar and a zip file of the whole thing in the addons directory.

If putting this up is inappropriate, I apologize.
All that is really needed are the VS & QT executables, the rest is just extra.

The most visible change is the addition of a line when a star is selected.
I added a line marked SOL Distance which lists the distance from SOL to the focus, for instance Alpha Centauri will show 4.3650 Ly when selected no matter where you view it from.
The line above it, distance from viewer to object, remains unchanged.

The scripts directory includes sphere.celx, spheres.celx and tunnel.celx to show how to use the new commands for the celestia and star objects.
The install uses the expanded stars database stars2.dat, that can be changed in the celestia.cfg file by changing the name back to stars.dat, both are included.
This should give people a chance to see and compare.

Please let me know if you like or dislike.

Doors.

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Re: CELX Feature question.

Post #8by selden » 12.08.2012, 19:29

Doors,

Providing binaries for a modified Celestia is not a problem, so long as you make the source code of your modifications available in some way, too. That's one of the requirements of the Gnu license used by Celestia.
Selden

Topic author
Doors
Posts: 23
Joined: 27.04.2012
With us: 12 years 6 months

Re: CELX Feature question.

Post #9by Doors » 12.08.2012, 19:38

selden wrote:Doors,

Providing binaries for a modified Celestia is not a problem, so long as you make the source code of your modifications available in some way, too. That's one of the requirements of the Gnu license used by Celestia.
No problem then.
My mods are listed above, and on my site both.
I hope they work for some others as well as they work for me is all.

Doors.

duds26
Posts: 328
Joined: 05.02.2007
Age: 34
With us: 17 years 9 months
Location: Europe

Re: CELX Feature question.

Post #10by duds26 » 30.08.2012, 18:14

The license means that you should put a copy of the source in the downloads. Not just let the users download only an executable.

Topic author
Doors
Posts: 23
Joined: 27.04.2012
With us: 12 years 6 months

Re: CELX Feature question.

Post #11by Doors » 30.08.2012, 18:41

duds26 wrote:The license means that you should put a copy of the source in the downloads. Not just let the users download only an executable.
The source is there on the site http://celestia.freedoors.org/Doors/Doors_Svn_C05215.zip, and in this subject.
Just like it does above, it contains the additions I made.
The altered files are in their respective directories so people can look to their hearts content.
The executable is just for convenience.

Topic author
Doors
Posts: 23
Joined: 27.04.2012
With us: 12 years 6 months

Re: CELX Feature question.

Post #12by Doors » 20.03.2013, 01:19

Hi.
I am finishing a further adaptation of my mods to allow the basic functionality of them to work from anywhere.
So if you are at Antares looking at Betelgeuse, you would be able to determine all the stars near it in the sky from there, not just from sol.
You would also be able to highlight all the stars near either one.

Judging by the lack of reaction to my earlier mods, I am asking if there is any point to offering these.

Sorry I can't offer them as patch or diff files, but I have had no luck getting the utilities to run for me.
The best I can do is zipped files with my changes demarked by
///Doors begin
///Doors end.

The format I use for tracking changes when I modify or customize a program.

If there is no interest I won't bother anyone.

Doors.

Avatar
John Van Vliet
Posts: 2944
Joined: 28.08.2002
With us: 22 years 2 months

Re: CELX Feature question.

Post #13by John Van Vliet » 21.03.2013, 05:47

--- edit----
Last edited by John Van Vliet on 18.10.2013, 11:33, edited 1 time in total.

Avatar
Joe
Posts: 162
Joined: 29.02.2004
With us: 20 years 8 months
Location: United Kingdom

Re: CELX Feature question.

Post #14by Joe » 14.04.2013, 09:07

I had a test with Doors_Svn_C05215.zip, it worked as Doors might expected :) , but the scripts Sphere.celx, Spheres.celx, Tunnel.celx didn't work, causes are:

MarkSize in code

Code: Select all

startype = string.sub(star:spectraltype(), 1, 1)
         if startype == "G" then star:mark(MarkYel, "circle", MarkSize)
         else  star:mark(MarkGrb, "square", MarkSize-1);


needs to be defined with a specified value.

Or else, was my computer less tolerable with it?
Joe
8O

Topic author
Doors
Posts: 23
Joined: 27.04.2012
With us: 12 years 6 months

Re: CELX Feature question.

Post #15by Doors » 14.04.2013, 15:25

Joe wrote:I had a test with Doors_Svn_C05215.zip, it worked as Doors might expected :) , but the scripts Sphere.celx, Spheres.celx, Tunnel.celx didn't work, causes are:

MarkSize in code

Code: Select all

startype = string.sub(star:spectraltype(), 1, 1)
         if startype == "G" then star:mark(MarkYel, "circle", MarkSize)
         else  star:mark(MarkGrb, "square", MarkSize-1);


needs to be defined with a specified value.

Or else, was my computer less tolerable with it?

The fault is at least partly mine.
I included the line

MarkSize = 4;

In sphere.celx and spheres.celx scripts.
I missed it in tunnel.celx however.
Sadly I included a semicolon on the end of the line which on some machines is fine, but on others causes glitches.
Removing the semicolon from sphere and spheres and adding the line to tunnel fixes it on mine.
I have had no problem with this on my system, but I have had other problems.

One of the things I have learned since I put this up is that Celestia has some odd behaviors in the celx name and variable space.
Sometimes information on variables leaks from one script run to the next, so now I relaunch celestia for every run.
What I believe happened when I was testing was that I had MarkSize defined earlier and failed to restart celestia which allowed the name and variable space definition to leak so the earlier definition from another script worked for these.

I keep multiple copies of celestia and its directories depending on what I am doing and used to open the script via a file dialog since celestia is not happy if you try to run more than one copy at the same time.

Now in developing my own scripts I have to restart celestia with each run to prevent this leakage.
I do not know why it is happening.
I lack the knowledge and understanding of C++ namespace.

I have been tinkering with the idea altering the start up of celestia so I can put a script in the command line to have automatically run.

Perhaps someone on the list knows more than I do about C/C++

Doors.

P.S. I am currently working on making tunnel work from any star to any star, not just sol to any star.
That way we can see what looks close together from an alien planet.

Avatar
Joe
Posts: 162
Joined: 29.02.2004
With us: 20 years 8 months
Location: United Kingdom

Re: CELX Feature question.

Post #16by Joe » 15.04.2013, 13:55

Doors Wrote:
Sometimes information on variables leaks from one script run to the next, so now I relaunch celestia for every run.
I didn't fully follows what you've described about the problem. It may not be the odd behaviour (of Celestia). When you run the first script, it set the MarkSize = 4. This mark size in Celestia will retain unless you set a different valued mark size in the second script. If in the second script no mark size is set, Celestia will remain the mark size set in the very first script.
Joe

8O


Return to “Development”