diff --git a/Builds/MSVC/Installer/FractoriumInstaller.wixproj b/Builds/MSVC/Installer/FractoriumInstaller.wixproj index 3d48cd8..2773eb1 100644 --- a/Builds/MSVC/Installer/FractoriumInstaller.wixproj +++ b/Builds/MSVC/Installer/FractoriumInstaller.wixproj @@ -1,7 +1,7 @@ - + 3.7 - Fractorium_23.23.8.103 + Fractorium_24.24.12.1 $(SolutionDir)..\..\..\Bin\$(Platform)\$(Configuration)\ diff --git a/Builds/MSVC/Installer/Product.wxs b/Builds/MSVC/Installer/Product.wxs index e6b632c..0fa8ea6 100644 --- a/Builds/MSVC/Installer/Product.wxs +++ b/Builds/MSVC/Installer/Product.wxs @@ -1,5 +1,5 @@  - + @@ -12,7 +12,7 @@ - + @@ -124,19 +124,19 @@ - + - + - + - + - + diff --git a/Builds/MSVC/Solution/Ember.rc b/Builds/MSVC/Solution/Ember.rc index e68b377..2f2ca76 100644 Binary files a/Builds/MSVC/Solution/Ember.rc and b/Builds/MSVC/Solution/Ember.rc differ diff --git a/Builds/MSVC/Solution/EmberAnimate.rc b/Builds/MSVC/Solution/EmberAnimate.rc index 29c05a1..27a6215 100644 --- a/Builds/MSVC/Solution/EmberAnimate.rc +++ b/Builds/MSVC/Solution/EmberAnimate.rc @@ -49,8 +49,8 @@ // VS_VERSION_INFO VERSIONINFO - FILEVERSION 23, 23, 8, 103 - PRODUCTVERSION 23, 23, 8, 103 + FILEVERSION 24, 24, 12, 1 + PRODUCTVERSION 24, 24, 12, 1 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -67,12 +67,12 @@ BEGIN VALUE "CompanyName", "Open Source" VALUE "FileDescription", "Renders fractal flames as animations with motion blur" - VALUE "FileVersion", "23, 23, 8, 103" + VALUE "FileVersion", "24, 24, 12, 1" VALUE "InternalName", "EmberAnimate.exe" - VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2021, GPL v3" + VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2024, GPL v3" VALUE "OriginalFilename", "EmberAnimate.exe" VALUE "ProductName", "Ember Animate" - VALUE "ProductVersion", "23, 23, 8, 103" + VALUE "ProductVersion", "24, 24, 12, 1" END END BLOCK "VarFileInfo" diff --git a/Builds/MSVC/Solution/EmberCL.rc b/Builds/MSVC/Solution/EmberCL.rc index ef15b29..9c14b45 100644 Binary files a/Builds/MSVC/Solution/EmberCL.rc and b/Builds/MSVC/Solution/EmberCL.rc differ diff --git a/Builds/MSVC/Solution/EmberGenome.rc b/Builds/MSVC/Solution/EmberGenome.rc index dfc7440..027f2fb 100644 --- a/Builds/MSVC/Solution/EmberGenome.rc +++ b/Builds/MSVC/Solution/EmberGenome.rc @@ -49,8 +49,8 @@ // VS_VERSION_INFO VERSIONINFO - FILEVERSION 23, 23, 8, 103 - PRODUCTVERSION 23, 23, 8, 103 + FILEVERSION 24, 24, 12, 1 + PRODUCTVERSION 24, 24, 12, 1 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -67,12 +67,12 @@ BEGIN VALUE "CompanyName", "Open Source" VALUE "FileDescription", "Manipulates fractal flame parameter files" - VALUE "FileVersion", "23, 23, 8, 103" + VALUE "FileVersion", "24, 24, 12, 1" VALUE "InternalName", "EmberGenome.exe" - VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2021, GPL v3" + VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2024, GPL v3" VALUE "OriginalFilename", "EmberGenome.exe" VALUE "ProductName", "Ember Genome" - VALUE "ProductVersion", "23, 23, 8, 103" + VALUE "ProductVersion", "24, 24, 12, 1" END END BLOCK "VarFileInfo" diff --git a/Builds/MSVC/Solution/EmberRender.rc b/Builds/MSVC/Solution/EmberRender.rc index 26e19ff..0ffd345 100644 --- a/Builds/MSVC/Solution/EmberRender.rc +++ b/Builds/MSVC/Solution/EmberRender.rc @@ -49,8 +49,8 @@ // VS_VERSION_INFO VERSIONINFO - FILEVERSION 23, 23, 8, 103 - PRODUCTVERSION 23, 23, 8, 103 + FILEVERSION 24, 24, 12, 1 + PRODUCTVERSION 24, 24, 12, 1 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -67,12 +67,12 @@ BEGIN VALUE "CompanyName", "Open Source" VALUE "FileDescription", "Renders fractal flames as single images" - VALUE "FileVersion", "23, 23, 8, 103" + VALUE "FileVersion", "24, 24, 12, 1" VALUE "InternalName", "EmberRender.exe" - VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2021, GPL v3" + VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2024, GPL v3" VALUE "OriginalFilename", "EmberRender.exe" VALUE "ProductName", "Ember Render" - VALUE "ProductVersion", "23, 23, 8, 103" + VALUE "ProductVersion", "24, 24, 12, 1" END END BLOCK "VarFileInfo" diff --git a/Builds/MSVC/Solution/Fractorium.rc b/Builds/MSVC/Solution/Fractorium.rc index 44aed8f..2fb43b3 100644 Binary files a/Builds/MSVC/Solution/Fractorium.rc and b/Builds/MSVC/Solution/Fractorium.rc differ diff --git a/Data/Version History.txt b/Data/Version History.txt index 48e4219..f0f623b 100644 --- a/Data/Version History.txt +++ b/Data/Version History.txt @@ -1,5 +1,62 @@ -23.23.8.1 8/6/2023 +24.24.12.1 12/8/2024 +--User changes + -Clarify the tooltip for the red squares in the Type column of the variations tree. + -Remove the Type field from the variations tree and instead just put the type indicator icon next to the variation name. + -Double clicking to toggle variation parameter spinners now resets the value to the default if there is one, else it uses zero. If it is already using the default, it is toggled to 0. + -Add a new button to toggle xaos on and off. + -When duplicating a flame, insert it immediately after the one being duplicated instead of at the end of the file. + -When switching between flames in a file, keep the same xform index selected rather than resetting it to the first xform each time. + -Create a threaded writer for the final render and EmberAnimate so the rendering process does not get delayed by file saving which may take a long time. + -Remove warning which said "Frames per rot cannot be greater than one while Rotations is zero" when generating a sequence. + -Add the Circle_Rand variation from Chaotica. + -Add and clarify various tooltips. + -Add a progress bar for sequence previews. + -Add a progress bar for preview renders. + -Increase precision of affine and xaos spinners. + -Increase precision of fields written in Xml files to 8. + -Show image index in the library and sequence trees. + -Automatically show animation preview when sequence generation is done. + -Add the ability in the final render dialog to start a render within a sequence from a given point, rather than always having to start from the beginning. + --Allow using the image index as its name rather than the file name. + -No longer automatically set sequence checkbox in the final render dialog when rendering a sequence. It's an outdated option for today's hardware. + -Users can now specify animation params on a per flame basis. + --These get saved with the flame file. + -Allow for rotating xforms around the world origin during animation. + -Make the Clear Flame menu item be more comprehensive in how it clears a flame out. + -Add Ctrl+g shortcut for generating a sequence. +--Bug fixes + -Stop rendering process when a single render or save fails. + -Generating sequences using the following variations would be done incorrectly: circletrans1, collideoscope, crob, curlsp, glynnsim1, glynnsim2, hypercrop, julian, julian, mobiusn, nblur, waves2, wavesn. + -Adding/removing nodes from the color curve had accidentally been disabled. + -The applied xaos weight table was not showing normalized weight values. + -Changing the size of a flame was not observing the Apply To All checkbox. + -Do not clamp the Rotate field to +/-180, because this causes the rotation to switch from CW to CCW during sequence generation. Instead, leave it exactly as the user entered it so the rotations proceed in the same direction. + -Attempt to prevent crash when dragging in a new file while the previews from the current file are still rendering. + -When rendering on the CPU, if the number of threads didn't divide evenly into the number of rows, it would leave a blank spot on the last few rows. + -Fix numerous parsing bugs when reading .chaos files. + -Added Chaotica compatibility fixes and/or optimizations to the following variations: + asteria, bcircle, bcollide, bipolar, blob2, btransform, cell, circlecrop, circlecrop2, collideoscope, cpow2, + cropn, cross, curl, depth_ngon2, depth_sine2, edisc, eRotate, escher, fan2, hex_rand, hypershift, hypershift2, + hypertile1, julia, julian, julian2, juliaq, juliascope, lazyjess, log, loonie2, murl, murl2, npolar, + oscilloscope2, perspective, phoenix_julia, sphericaln, squish, starblur, starblur2, truchet, truchet_glyph, + waffle, wavesn. + -Bug when duplicating a flame in a file and scrolling to it. + -Null termination bug when reading Xml strings. + -Fix an extremely rare possible memory leak when using motion during animation, which is never used in Fractorium. + -Do not skip to the current flame index, or attach a prefix in the Final Render Dialog when rendering an animation sequence. + -Fix indendation for variations because of Type icon. + -Fix bug when duplicating flame where the new flame wasn't being properly selected. + -Fix bug where clearing a flame was changing size and quality when it shouldn't have. + -Fix bug where reading an Xml palette was failing on linux. + +--Code changes + -Fix various linux build issues. + -Place all animation params in Ember. + -No longer pad string with null terminator in ReadFile() because std::string already does it. + -Fix template compiler error that worked in C++17, but not in C++20. + +23.23.8.1 8/6/2023 --User changes -Add Clear Sequence button to the Sequence Panel. -Add animation preview in the sequence generator output pane. @@ -47,7 +104,6 @@ -Small changes to opencl.hpp to get it to build. 22.21.4.2 4/19/2021 - --User changes -Allow users to set the Exp value when using the Exp temporal filter type. -Set the default temporal filter type to be Box, which does not alter the palette values at all during animation. This is done to avoid confusion when using Gaussian or Exp which can produce darkened images. @@ -62,7 +118,6 @@ -Modernize some C++ code. 21.21.4.1 4/7/2021 - --User changes -Sort palette filename combo box. -GPU rendering improvement on Mac. diff --git a/README.md b/README.md index fde1e4a..2b589c9 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ of the cuburn algorithm in OpenCL. ## Windows -Download: [Fractorium_23.23.8.1.msi](https://drive.google.com/file/d/1AskP9JLRfKBcVOV0a4m6m4reQh_ogyqJ/view?usp=drive_link) +Download: [Fractorium_24.24.12.1.msi](https://drive.google.com/file/d/16D7rvuUc3x0JKYgPAP1iyoNLN_1bXCix/view?usp=sharing) ## Mac diff --git a/Source/Ember/EmberDefines.h b/Source/Ember/EmberDefines.h index e062c0a..ade7bf6 100644 --- a/Source/Ember/EmberDefines.h +++ b/Source/Ember/EmberDefines.h @@ -37,7 +37,7 @@ static void sincos(float x, float* s, float* c) namespace EmberNs { -#define EMBER_VERSION "23.23.8.103" +#define EMBER_VERSION "24.24.12.1" //#define FLAM3_COMPAT 1//Uncomment this if you want full compatibility with flam3 regarding some of the trig-based variations in Variations01.h #define EPS6 T(1e-6) #define EPS std::numeric_limits::epsilon()//Apoplugin.h uses -20, but it's more mathematically correct to do it this way. diff --git a/Source/Fractorium/AboutDialog.ui b/Source/Fractorium/AboutDialog.ui index 0632ff8..787a4f9 100644 --- a/Source/Fractorium/AboutDialog.ui +++ b/Source/Fractorium/AboutDialog.ui @@ -61,7 +61,7 @@ QFrame::NoFrame - <html><head/><body><p align="center"><span style=" font-size:10pt;">Fractorium 23.23.8.103</span></p><p align="center"><span style=" font-size:10pt;">A Qt-based fractal flame editor which uses a C++ re-write of the flam3 algorithm named Ember and a GPU capable version named EmberCL which implements a portion of the cuburn algorithm in OpenCL.</span></p><p align="center"><a href="http://fractorium.com"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">fractorium.com</span></a></p></body></html> + <html><head/><body><p align="center"><span style=" font-size:10pt;">Fractorium 24.24.12.1</span></p><p align="center"><span style=" font-size:10pt;">A Qt-based fractal flame editor which uses a C++ re-write of the flam3 algorithm named Ember and a GPU capable version named EmberCL which implements a portion of the cuburn algorithm in OpenCL.</span></p><p align="center"><a href="http://fractorium.com"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">fractorium.com</span></a></p></body></html> Qt::RichText