AAAAA SSSSS TTTTTTT RRRRRR OOOOO L OOOOO GGGGG

A A S S T R R O O L O O G G

A A S T R R O O L O O G

AAAAAAA SSSSS T RRRRRR O O L O O G GGGG

A A S T R R O O L O O G G

A A S S T R R O O L O O G G

A A SSSSS T R R OOOOO LLLLLLL OOOOO GGGGG

** VERSION 7.60 **

Release notes for Astrolog version 7.60 (April 2023):

This file describes the freeware astrology software program Astrolog version 7.60 and the additions and fixes made to it, over the previous version 7.50 which was released seven months ago in September 2022. The main things in this update are more fixed star objects, arbitrary distance based aspects, East Indian charts, and rings of Neptune and Jupiter.

NEW FEATURES

Here are new additions to version 7.60 that weren't in previous versions:

1. New star objects: The star Algol, the Galactic Center of our Milky Way galaxy, and Great Attractor location that most nearby galaxies are being drawn to, have been added to Astrolog as additional objects. They can be referenced with the -R command switch, and in the Windows version they’ve been added to the Star Restrictions dialog. Astrolog now has 50 star slots, and 134 object slots total. “Galactic C.” is object index #132, “Great Attr.” is object index #133, and “Algol” has been inserted among existing star objects as index #127. These objects could be computed in Astrolog before, however they required customization with the -YU switch, so since they’re popular and significant enough it’s useful for them to be present as default objects.

2. Star customization: The Windows version has a new star customization dialog, brought up with the new “Setting / Planetary Moons / Star Customization” menu command. In it, star object slots can be renamed, and their definition changed to a new star. Star definitions are designations as given in the sefstars.txt Swiss Ephemeris text file, and as passed to the -YU command switch. This dialog is very similar to the Object Customization dialog, which also allows adjusting the contents of 50 Astrolog object slots. Any customizations made in this dialog or with the -YU switch will be saved to a new section in the astrolog.as default settings file, as created with the -od switch or with the “Save Program Settings” command.

3. Distance aspects: Astrolog supports “distance aspects”, or events that compare distances of planets from the observer. Just as standard aspects compare position along horizontal zodiac position, and Parallel/Contraparallel aspects compare position along vertical declination, distance aspects consider the third dimension of distance. To enable distance aspects, use the new -gd or -ad switches, or the new “Aspects Measure Distance” option in Display Settings. Distance aspects can be seen in the aspect grid, aspect list, transit influence, and transit graph charts (both single chart and transit/relationship comparison charts).

Distance aspects compare proportions or ratios of distance, in which each aspect’s normal angle indicates the proportion compared to 180. For example, a “Square” aspect in this context means one planet is 50% of the distance from the observer as the other (90/180), while a “Sextile” means one planet has 1/3 the distance of the other (60/180). The “Conjunction” aspect is used to represent distances being equal, which means there’s never an Opposition distance aspect in charts (because 180/180 would be redundant). Aspect orbs become percentages of distance. For example, a 5 degree aspect orb in this context means planets forming distance aspects are allowed to be up to 5% different from the exact proportional distance. (One way to distinguish a chart of distance aspects is that orbs are expressed as percentages instead of degrees.) For these distance aspects, “waxing” means the nearer planet is moving away from the observer, while “waning” means the nearer planet is moving closer.

Also, the “aspects measure distance” setting will extend vertical aspects. In addition to Parallel/Contraparallel which map to Conjunction/Opposition, the other aspects can measure other proportions. Each aspect’s normal angle indicates the proportion compared to 180. For example, a “Square” aspect in this context means one planet has half the declination of the other (90/180), while a “Trine” means one planet has 2/3 the declination of the other (120/180). For these vertical aspects, “waxing” means they’re on the same side of the baseline, while “waning” means they’re on opposite sides. (Because of this, Parallel aspects are always waxing, while Contraparallel are always waning.)

4. East Indian wheel: Astrolog can now display charts in East Indian format. The East Indian chart is similar to South Indian, in that by default it has one area for each sign, however by default Aries is at the top and the signs go counterclockwise around the wheel. Similar to the other Indian charts, if the “1st house on left edge” setting (-J switch) is on, then the chart will be rotated so the box containing the Ascendant will be on the left edge. In Astrolog, the standard wheel chart will be displayed as East Indian if the “Indian chart format” setting (-XJ switch) is on, and also if the “adjusted houses” setting (-XC switch) is on.

In the Windows version, to easily select and switch between South Indian, North Indian, and East Indian wheel formats, there is a new “Graphics / Indian Style Charts” submenu, with three new menu commands for each of the three Indian chart types, and each of which has its own keyboard shortcut.

5. Alternate Eris glyph: Astrolog supports an alternate glyph for Dwarf planet Eris, which is the Unicode “Form Two” glyph of a circle below which is a downward pointing arrow. (This is in contrast with the default “Form One” glyph for Eris of two clashing spear tips.) This alternate Eris glyph can be selected by passing 2 to the YXGe switch, by putting 2 in the 1’s place in the -YXG switch, or in the Windows version in the Graphics Settings dialog by selecting “Eris Glyph / Form Two”.

