HI folks:
I know this topic has been discussed in the past in different places. Please forgive any redundancy here, but I need fresh ideas.
As new add-ons are developed by Celestia's talented contributors, I try to work them into my educational activities, for the benefit of the students and teachers who will be viewing them. For example, I recently revised my tour of the Solar System to include Runar's fantastic Sun add-on. I've tried to include Don Edwards' higher resolution Earth graphics, plus high-res versions of the Moon and of Earth, Jupiter, Venus, Saturn, Titan, etc., etc.
In other Activities, I've included some of the nebula and globular clusters that folks have designed. I've got over 30 spacecraft in use somewhere in my 10 Activities, including the large, graphically intensive versions of the HST and ISS above Earth.
When one of my users opens Celestia and goes to Earth (as an example), the program will attempt to load any add-on that it sees in its extras folder, even if that particular Activity is not using it. For example, it may open Runar's Sun (in the distance), plus a high-res version of Earth, plus the RAM intensive HST and ISS models. As I swing the scene, if there is a distant nebula in the scene, or the moon comes into view, or a globular culster is visible, Celestia will try to load those nebula, plus the high-res moon, etc.
As you can imagine, that simply don't work! Not in a typical school computer. Imagine Runar's sun, plus a distant nebula, plus a high-res Earth, plus the large HST model add-on, all in the same scene. The program simply locks up, or freezes and moans and groans for up to a minute, just trying to load all the damned textures.
One solution to many-addons that has been proposed on this forum is simply to move certain add-ons out of the extras folder when not in use. That doesn't work for an educational Activity. These activities are loaded on up to 30 school computers. None of the students are permitted to access folders or files on their hard drives (they have no administrator priviledges). As such, I cannot ask a teacher to have to open 30 computers, drag a bunch of add-ons in and out of a folder, and try to keep track of it all, every time a particular activity is loaded. Won't work.
Another option is to make a lot of the texture add-ons as "Alternative textures", or press the "R" key to lower resolution to medium. That is not very workable for me either. It is not so much that the problem is with a particular high-res texture. It is that the problem is with five high-res add-ons loading in the sky at the same time (surfaces textures, normal maps, distant nebula, distant sun, big spacecraft, etc.).
A third option is to create a separate celestia.cfg file for each add-on. The file will name only 1 add-on folder to load at a time. That doesn't work well either. Celestia uses only 1 cfg file. If a teacher wants to run Activity 2 and loads the cfg file for Activity 2 onto 30 computers, than when he/she wants to run Activity 3, I don't want to have to ask the teacher to open 30 computers and swap 30 cfg files so that only Activity 3's add-on folder loads. Again, not workable.
What I need is a means of dynamically telling Celestia to load only the add-ons that are in folder (A), or in Folder (B), or in Folder (C), etc., without having to ask the teacher to open 30 computers and move folders, or swapping one celestia.cfg file for another. Something like a keystroke entry, or perhaps ... a script of some kind. Whenever a teacher launches Celestia via one of my Activities, they launch it via a script. The Activity has a cel:url imbedded in it that launches a script file when clicked. The script in turn, opens Celestia with an internal instruction to load the add-ons only in the "Extras-Activity1" folder. Celestia opens with only those add-ons running.
Activity 2 has a different script file. When the link is clicked, Activity 2's script is launched, telling Celestia to load only the Extras-Activity 2 folder.
Can such a script be created? Can a script or a starting cel file specify which Celestia.cfg file or extras folder Celestia will use? For example, if I placed 10 separate celestia.cfg files in 10 different folders inside the Celestia main folder, could a script or starting cel command the program to go to a particular folder to get a particular cfg file to use?
Could some kind of keyboard command be used? Celestia opens as usual, but then a student presses a key and it tells the program to load only certain add-ons in its folder?
HELP Is there any way we can deal with this problem? Any suggeston is welcome!
Thanks folks
Frank
HELP - some means of blocking certain add-ons from loading
Right now, I don't know of any way to enable or disable Addons without renaming them or their folders or changing the name of the extras folder in celestia.cfg.
However, for objects that are in the solar system, you could put them in different solar systems. SSC objects aren't drawn unless you're within 1 LY or within the relevant solar system.
You could name their suns Activity 1, Activity 2, etc.
It's a hack, but might be adequate. Of course, it doesn't help with deep space objects.
However, for objects that are in the solar system, you could put them in different solar systems. SSC objects aren't drawn unless you're within 1 LY or within the relevant solar system.
You could name their suns Activity 1, Activity 2, etc.
It's a hack, but might be adequate. Of course, it doesn't help with deep space objects.
Selden
-
Topic authorfsgregs
- Posts: 1307
- Joined: 07.10.2002
- With us: 22 years 1 month
- Location: Manassas, VA
Thanks Selden. That might work for close in objects. I'll give it some thought. Sadly, it does not help me with my immediate problem.
Chris has said he will soon be adding some code to the program to allow Celestia to reload add-ons dynamically. A lot of folks have been asking for that.
Perhaps as part of that rework, Chris could incorporate the following;
1. Add a new menu to the top of the program. Open the menu and you would see a listing of the contents of first-line folders in the Extras folder (the program would read the folder names and list them in this menu upon opening). It might look like this:
Inside each group, a user has pre-arranged all of the add-ons they would like Celestia to load. For example, Group 1 might contain all the VT planet textures that a user has, plus Runar's Sun
Group 2 might contain everything in Group 1, plus several high-res spacecraft models
Group 3 might contain everything in Group 1 and Group 2, without Runar's sun add-on.
etc.
It would take a bit of setting up at first, but it is very customizable. A user could set up his/her add-ons any way they wanted. Obviously, there would be redundancy within the folders (add-ons duplicated within each group folder), but so what. Hard Drive RAM now comes in 40 - 120 GB sizes. Typically, it is not a problem in storing basic folders on a hard drive. It is what Celestia chooses to load into dynamic RAM that locks up a system.
In my case, my menu would look like this:
Dynamically, select Activity (or Group) 1, and Celestia immediately reloads only the add-ons in that folder. Select Group 2 and it loads only 2. If you want all of your add-ons to load, then select the top line (the Extras) folder. Then, Celestia will reload all of the folders below.
Select the "Test" folder and Celestia will load only those add-ons that a user is testing out (changing ssc files, changing textures, etc.)
I don't know if it is difficult to code Celestia to read the folder names in its Extras folder before it loads and display them as a menu list, but if that is possible, this would be a super feature for everyone using Celestia, not just for my problem. We could organize our add-ons to load in a myriad of ways.
Comments? Chris .... is this possible????
Frank
Chris has said he will soon be adding some code to the program to allow Celestia to reload add-ons dynamically. A lot of folks have been asking for that.
Perhaps as part of that rework, Chris could incorporate the following;
1. Add a new menu to the top of the program. Open the menu and you would see a listing of the contents of first-line folders in the Extras folder (the program would read the folder names and list them in this menu upon opening). It might look like this:
Extras
Group 1
Group 2
Group 3
Group 4
Etc.
Test
Inside each group, a user has pre-arranged all of the add-ons they would like Celestia to load. For example, Group 1 might contain all the VT planet textures that a user has, plus Runar's Sun
Group 2 might contain everything in Group 1, plus several high-res spacecraft models
Group 3 might contain everything in Group 1 and Group 2, without Runar's sun add-on.
etc.
It would take a bit of setting up at first, but it is very customizable. A user could set up his/her add-ons any way they wanted. Obviously, there would be redundancy within the folders (add-ons duplicated within each group folder), but so what. Hard Drive RAM now comes in 40 - 120 GB sizes. Typically, it is not a problem in storing basic folders on a hard drive. It is what Celestia chooses to load into dynamic RAM that locks up a system.
In my case, my menu would look like this:
Extras
Activity 1-2
Activity 3-4
Activity 5
Activity 6
Etc.
Test
Dynamically, select Activity (or Group) 1, and Celestia immediately reloads only the add-ons in that folder. Select Group 2 and it loads only 2. If you want all of your add-ons to load, then select the top line (the Extras) folder. Then, Celestia will reload all of the folders below.
Select the "Test" folder and Celestia will load only those add-ons that a user is testing out (changing ssc files, changing textures, etc.)
I don't know if it is difficult to code Celestia to read the folder names in its Extras folder before it loads and display them as a menu list, but if that is possible, this would be a super feature for everyone using Celestia, not just for my problem. We could organize our add-ons to load in a myriad of ways.
Comments? Chris .... is this possible????
Frank
Re: HELP - some means of blocking certain add-ons from loadi
fsgregs wrote:Could some kind of keyboard command be used? Celestia opens as usual, but then a student presses a key and it tells the program to load only certain add-ons in its folder?
HELP Is there any way we can deal with this problem? Any suggeston is welcome!
It seems that what you need is for all the classroom computers to load their Celestia files from a single source, so that you only need to maintain one Extras folder. I don??t know if that is possible on the OS you are using (it??s a windows flavor, isn??t it?), but maybe someone else here can answer that.
There is one method i can think of that ought to work, but it requires a lot of preparation, and some scripting expertise:
1) Prepare ONE master SSC file that contains every object used by a particular activity (or part of Activity). Have only ONE SSC file per activity.
2) Leave a copy of every SSC file (one for each activity) on every computer in your classroom, but rename them Activity_x.TXT instead of Activity_x.SSC. That way, Celestia won??t run any of them.
3) Build a script that you can run centrally - from your own computer - that goes to all the other computers and change the suffix from TXT to SSC for the Activity you want to run in a given session. To do this, you need admin privs and network access to all the machines.
... I don??t know how one does this in Windows, as i don??t use Win. But on a Mac, this is fairly straightforward with Applescript - i??m sure Windows have some similar option.
Hope this helps.
-rthorvald
-
Topic authorfsgregs
- Posts: 1307
- Joined: 07.10.2002
- With us: 22 years 1 month
- Location: Manassas, VA
Dear rthorvald:
Thanks for the idea. That sounds very feasible. I don't know how to write such a script on WIN machines .... but if it can be done, then that might work in computer labs that are networked from a teacher's master computer.
Some school computer labs are so networked, and some are not. In many high schools, teachers have virtually no knowledge of the mechanics of the operating system software. They come into the lab and tell the kids to load a particular program. That's about the extent of their knowledge.
Also, the computers may not be networked back to the master. That is the problem in my case. I operate 30 computers in the science lab, but they are not currently networked to my particular teaching computer. They could be (my IT person knows how to do it), but unfortunately, none of the computers are internet connected either. They are not connected to any hubs. This will change next year, and they all will be networked, but I would like to try solving the problem without requiring the teachers to learn how to network to each slave, or have to drag anything.
How about Celestia scripts? Is there any keyboard/keystroke command in an interactive script that could tell Celestia to load one ssc file over another, or load one Extras folder over another?
Frank
Thanks for the idea. That sounds very feasible. I don't know how to write such a script on WIN machines .... but if it can be done, then that might work in computer labs that are networked from a teacher's master computer.
Some school computer labs are so networked, and some are not. In many high schools, teachers have virtually no knowledge of the mechanics of the operating system software. They come into the lab and tell the kids to load a particular program. That's about the extent of their knowledge.
Also, the computers may not be networked back to the master. That is the problem in my case. I operate 30 computers in the science lab, but they are not currently networked to my particular teaching computer. They could be (my IT person knows how to do it), but unfortunately, none of the computers are internet connected either. They are not connected to any hubs. This will change next year, and they all will be networked, but I would like to try solving the problem without requiring the teachers to learn how to network to each slave, or have to drag anything.
How about Celestia scripts? Is there any keyboard/keystroke command in an interactive script that could tell Celestia to load one ssc file over another, or load one Extras folder over another?
Frank