6. Nakshatra glyphs: Astrolog can display graphic glyphs for the Vedic Nakshatras (instead of just numbers for them) when displaying Nakshatras around the wheel chart, which is enabled when the wheel sign subdivision type setting is set to Nakshatras (“-v3 9” switch). Vedic Nakshatra glyphs are in the font “Hank’s Nakshatra” created by astrologer Hank Friedman. To display Nakshatras using these glyphs, download and install the font, and then set “Graphics / Graphic Settings / Nakshat.” to “Hank’s Nakshatra”. They can also be activated by the command switch “-YXfn 9”, which sets the font to use for Nakshatras to this font.

7. Individual glyph/font selection: From the command line, new subswitches of the -YXG switch will set the glyph to use for individual signs or objects. Specifically, -YXGc will set the glyph for Capricorn, -YXGu will set glyph for Uranus, -YXGp will set Pluto, -YXGl will set Lilith, -YXGv will set the Vertex, and -YXGe will set Eris. Also from the command line, new subswitches of the -YXf switch will set the font to use for particular things. Specifically, -YXft will set the font for text, -YXfs will set font for signs, -YXh will set houses, -YXfo will set objects, -YXfa will set aspects, and -YXfn will set Nakshatras.

8. Azimuth orientation: The new -YZ switch will set how azimuth numbers in the text mode local horizon chart (-Z switch) are determined. By default, azimuth in Astrolog starts at 0 degrees on the East horizon, passing through 90 degrees on the North horizon. However, alternative true north-based azimuths start with 0 on the North horizon. The parameter to the -YZ must be from 0-7, and it indicates where 0 degrees starts, and toward which direction degrees increase. Each number indicates an additional 90 degrees added to the azimuth, in which 0-3 means degrees increase counterclockwise when looking down upon the horizon, while 4-7 increases clockwise. For example, a parameter of 1 indicates 0 degrees on the South horizon passing through 90 degrees on the East horizon, while 5 indicates 0 degrees on the North horizon passing through 90 degrees on the East horizon.

9. Animation command switches: The new -Xnp switch will pause animation. The new -Xnf switch will set the animation factor, or how many units of time to jump at a time (taking a parameter from 1-9). Astrolog has been able to animate charts and pause animation for a long time, however it wasn’t possible before to manipulate these animation settings via the command line.

10. Display message: The new -YYT switch will popup a message. In the Windows version the text will be in a message box, while non-Windows versions will print the text to the console. It takes one parameter, indicating the string of text to display. In the switch’s string parameter, the character sequence “\n” will be translated to a newline, character sequences like “\A” will be expanded to the contents of custom AstroExpression variable @a, and character sequences like “\a” will be expanded to the contents of custom AstroExpression string indexed by variable @a.

11. Filter Astrodatabank: The new -Y5i switch can be used to filter the contents of an Astrodatabank XML file. The switch’s parameter indicates a string that must be present within a record, in order for that record to be loaded. This switch is similar to Astrolog’s existing chart list filtering, however this prevents records from being loaded in the first place, instead of requiring them to be loaded and then manually removed afterward, which is faster. It also allows checking records or metadata that can’t be seen or filtered via other means. For example, to only load those charts with accurate birth data that are Rodden Rating AA, do: -Y5i ">AA<"

The new -Y5I switch is similar to -Y5i but allows more detailed filtering based on multiple strings at once. This switch takes two numeric parameters, which indicate a starting index in the list of AstroExpression custom variables and strings, and a count of how many AstroExpression variables to consider from that point. Afterward, when an Astrodatabank XML file is loaded, each chart record will be scanned for the given strings as indicated in the AstroExpression custom string list. Each instance of those strings will cause the corresponding custom variables to be incremented. Finally, the ~5i switch AstroExpression will be called, allowing the AstroExpression hook to check the presence of variables to determine which strings have been seen. For example, assume “-Y5I 4 3”, and in which custom string 4 is “Apple”, custom string 5 is “Banana”, and custom string 6 is “Carrot”. A chart record containing two instances of “Apple” and one of “Banana” anywhere within it, will cause custom variable @d to be 2, @e to be 1, and @f to be 0, when ~5i is called.

12. Moons chart setting: Astrolog’s text and graphic planetary moons charts (-8 switch) may be invoked as -80 to cast each planetcentric chart separately. This new setting is also in the Moon Object Settings dialog under the option “true planetcentric positions in moons charts”. Normally (to have a consistent view of the solar system) a planetcentric chart is the geocentric perspective of the planet, with the geocentric positions just offset to that planet. With this setting, the planetcentric chart will be cast relative to that planet, which may make planets appear slightly differently than they appear from Earth, due to light travel time to Earth. Note that this setting only makes a difference for apparent positions, and that if true positions are on (-YT switch) then -8 and -80 charts will be identical. True position charts and -80 charts will be virtually identical for planetcentric positions, since most moons are only a few light seconds away from their planet.

13. New house systems: Astrolog supports six new theoretical house systems. They don’t appear as Windows menu options, but can be selected via the command line with the -c switch, or in the “House System” dropdown in the Calculation Settings dialog. Counting these, Astrolog now supports 40 house systems total.

East Point Porphyry houses (-c 34): Standard Porphyry houses trisects each quadrant. East Point based Porphyry houses trisects “quadrants” formed by the MC and East Point axes.

Vertex Porphyry houses (-c 35): Standard Porphyry houses trisects each quadrant. Vertex based Porphyry houses trisects “quadrants” formed by the MC and Antivertex axes.

East Point Sinusoidal Ratio houses (-c 36): Standard Sinusoidal Ratio houses divides each quadrant based on a sine wave. East Point based Sinusoidal Ratio houses divides “quadrants” formed by the MC and East Point axes.

Vertex Sinusoidal Ratio houses (-c 37): Standard Sinusoidal Ratio houses divides each quadrant based on a sine wave. Vertex based Sinusoidal Ratio houses divides “quadrants” formed by the MC and Antivertex axes.

East Point Sinusoidal Delta houses (-c 38): Standard Sinusoidal Delta houses divides each quadrant based on a sine wave. East Point based Sinusoidal Delta houses divides “quadrants” formed by the MC and East Point axes.

Vertex Sinusoidal Delta houses (-c 39): Standard Sinusoidal Delta houses divides each quadrant based on a sine wave. Vertex based Sinusoidal Delta houses divides “quadrants” formed by the MC and Antivertex axes.

-

Here's a summary of the 17 new command switches in Astrolog 7.60 that weren't in previous versions:

-gd: Like -g but aspects measure distance proportions.

-ad: Like -a but aspects measure distance proportions.

-80: Like -8 but compute true planetcentric positions separately.

-Xnf <units>: Set animation jump factor in units.

-Xnp: Pause animation, suppressing any active animation mode.

-YZ <0-7>: Set orientation of azimuth for -Z local horizon chart.

-YXG[cuplve] <0-3>: Select specific glyph to use for item.

-YXf[tshoan] <0-9>: Select specific font to use for area.

-Y5i <string>: Set filter string for ADB XML file format load.

-Y5I <var> <vars>: Set variable range for ~5i AstroExpression.

-YYT <text>: Popup formatted text string in current context.

-~XL <string>: Set adjustment for atlas city coloring.

-~XQ <string>: Set adjustment for key press in window.

-~WQ <string>: Set adjustment for Windows menu command selection.

-~Q[1-3] <string>: Set notification before/after chart displayed.

-~5i <string>: Set filter for ADB XML file format load via -Y5I.

-~2[0] <var> <string>: Set AstroExpression custom string(s).

Here's a summary of the 4 new menu commands in the Windows version of Astrolog 7.60 that weren’t in previous versions:

Setting / Planetary Moons / Star Customization…

Graphics / Indian Style Charts / Draw South Indian

Graphics / Indian Style Charts / Draw North Indian

Graphics / Indian Style Charts / Draw East Indian

EXTENDED AND IMPROVED FEATURES

A list of improvements to existing features in Astrolog 7.60, such as new things you can now do with old features that you couldn’t do before, or ways that existing features work better than before:

1. Rings of Neptune: Astrolog can display the rings of Neptune, Jupiter, and Dwarf planet Haumea. This is in addition to the rings of Saturn and Uranus supported by previous versions. Rings can be seen in Astrolog’s telescope chart and solar system orbit chart, when zoomed in enough on a planet. For more about rings of planets and how to interpret them in astrology, see: https://www.astrolog.org/astrolog/astmoon.htm#ring

2. JPL Dwarf planet moons: Custom objects in Astrolog can be defined to calculate the positions of moons of Dwarf planets and other more obscure objects, by using JPL Horizons Web queries. For example, to calculate the position of Eris’ moon Dysnomia, set an object to have the definition of “j120136199”, or pass the number 120136199 to the -Yej switch. For another example, to calculate the position of comet “C/2022 E3” (the “green comet”) in astrology charts, set an object to have the definition of “j90004682” (after which “Lookup Names” should display the body's Name as “ZTF”, standing for “Zwicky Transient Facility” which discovered it, which is a quick way to verify the right object has been defined).

3. Unix JPL Horizons: JPL Horizons Web queries can be used to calculate standard and more obscure objects on all platforms now. Before, this feature was only available in the Windows version.

4. Moons chart extended: Astrolog’s planetary moons charts are now able to display the moons of Earth, along with moons of Dwarf planets Eris, Haumea, Quaoar, Orcus, and Salacia. Earth’s moon and Nodes can be included if these points are first assigned to custom objects, and Salacia’s moon Actaea can be included if Salacia itself is first assigned to Orcus’ object slot. For example, to display all Dwarf planet moons at once in these charts (Eris’ Dysnomia, Haumea’s Hi’iaka and Namaka, Quaoar’s Weywot, and Orcus’ Vanth) use the following command line: -Yej Vul 120136199 -Yej Cup 120136108 -Yej Had 220136108 -Yej Zeu 120050000 -Yej Kro 120090482 -Yej Eri 920136199 -Yej Hau 920136108 -Yej Qua 920050000 -Yej Orc 920090482 _R Vul Cup Had Zeu Kro Eri Hau Qua Orc

5. Moons wheel extended: Astrolog’s planetary moons wheel chart (-X8 switch) has been extended so that the Moon’s Node and Lilith objects when unrestricted will be displayed orbiting Earth (assuming a non-geocentric chart). Since these objects orbit or are positioned around the Earth, they can be treated the same as if they were additional moons of Earth.

6. Color Nakshatras: When displaying the 27 Vedic Nakshatras around a graphic wheel chart, the numbers or Nakshatra glyphs will now be colored based on the ruler of that Nakshatra. Specifically, starting with Nakshatra #1, the colors will be that of the objects South Node (Ketu), Venus, Sun, Moon, Mars, North Node (Rahu), Jupiter, Saturn, and Mercury (with these nine repeated three times).

7. Local Apparent Time: Astrolog supports time zone entry in Local Apparent Time (LAT), which is true sundial time. This is similar to Local Mean Time (LMT), which is a constant rate time based on longitude difference from GMT. However, since LAT is variable due to Earth’s orbit, equivalent LAT and LMT times are up to 20 minutes different from each other. LAT can be specified as a time zone similar to LMT, and appears in Astrolog’s time zone dropdowns.

8. Aspect Grid extension: Astrolog’s text and graphic aspect grid charts respect the display format setting (-s subswitches) and can have angles and orbs displayed as numbers or hours/minutes (in addition to degrees that were supported before).

9. Hourly ephemeris: The text mode ephemeris listing, when outputting at a step rate different from once per day (-E0 switch) has been updated to allow input by hours. The -E0 switch has been extended to accept a parameter starting with “h” indicating that many hours, e.g. “-E0 h8” will output data every eight hours or four times per day.

10. Houses in dispositor: Astrolog’s dispositor graph (-j -X switches) will now include house cusp objects in the graph if those objects are unrestricted, and if the modify display setting (-Xi switch) is active.

11. Arabic part ordering improved: Arabic part sorting order is now a separate setting from whether the Arabic parts chart is enabled, meaning one can set a sort preference without enabling the chart, or enable the chart without specifying the sort order (and have the sort order still apply). The new -Pi switch will sort by default index which groups parts by category.

12. Fixed star ordering improved: Fixed star sorting order is now a separate setting from whether the fixed star object category is enabled, meaning one can set a sort preference without enabling the objects, or enable the objects without specifying the sort order (and have the sort order still apply). The new -Ui switch will sort by default index which sorts stars by brightness in the year 2000.

13. Planet absolute magnitudes: The -YUb0 switch setting which expresses star brightnesses as absolute magnitudes independent of distance, will now also affect planet magnitudes in the text mode local horizon chart (-Z switch). For example, Venus is the brightest planet in the sky due to its close distance to Earth, however if all planets were equal distance then Jupiter and sometimes Saturn would be brighter.

14. Print seconds extension: Astrolog’s text mode aspect list chart (-a switch), influence chart (-j switch), and date difference chart (-rd switch), will display power, percentage, and time numbers with more digits to the right of the decimal point, when the print nearest second setting (-b0 switch) is on.

15. More esoteric interpretation: If esoteric rulerships, Hierarchical rulerships, and/or Ray rulerships are enabled (-YR7 switch), then chart interpretation will include statements about planets which are placed in these rulerships, similar to how it does statements about planets in standard rulerships. Also, Astrolog’s esoteric chart interpretation (-7 -I switches) will include a sentence about the Hierarchical ruler for each planet’s sign, similar to how it already includes sentences for the standard and esoteric rulers.

16. Esoteric interpretation help: When listing information about the Seven Rays (-H7 switch), if interpretations are on then after the Rays are listed, there will be a list of general Esoteric Astrology information used when interpreting Astrolog’s esoteric chart (-7 -I switches). Each sign, house, and planet will be listed with its esoteric information. Specifically, signs will include the esoteric lesson, mundane and esoteric mantras, and the sign’s type of Light and its corresponding Labor of Hercules. Houses will include general characteristics and the spiritual qualities they foster, and planets will include their esoteric meaning.

17. Relative file paths: The -Yi switches now support relative file paths, which means a definition like “-Yi natalcharts” will point to the “natalcharts” subdirectory off of the Astrolog install directory containing the executable. Downloads of Astrolog now place all ephemeris files in the “ephem” subdirectory.

18. Ayanamsa name parsing: Sidereal zodiac ayanamsas can be specified by name in addition to a particular offset in degrees. For example, from the command line it’s much easier to do “-s Lahiri” instead of “-s 0.883208” (although the latter still works). In AstroExpressions, the various ayanamsa offsets may be referenced by their names prepended with “Z_”, e.g. constant “Z_Lahiri” means 0.883208.

19. More complementary aspects: The smart cusps setting (-YC switch) which avoids redundant aspects between eternally opposite objects (such as don’t display a Sextile to the South Node if there’s a Trine to the North Node) has been extended to recognize additional complementary aspect pairs. The BiQuintile (144 degrees) and SemiQuintile (36 degrees) are complementary, and the Quintile (72 degrees) and TreDecile (108 degrees) are also complementary.

20. More context menus: The Windows version now has 21 different right mouse click context menus for its various text mode charts. Before, only graphics mode charts had context menus.

21. Sorting faster: Sorting chart lists (with the -5 subswitches, or the “Sort List” button in the Windows version) is now visibly faster, especially for long chart lists like the Astrodatabank.

22. TZ database updated: Astrolog’s time zone change information has been updated to use TZ database version “2023b” (instead of “2022c” which was used before). This new version has a few subtle corrections and improvements to various areas in the world.

PROGRAM CHANGES

A few changes that aren't new feature additions or bug fixes have been made to Astrolog 7.60, which means certain old assumptions are no longer valid. Most can be considered improvements, but they still change existing behavior. A list of these follows (which aren't useful to be aware of unless you have used previous versions of the program):

1. Star objects renamed: Astrolog has changed and renamed its “Pleiades” fixed star object, and now calls it Alcyone, which is the brightest star in the Pleiades cluster. That star object is no longer the position of Pleione, a dimmer star in the cluster (which means its position will move slightly). Also, the fixed star object “Orion” has been renamed to “Alnilam”, to refer to the middle star in Orion’s belt that it actually refers to. Also, in constellation charts the fixed star object “Andromeda” would be labeled “M31”, and now it’s simply “Andromeda” in all contexts.

2. Star objects resorted: Astrolog’s 47 (now 50) fixed star objects have been sorted by brightness, with the brightest star Sirius first, and the dimmest objects or galaxies last. This affects their object indexes, and placement in the Star Restrictions dialog. (Specifically they’re sorted by their brightness in the year 2000, because brightnesses do change over time gradually due to star proper motion.)

3. Astronomicon font updated: The Astronomicon font has been updated to version 1.1, and Astrolog makes use of its new glyphs. Specifically, the glyph for the Quintile aspect now uses the Astronomicon’s new "Q" glyph, to match Astrolog’s default “Q” glyph for it. That means displaying the Quintile aspect in Astronomicon within new Astrolog but using an old version of the font, will result in a bad character. Upgrading to the new version 1.1 of Astronomicon will fix this. This issue will only be present if one displays the Quintile glyph in Astronomicon, and can be ignored otherwise.

4. Moons chart adjusted: Astrolog’s text and graphic planetary moons charts (-8 switch) used to cast each planetcentric chart separately. Now (to have a consistent view of the solar system) a planetcentric reference within these charts is the geocentric perspective of the planet, computed by taking geocentric positions offset to that planet. This adjustment may make moons appear at slightly different positions, due to light travel time to Earth. Note that this change only makes a difference for apparent positions, and that when true positions are on (-YT switch) the charts will be identical to before. The old behavior may be accessed with the new -80 switch.

5. Ephemeris files subdirectory: Downloads of Astrolog now place all ephemeris files in the “ephem” subdirectory. This can be done now that the -Yi switch makes it easier to reference subdirectories relative to the Astrolog install directory.

BUG FIXES

Here are bugs or other issues with version 7.50, all of which have been fixed in 7.60:

1. Nodal points inaccuracy: The North Node, South Node, and Lilith objects would be computed incorrectly, if both heliocentric mode and the sidereal zodiac were active at the same time. Specifically, these objects would be offset by the sidereal to tropical zodiac difference.

2. AAF time bug: Importing an Astrological Exchange Format (AAF) file, would parse the chart time incorrectly when country name ended with the character “a”. Specifically, the time would always be seen as “am”, in which for example 6pm or 18:00 in the file, would be treated as 6am or 6:00 by Astrolog.

3. Bounds bug: In the text mode standard radix listing (-v -b0 switches), displaying Egyptian/Ptolemaic terms/bounds (“-v3 4” or “-v3 5” switches) wouldn’t produce the correct planets.

4. Moons average velocity: The -v0 switch which displays planet velocities relative to average speed, wouldn’t work right for planetary moons when a planetary moon was set as the central object, and would produce abnormally large numbers. For example (similar to how planets are handled) inner moons of the same planet move at the same average speed as the planet being orbited (which means the speed the central body moon orbits that planet), while outer moons of the same planet move at the same average speed as that outer moon orbiting the planet.

5. Sidereal time inaccuracy: The display of the chart’s sidereal time in the center of the text mode house wheel chart (-w switch) was inaccurate when the sidereal zodiac was active. Specifically, this time would be offset by the sidereal to tropical zodiac difference.

6. Aspect grid omission: Aspect grid charts (other than the text mode single chart grid) would leave out aspects involving other planets and have blank rows, if the required object setting (-RO switch) was set. Normally aspect grid charts, since they already display all unrestricted objects, should show all aspects regardless of the required object setting.

7. Transit to natal aspect bug: Transit to natal aspect velocities (such as in the -aa or -ax switches) normally assume that the natal planet has zero velocity. However, this check was reversed and incorrectly assumed the transiting planet in chart slot #2 had zero velocity, as opposed to the natal planet in chart #1.

8. Parallel positions display: When the parallel aspects setting was on, the relationship aspect list (-r0 -ap switches), and the text mode planetary moons chart (-8 switch), would display vertical aspect positions as if they were horizontal zodiac positions, producing bogus numbers. The moons chart will now actually check vertical positions when parallel aspects is on, showing planetary moon alignments on the vertical axis.

9. Gauquelin corruption: Displaying the text mode Gauquelin sector chart would clobber the contents of the first and second chart slots afterward. That would adversely affect comparison charts displayed after the sector chart, such as the comparison astro-graph chart. For example, displaying the sector before the astro-graph chart, with switches like “-r0 -l -L” or “-r0 -e -L”, would display wrong data for the astro-graph chart.

10. Astro-graph inaccuracy: The graphic astrocartography chart (-L -X switches) would draw nadir lines offset by a couple pixels to the right of where they should be, when in the left half of the chart. This could be seen by unrestricting both the North Node and South Node (which are always 180 degrees opposite each other) and noticing that the North Node MC line and the South Node IC line weren’t perfectly overlapping.

11. Wheel coloring limitation: Wheel chart labels over filled in areas would sometimes be drawn in a color with poor contrast over the area, especially when the background transparency setting was set to a high value. Light colored areas will now always be drawn on with black, and dark colored areas will always be drawn on with white, once the background transparency reaches 50%.

12. Sky reflection incomplete: Astrolog’s graphic local horizon and telescope charts will be drawn flipped from left to right when the harmonic chart factor is set to -1 (-x -1 switch). However, this flipping wasn’t applied everywhere, and it wouldn’t also flip the axes and other chart labeling.

13. Telescope omission: The telescope chart (-XZ switch) wouldn’t list Earth/Moon occultations, when they’re seen as such from other planets.

14. Telescope display: The telescope chart (-XZ switch) wouldn’t show the line of the ecliptic, when the colored signs option (-YXk switch) was also on.

15. Moiré display glitch: The graphic wheel chart, when the moiré pattern is being drawn in the corners (“-YXv 2” switch), and also when lines are thick (-Xx switch), would draw a row of extra pixels below the chart boundary.

16. COB calculation error: Customizing an object slot to be a center of body (COB) object, and then making that custom object be the central body, would result in an error message about two numbers not being allowed to be identical.

17. JPL calculation error: Setting the central object to a custom object computed via a JPL Horizons Web query, would produce an error message about missing Swiss Ephemeris format ephemeris file (even though calling JPL Horizons shouldn’t of course involve any ephemeris files).

18. JPL calculation inaccuracy: A custom object computed via JPL Horizons, when the central object was something other than geocentric and also when the sidereal zodiac was active, would be computed incorrectly and offset by the sidereal to tropical zodiac difference.

19. Brightness glitch: Adjusting star brightnesses to be absolute magnitudes relative to a fixed distance (-YUb0 switch) would also adjust the numbers for objects with no brightness such as the Great Attractor. Those invisible objects should always have their brightness displayed as 999.99.

20. Graphic calendar omission: The graphic transit to transit calendar (-d -K -XA switches) didn't label distance equal events or latitude zero crossing events.

21. Graphic calendar display: The graphic calendar (-K -XA switches) when the thicker lines setting was on (-Xx switch) would make planets displayed in system fonts only thicker for the first planet, which would of course look lopsided.

22. Astronomicon aspect display: When displaying aspects in the Astronomicon font, Astrolog had the glyphs for Quintile and Bi-Quintile reversed.

23. Dialog display glitch: In the Windows version, all dialogs (other than the Chart List dialog) would use a pixelated bitmap font with no antialiasing to display text within the dialog.

24. Function key bug: In the Windows version, invoking macro #10 by pressing the F10 key, wouldn’t engage on the first keypress, due to F10 by default activating the menu. This key will now invoke the macro, if one has been defined in that slot.

25. Object customization bugs: In the Windows version, customizing an object slot to be a center of body (COB) object, would display within the dialog as the standard planet (non-COB version) when the dialog is next opened. Also, defining an object to be a planetary moon implemented by Swiss Ephemeris, when there’s no ephemeris file for that moon, would cause the “Check Names” button to produce the name “Orcus” or crash, instead of saying it’s unknown.

ASTROEXPRESSION UPDATES

AstroExpressions or “Astrolog Expressions” are programmable customizations that don’t require recompiling the program, and can be considered an extended form of command switches. AstroExpression functions and related command switches have been updated in version 7.60. This section can be ignored if one doesn’t use this feature area.

The following lists all new AstroExpression functions. The name of each function is listed, followed by the type of its return value and the expected types of its parameters (if any). Numbers will automatically be converted to Integer or Real as needed.

Hue2: Int(Real). Rainbow color. Returns an RGB color of the rainbow, based on paint color mixing. The hue parameter should range from 0-360, in which 0 is red, 120 is yellow, 240 is blue, and so on around the circle.

Char: Int(Int1, Int2). Select character. Returns the Ascii value of the character within custom string index Int1, at character position Int2. Returns -1 if the string isn’t set or the character position is out of range.

DstD, ZonD, LonD, LatD: Real. Default chart info. Like Dst, Zon, Lon, and Lat, but returns the default set of chart information.

ObjXN, ObjYN, ObjZN: Real(Int). Object coordinates. Like ObjX, ObjY, and ObjZ, but returns the coordinates in space for the referenced chart slot in the range 0-6.

ObjRul: Int(Int). Object ruler. Returns the primary sign that the specified planet rules.

ObjRul2: Int(Int). Secondary object ruler. Returns the secondary sign that the specified planet co-rules, or 0 if none is set.

ObjRulS: Int(Int). Object esoteric ruler. Returns the primary sign that the specified planet esoterically rules.

ObjRulS2: Int(Int). Secondary esoteric ruler. Returns the secondary sign that the specified planet esoterically co-rules, or 0 if none is set.

ObjRulH: Int(Int). Object Hierarchical ruler. Returns the primary sign that the specified planet Hierarchically rules.

ObjRulH2: Int(Int). Secondary Hierarchical ruler. Returns the secondary sign that the specified planet Hierarchically co-rules, or 0 if none is set.

ObjExa: Int(Int). Object exaltation. Returns the sign that the specified planet is exalted within, or 0 if none is set.

ObjRay: Int(Int). Object Ray. Returns the Ray of the specified planet in the range 1-7, or 0 if none is set.

SignRul: Int(Int). Sign ruler. Returns the planet that rules the specified sign.

SignRul2: Int(Int). Sign secondary ruler. Returns the planet that co-rules the specified sign, or -1 if none is set.

SignEso: Int(Int). Sign esoteric ruler. Returns the planet that esoterically rules the specified sign.

SignEso2: Int(Int). Secondary esoteric ruler. Returns the planet that esoterically co-rules the specified sign, or -1 if none is set.

SignHie: Int(Int). Sign Hierarchical ruler. Returns the planet that Hierarchically rules the specified sign.

SignHie2: Int(Int). Secondary Hierarchical ruler. Returns the planet that Hierarchically co-rules the specified sign, or -1 if none is set.

SignRay: Int(Int). Sign Rays. Return the Rays of the specified sign, with one digit per Ray. For example, Aries is associated with Rays 1 and 7, so for S_Aries this returns 17.

SignRay2: Int(IntS, IntR). Sign Ray check. Check whether the specified sign is associated with the specified Ray. Returns 0 if not, and a non-zero value if so, specifically the proportion compared to 420 that Ray is present compared to the other Rays also associated with that sign. For example, “SignRay2 S_Sag 4” returns 140 or 420/3, since Sagittarius is indeed associated with Ray 4, but also three different Rays in total.

RayCol: Int(Int). Ray color. Return the Astrolog color index being used for the specified Ray.

LATLMT: Real. LAT to LMT offset. Returns the “equation of time” or the offset in hours between Local Apparent Time and Local Mean Time, for the moment of the most recently cast chart.

Dlg: Int. Color dialog. In the Windows version, brings up the Windows color picker dialog. Returns the RGB color selected within the dialog.

DText: Int(Int, IntX, IntY). Draw text. Draws the custom string indexed, at the specified coordinates in the current draw color. Returns the drawing color used.

DSign: Int(Int, IntX, IntY). Draw sign. Draws a sign glyph, at the specified coordinates in the current draw color. Returns the drawing color used.

DHouse: Int(Int, IntX, IntY). Draw house. Draws a house label, at the specified coordinates in the current draw color. Returns the drawing color used.

DObj: Int(Int, IntX, IntY). Draw object. Draws an object glyph, at the specified coordinates in the current draw color. Returns the drawing color used.

DAsp: Int(Int, IntX, IntY). Draw aspect. Draws an aspect glyph, at the specified coordinates in the current draw color. Returns the drawing color used.

DNak: Int(Int, IntX, IntY). Draw Nakshatra. Draws a Vedic Nakshatra label, at the specified coordinates in the current draw color. Returns the drawing color used.

_80, _YZ, _Y5I1, _Y5I2: Int. Program setting. This list of functions queries the Astrolog setting that’s set with the identically named command switch. There are only a few exceptions or alternate behaviors: Functions ending with “1” or “2” access the first or second arguments passed to the switch without that digit.

_YR0, _YR1, _YR2, _YRZ, _YR7: Bool(Int). Program setting parameter. This list of functions queries the Astrolog settings that are set with the identically named command switch. The parameter indicates which parameter to the command switch to query the status of.

_Xnp, _Xnf, _YXG, _YXGc, _YXGu, _YXGp, _YXGl, _YXGv, _YXGe, _YXf, _YXft, _YXfs, _YXfh, _YXfo, _YXfa, _YXfn: Bool or Int. Program graphics setting. This list of functions queries the Astrolog graphics setting that’s set with the identically named command switch.

PC, WIN, X11, WCLI, WSETUP, JPLWEB: Bool. Program compile time setting. This list of functions returns whether the correspondingly named compile time #define in astrolog.h was set when the program was compiled. For example, they can be used to take different actions in an AstroExpression based on whether the Windows or X11 version is being run.

There are several new command switches which allow one to define AstroExpression “hooks” into areas of chart calculation or display, to modify or filter their results. All AstroExpression related command switches start with the tilde (~) character:

1. ~5i <string>: Filter Astrodatabank import. This is only called when the -Y5I switch is set. On entry, the set of custom variables indicated by -Y5I will be set based on the number of times the corresponding custom strings were found within the chart record. Return value is whether to accept the current record in the file, and add it to the chart list. For example, to only load ADB chart records for people who have at least three different psychological conditions at the same time, do: ~2 1 ">Diagnoses : Psychological :" -Y5I 1 1 -~5i "Gte @a 3"

2. ~Q3 <string>: Notify chart displayed. This is called after a chart has been displayed on the screen and the screen updated. For example, this hook can be used to display a message to the user after an update has been drawn and can be seen by the user.

3. ~XL <string>: Adjust city color. On entry, @w is the index of the city, @x and @y are the city’s longitude and latitude, and @z is the current color to use for it. Return value is ignored, although if @z is changed it will be the new color to use to display the city’s point. If this color index is invalid (outside the range of 0-15) then the city will be skipped and not drawn at all. For example, to only draw those cities within 45 degrees of the chart location, do: ~XL "If Gt PolDist Lon Lat @x @y 45 =z -1"

4. ~XQ <string>: Adjust key. This can be used to customize key assignments, and is called whenever the user presses a key in the window. (This only applies to non-Windows GUI versions, in which the Windows GUI version should instead use the ~WQ switch below.) On entry, @z is the Ascii value of the key pressed (in which the function keys to invoke macros have numbers 201-248). Return value is ignored, although if @z is changed it will be the new key to process instead. For example, to disable the Escape and Ctrl+c keys so they don’t exit the program, do: ~XQ "If Or Equ @z 27 Equ @z 3 =z -1"

5. ~WQ <string>: Adjust menu command. This can be used to customize menu command assignments, and is called whenever the user selects a menu command in the Windows version. (This only applies to the Windows GUI version, in which the non-Windows GUI versions should instead use the ~XQ switch above.) On entry, @z is the index of the menu command selected (as defined in the source file resource.h, with values starting at 40001). Return value is ignored, although if @z is changed it will be the new menu command to process instead. For example, to make the w/a/s/d keys behave the same as the arrow keys, do: ~WQ "If Equ @z 40082 =z 40289 If Equ @z 40131 =z 40244 If Equ @z 40281 =z 40290 If Equ @z 40086 =z 40243"

6. ~2[0] <index> <string>: String and string list setting. Astrolog has a set of custom string variables, parallel to its list of custom numeric variables. The ~2 switch will set the custom string at the given index, to the specified string. If this switch is invoked as ~20 instead, then it will instead set a range of strings at once, starting with the index. The first character in the string parameter will be a separator, in which each instance of that separator character will be a dividing point between strings. For example, to set custom string 4 to “Apple”, 5 to “Banana”, and 6 to “Carrot”, do: ~20 4 ";Apple;Banana;Carrot"

A few improvements or bug fixes have also been made in the AstroExpression area:

More custom variables: AstroExpressions now support more than 26 custom variable slots. Variables can be assigned to or read (with the Assign or Var functions) at any index greater than or equal to 0. Variables beyond @a through @z can be referenced by their index numbers, such as @26 is the same as @z, while @27 and beyond are the new variable slots.

LonTerm bug: The LonTerm function didn’t work right in all cases, and wouldn’t return the correct planets for Egyptian or Ptolemaic terms/bounds.

_W bug: All AstroExpression functions related to Windows starting with “_W” incorrectly required a parameter, in which that parameter would be skipped over and ignored.

-YXt bug: The -YXt switch to display custom text in the wheel chart sidebar would stop processing the string after a custom variable expansion like “\A”, and not display anything more after it.

~v switch limitation: The ~v object sort order switch would cause some aspects in the -a aspect list chart to be dropped, when values are given negative weight. For example, combining -aC or -aD (sorting aspect list by first or second object position) with ~v "=z Neg @z" should have just displayed the aspect list in reverse order, but instead it would only display about half the aspects.

~U switch limitation: The ~U and ~U0 extra star and extra asteroid processing switches required the user to make the adjusted zodiac position longitude be between 0-360, in order for it to work right. These values can now be anything, and will be automatically wrapped around to fit between 0-360 when needed.

~d/~t switch limitation: The ~d and ~t transit event filter switches wouldn’t work fully with the graphic calendar chart (-K -XA switches), in that deleted transit events would still be present in the calendar as blank lines, instead of disappearing altogether.

AstroExpressions have now reached the point that they can do general computing tasks not related to astrology, such as implement games. To demonstrate this, the script file mazegame.as in the source subdirectory of any Astrolog download contains a game in which a random Maze is drawn over the wheel chart, and you use the keyboard to solve the Maze. You can change the size of the Maze, and the time it takes you to get through is displayed upon reaching the exit. :)

LICENSE

IMPORTANT NOTICE: Astrolog and all chart display routines and anything not enumerated below used in this program are Copyright (C) 1991-2023 by Walter D. Pullen (Astara@msn.com, http://www.astrolog.org/astrolog.htm). Permission is granted to freely use, modify, and distribute these routines provided these credits and notices remain unmodified with any altered or distributed versions of the program.

The main ephemeris databases and calculation routines are from the library SWISS EPHEMERIS and are programmed and copyright 1997-2008 by Astrodienst AG. The use of that source code is subject to the license for the Swiss Ephemeris Free Edition, available at http://www.astro.com/swisseph. This copyright notice must not be changed or removed by any user of this program.

Additional ephemeris databases and formulas are from the calculation routines in the program PLACALC and are programmed and Copyright (C) 1989,1991,1993 by Astrodienst AG and Alois Treindl (alois@astro.ch). The use of that source code is subject to regulations made by Astrodienst Zurich, and the code is not in the public domain. This copyright notice must not be changed or removed by any user of this program.

The original planetary calculation routines used in this program have been copyrighted and the initial core of this program was mostly a conversion to C of the routines created by James Neely as listed in 'Manual of Computer Programming for Astrologers', by Michael Erlewine, available from Matrix Software.

Atlas composed using data from https://www.geonames.org/ licensed under a Creative Commons Attribution 4.0 License. Time zone changes composed using public domain TZ database: https://data.iana.org/time-zones/tz-link.html

The PostScript code within the core graphics routines are programmed and Copyright (C) 1992-1993 by Brian D. Willoughby (brianw@sounds.wa.com).

More formally: This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful and inspiring, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details, a copy of which is in the LICENSE.HTM file included with Astrolog, and at http://www.gnu.org

O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O

* Walter D. "Cruiser1" Pullen :) ! Astara@msn.com *

O Astrolog 7.60 Web site: http://www.magitech.com/astrolog/astrolog.htm O

* "Who am I, What am I? As I am, I am not. But as we are, I AM. And to *

O you my creation, My Perfect Love is your Perfect Freedom. And I will be O

* with you forever and ever, until the End, and then forever more." - GOD *

O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O