Skip to content

Commit 323bf3d

Browse files
2.0.18.000
transparency: add alpha and background alpha parameters make antialiasing optional; combining antialiasing with transparency overloads system
1 parent 6a48bbb commit 323bf3d

15 files changed

Lines changed: 362 additions & 278 deletions

trunk/Whorld/MappingDef.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
05 25mar25 add random origin target and target types
1616
06 27mar25 add playlist undo codes
1717
07 29mar25 add patch target
18+
08 11apr25 add antialiasing target
1819
1920
mapping column and member definitions
2021
@@ -82,6 +83,7 @@ MAPPINGDEF_MISC_TARGET(Reverse, BOOL)
8283
MAPPINGDEF_MISC_TARGET(Convex, BOOL)
8384
MAPPINGDEF_MISC_TARGET(LoopHue, BOOL)
8485
MAPPINGDEF_MISC_TARGET(ZoomCenter, BOOL)
86+
MAPPINGDEF_MISC_TARGET(Antialiasing, BOOL)
8587
MAPPINGDEF_MISC_TARGET(RandomPhase, ACTION)
8688
MAPPINGDEF_MISC_TARGET(RandomOrigin, ACTION)
8789
MAPPINGDEF_MISC_TARGET(Clear, ACTION)

trunk/Whorld/MidiManager.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
08 19mar25 make mapping range real instead of integer
1919
09 25mar25 add random origin target
2020
10 29mar25 add patch target
21+
11 11apr25 add antialiasing target
2122
2223
*/
2324

@@ -250,6 +251,9 @@ void CMidiManager::PushMiscTarget(int iMiscTarget, double fNormVal)
250251
case MT_ZoomCenter:
251252
PushMainBool(MAIN_ZoomCenter, fNormVal != 0);
252253
break;
254+
case MT_Antialiasing:
255+
PushMainBool(MAIN_Antialiasing, fNormVal != 0);
256+
break;
253257
case MT_RandomPhase:
254258
theApp.m_thrRender.RandomPhase();
255259
break;

trunk/Whorld/Patch.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
05 09feb25 refactor
1616
06 02mar25 implement global parameters
1717
07 10mar25 add more string conversion operators
18+
08 09apr25 bump file version for alpha parameters
1819
1920
patch container
2021
@@ -88,7 +89,7 @@ class CPatch : public CWhorldBase {
8889
protected:
8990
// Constants
9091
enum {
91-
FILE_VERSION = 3 // file format version number
92+
FILE_VERSION = 4 // file format version number
9293
};
9394
static const LPCTSTR FILE_ID; // file format signature
9495

trunk/Whorld/Version.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@
146146
136 20mar25 2.0.15.000
147147
137 29mar25 2.0.16.007
148148
138 04apr25 2.0.17.003
149+
139 11apr25 2.0.18.000
149150
150151
DON'T FORGET TO CHANGE RESOURCE VERSION INFO
151152

trunk/Whorld/Whorld.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
#define RK_RENDER_WND _T("RenderWnd")
4949
#define RK_RESOURCE_VERSION _T("nResourceVersion")
5050

51-
const int CWhorldApp::m_nNewResourceVersion = 15; // increment if resource change breaks customization
51+
const int CWhorldApp::m_nNewResourceVersion = 16; // increment if resource change breaks customization
5252

5353
// CWhorldApp construction
5454

trunk/Whorld/Whorld.rc

Lines changed: 56 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ BEGIN
216216
MENUITEM SEPARATOR
217217
MENUITEM "&Loop Hue", ID_IMAGE_LOOP_HUE
218218
MENUITEM "&Zoom Center", ID_IMAGE_ZOOM_CENTER
219+
MENUITEM "&Antialiasing", ID_IMAGE_ANTIALIASING
219220
MENUITEM SEPARATOR
220221
POPUP "Origi&n"
221222
BEGIN
@@ -364,16 +365,16 @@ IDR_MAINFRAME ACCELERATORS
364365
BEGIN
365366
"C", ID_EDIT_COPY, VIRTKEY, CONTROL, NOINVERT
366367
VK_INSERT, ID_EDIT_COPY, VIRTKEY, CONTROL, NOINVERT
367-
"X", ID_EDIT_CUT, VIRTKEY, CONTROL, NOINVERT
368368
VK_DELETE, ID_EDIT_CUT, VIRTKEY, SHIFT, NOINVERT
369+
"X", ID_EDIT_CUT, VIRTKEY, CONTROL, NOINVERT
369370
VK_DELETE, ID_EDIT_DELETE, VIRTKEY, NOINVERT
370371
VK_INSERT, ID_EDIT_INSERT, VIRTKEY, NOINVERT
371372
"V", ID_EDIT_PASTE, VIRTKEY, CONTROL, NOINVERT
372373
VK_INSERT, ID_EDIT_PASTE, VIRTKEY, SHIFT, NOINVERT
373374
"Y", ID_EDIT_REDO, VIRTKEY, CONTROL, NOINVERT
374375
"A", ID_EDIT_SELECT_ALL, VIRTKEY, CONTROL, NOINVERT
375-
"Z", ID_EDIT_UNDO, VIRTKEY, CONTROL, NOINVERT
376376
VK_BACK, ID_EDIT_UNDO, VIRTKEY, ALT, NOINVERT
377+
"Z", ID_EDIT_UNDO, VIRTKEY, CONTROL, NOINVERT
377378
"E", ID_FILE_EXPORT, VIRTKEY, CONTROL, NOINVERT
378379
"L", ID_FILE_LOAD_SNAPSHOT, VIRTKEY, CONTROL, NOINVERT
379380
"N", ID_FILE_NEW, VIRTKEY, CONTROL, NOINVERT
@@ -413,6 +414,7 @@ BEGIN
413414
VK_F11, ID_WINDOW_FULLSCREEN, VIRTKEY, NOINVERT
414415
VK_SPACE, ID_WINDOW_PAUSE, VIRTKEY, CONTROL, NOINVERT
415416
VK_SPACE, ID_WINDOW_STEP, VIRTKEY, SHIFT, NOINVERT
417+
"A", ID_IMAGE_ANTIALIASING, VIRTKEY, CONTROL, ALT, NOINVERT
416418
END
417419

418420

@@ -771,15 +773,16 @@ BEGIN
771773
IDS_EXPORT_MOVIE "Export Movie"
772774
IDS_FILE_EXPORT_SAVE_AS "Export Save As"
773775
IDS_GRID_ERR_BAD_TIME_FORMAT "Enter time in hh:mm:ss format."
776+
IDS_MAIN_Antialiasing "Antialiasing"
774777
IDS_MAIN_Convex "Convex"
775778
IDS_MAIN_DrawMode "Draw Mode"
776779
IDS_MAIN_Hue "Hue"
777780
IDS_MAIN_InvertColor "Invert Color"
778-
IDS_MAIN_LoopHue "Loop Hue"
779781
END
780782

781783
STRINGTABLE
782784
BEGIN
785+
IDS_MAIN_LoopHue "Loop Hue"
783786
IDS_MAIN_Mirror "Mirror"
784787
IDS_MAIN_OrgMotion "Origin Motion"
785788
IDS_MAIN_Origin "Origin"
@@ -793,13 +796,14 @@ BEGIN
793796
IDS_MAPPING_COL_PROPERTY "Property"
794797
IDS_MAPPING_COL_START "Start"
795798
IDS_MAPPING_COL_TARGET "Target"
799+
IDS_MAP_TARGET_Antialiasing "Antialiasing"
796800
IDS_MAP_TARGET_Clear "Clear"
797-
IDS_MAP_TARGET_Convex "Convex"
798-
IDS_MAP_TARGET_Fill "Fill"
799801
END
800802

801803
STRINGTABLE
802804
BEGIN
805+
IDS_MAP_TARGET_Convex "Convex"
806+
IDS_MAP_TARGET_Fill "Fill"
803807
IDS_MAP_TARGET_LoopHue "Loop Hue"
804808
IDS_MAP_TARGET_Mirror "Mirror"
805809
IDS_MAP_TARGET_OriginDrag "Origin Drag"
@@ -814,12 +818,12 @@ BEGIN
814818
IDS_MAP_TARGET_Reverse "Reverse"
815819
IDS_MAP_TARGET_ZoomCenter "Zoom Center"
816820
IDS_MASTER_CanvasScale "Canvas"
817-
IDS_MASTER_Copies "Copies"
818-
IDS_MASTER_Damping "Damping"
819821
END
820822

821823
STRINGTABLE
822824
BEGIN
825+
IDS_MASTER_Copies "Copies"
826+
IDS_MASTER_Damping "Damping"
823827
IDS_MASTER_HueSpan "Hue Span"
824828
IDS_MASTER_Rings "Rings"
825829
IDS_MASTER_Speed "Speed"
@@ -834,12 +838,12 @@ BEGIN
834838
IDS_MIDI_OUTPUT "Output"
835839
IDS_MIDI_SYS_STAT_ACTIVE_SENSING "Active Sensing"
836840
IDS_MIDI_SYS_STAT_CLOCK "Clock"
837-
IDS_MIDI_SYS_STAT_CONTINUE "Continue"
838-
IDS_MIDI_SYS_STAT_EOX "EOX"
839841
END
840842

841843
STRINGTABLE
842844
BEGIN
845+
IDS_MIDI_SYS_STAT_CONTINUE "Continue"
846+
IDS_MIDI_SYS_STAT_EOX "EOX"
843847
IDS_MIDI_SYS_STAT_MTC_QTR_FRAME "MTC Qtr Frame"
844848
IDS_MIDI_SYS_STAT_SONG_POSITION "Song Position"
845849
IDS_MIDI_SYS_STAT_SONG_SELECT "Song Select"
@@ -856,13 +860,13 @@ BEGIN
856860
IDS_NOT_APPLICABLE "N/A"
857861
IDS_OPT_DESC_Export_bPromptUser
858862
"Prompt user for destination folder, filename, and options"
859-
IDS_OPT_DESC_Export_bUseViewSize
860-
"If true, use view size as image size, otherwise get image size from options"
861-
IDS_OPT_DESC_Export_nImageHeight "Desired image height in pixels"
862863
END
863864

864865
STRINGTABLE
865866
BEGIN
867+
IDS_OPT_DESC_Export_bUseViewSize
868+
"If true, use view size as image size, otherwise get image size from options"
869+
IDS_OPT_DESC_Export_nImageHeight "Desired image height in pixels"
866870
IDS_OPT_DESC_Export_nImageWidth "Desired image width in pixels"
867871
IDS_OPT_DESC_Export_nScaleToFit
868872
"Type of scaling to apply to image size; ignored if using view size"
@@ -881,12 +885,12 @@ BEGIN
881885
IDS_OPT_GROUP_Midi "MIDI"
882886
IDS_OPT_GROUP_Snapshot "Snapshot"
883887
IDS_OPT_LEGACY_SIZE_SVGA "800 x 600 (SVGA)"
884-
IDS_OPT_LEGACY_SIZE_VGA "640 x 480 (VGA)"
885-
IDS_OPT_LEGACY_SIZE_XGA "1024 x 768 (XGA)"
886888
END
887889

888890
STRINGTABLE
889891
BEGIN
892+
IDS_OPT_LEGACY_SIZE_VGA "640 x 480 (VGA)"
893+
IDS_OPT_LEGACY_SIZE_XGA "1024 x 768 (XGA)"
890894
IDS_OPT_NAME_Export_bPromptUser "Prompt User"
891895
IDS_OPT_NAME_Export_bUseViewSize "Use View Size"
892896
IDS_OPT_NAME_Export_nImageHeight "Image Height"
@@ -901,12 +905,14 @@ BEGIN
901905
IDS_OPT_SCALE_TO_FIT_Both "Both"
902906
IDS_OPT_SCALE_TO_FIT_Height "Height"
903907
IDS_OPT_SCALE_TO_FIT_None "None"
904-
IDS_OPT_SCALE_TO_FIT_Width "Width"
905-
IDS_PARAM_AspectRatio "Aspect Ratio"
906908
END
907909

908910
STRINGTABLE
909911
BEGIN
912+
IDS_OPT_SCALE_TO_FIT_Width "Width"
913+
IDS_PARAM_Alpha "Alpha"
914+
IDS_PARAM_AspectRatio "Aspect Ratio"
915+
IDS_PARAM_BkAlpha "Bk Alpha"
910916
IDS_PARAM_BkHue "Bk Hue"
911917
IDS_PARAM_BkLightness "Bk Lightness"
912918
IDS_PARAM_BkSaturation "Bk Saturation"
@@ -919,14 +925,14 @@ BEGIN
919925
IDS_PARAM_OddShear "Odd Shear"
920926
IDS_PARAM_Pinwheel "Pinwheel"
921927
IDS_PARAM_PolySides "Ring Sides"
922-
IDS_PARAM_RingGrowth "Ring Growth"
923-
IDS_PARAM_RingSpacing "Ring Spacing"
924-
IDS_PARAM_RotateSpeed "Rotate Speed"
925-
IDS_PARAM_Saturation "Saturation"
926928
END
927929

928930
STRINGTABLE
929931
BEGIN
932+
IDS_PARAM_RingGrowth "Ring Growth"
933+
IDS_PARAM_RingSpacing "Ring Spacing"
934+
IDS_PARAM_RotateSpeed "Rotate Speed"
935+
IDS_PARAM_Saturation "Saturation"
930936
IDS_PARAM_SkewAngle "Skew Angle"
931937
IDS_PARAM_SkewRadius "Skew Radius"
932938
IDS_PARAM_StarFactor "Star Factor"
@@ -939,14 +945,14 @@ BEGIN
939945
IDS_PROW_NAME_STATIC "Name"
940946
IDS_PROW_PW "Pulse Width"
941947
IDS_PROW_VAL_SLIDER "Slider"
942-
IDS_PROW_Val "Value"
943-
IDS_PROW_Wave "Waveform"
944-
IDS_RESET_ALL_OPTIONS "Reset all options to default values?"
945-
IDS_RPLF_FILENAME "Filename"
946948
END
947949

948950
STRINGTABLE
949951
BEGIN
952+
IDS_PROW_Val "Value"
953+
IDS_PROW_Wave "Waveform"
954+
IDS_RESET_ALL_OPTIONS "Reset all options to default values?"
955+
IDS_RPLF_FILENAME "Filename"
950956
IDS_RPLF_MISSING "Missing"
951957
IDS_RPLF_REPLACED "Replaced"
952958
IDS_RPLF_STATUS "Status"
@@ -959,15 +965,15 @@ BEGIN
959965
IDS_WAVE_RAMP_UP "Ramp Up"
960966
IDS_WAVE_RANDOM "Random"
961967
IDS_WAVE_RANDOM_RAMP "Rand Ramp"
968+
END
969+
970+
STRINGTABLE
971+
BEGIN
962972
IDS_WAVE_SINE "Sine"
963973
IDS_WAVE_SQUARE "Square"
964974
IDS_WAVE_TRIANGLE "Triangle"
965975
IDS_WINDOW_RESET_LAYOUT_WARN
966976
"Reset all windows to their default layout? This action can't be undone, and the application will restart."
967-
END
968-
969-
STRINGTABLE
970-
BEGIN
971977
IDP_OLE_INIT_FAILED "OLE initialization failed. Make sure that the OLE libraries are the correct version."
972978
END
973979

@@ -983,18 +989,36 @@ BEGIN
983989
ID_VIEW_MIDI_LEARN "Learn mappings from MIDI\nMIDI Learn"
984990
ID_VIEW_OPTIONS "Edit the options\nOptions"
985991
ID_WINDOW_DETACH "Detach view from main frame\nDetatch"
986-
ID_WINDOW_FULLSCREEN "Toggle full screen mode\nFull Screen"
992+
ID_WINDOW_FULLSCREEN "Toggle full screen exclusive mode\nFull Screen"
987993
ID_WINDOW_PAUSE "Freeze current frame\nPause"
988-
ID_WINDOW_RESET_LAYOUT "Reset window layout to defaults\nReset Layout"
989994
END
990995

991996
STRINGTABLE
992997
BEGIN
998+
ID_WINDOW_RESET_LAYOUT "Reset window layout to defaults\nReset Layout"
993999
ID_WINDOW_STEP "Step forward one frame at a time\nStep"
9941000
END
9951001

9961002
STRINGTABLE
9971003
BEGIN
1004+
ID_APP_HOME_PAGE "Go to the Whorld home page\nHome page"
1005+
ID_EDIT_DELETE "Delete the selection\nDelete"
1006+
ID_EDIT_INSERT "Insert a new item\nInsert"
1007+
ID_FILE_EXPORT "Export an image file\nExport"
1008+
ID_FILE_LOAD_SNAPSHOT "Restore one or more captured images\nLoad Snapshot"
1009+
ID_FILE_TAKE_SNAPSHOT "Capture the current image\nTake Snapshot"
1010+
ID_IMAGE_ANTIALIASING "Enable antialiasing\nAntialiasing"
1011+
ID_IMAGE_CONVEX "Draw rings in descending size order\nConvex"
1012+
ID_IMAGE_FILL "Fill area between rings\nFill"
1013+
ID_IMAGE_LOOP_HUE "Limit hue cycling\nLoop Hue"
1014+
ID_IMAGE_MIRROR "Mirror image\nMirror"
1015+
ID_IMAGE_ORIGIN_CENTER "Center origin within window\nCenter Origin"
1016+
ID_IMAGE_ORIGIN_DRAG "Enable origin dragging\nDrag Origin"
1017+
END
1018+
1019+
STRINGTABLE
1020+
BEGIN
1021+
ID_SNAPSHOT_FIRST "Go to first snapshot\nFirst Snapshot"
9981022
ID_SNAPSHOT_INFO "Display information about current snapshot\nSnapshot Info"
9991023
ID_SNAPSHOT_LAST "Go to last snapshot\nLast Snapshot"
10001024
ID_SNAPSHOT_NEXT "Go to next snapshot\nNext Snapshot"
@@ -1006,6 +1030,7 @@ END
10061030

10071031
STRINGTABLE
10081032
BEGIN
1033+
ID_IMAGE_ORIGIN_RANDOM "Enable random origin\nRandom Origin"
10091034
ID_IMAGE_OUTLINE "Outline filled rings\nOutline"
10101035
ID_IMAGE_RANDOM_PHASE "Randomize modulator phases\nRandom Phase"
10111036
ID_IMAGE_REVERSE "Grow rings inward\nReverse"
@@ -1020,11 +1045,11 @@ BEGIN
10201045
ID_PLAYLIST_MRU_FILE12 "Open this playlist"
10211046
ID_PLAYLIST_MRU_FILE13 "Open this playlist"
10221047
ID_PLAYLIST_MRU_FILE14 "Open this playlist"
1023-
ID_PLAYLIST_MRU_FILE15 "Open this playlist"
10241048
END
10251049

10261050
STRINGTABLE
10271051
BEGIN
1052+
ID_PLAYLIST_MRU_FILE15 "Open this playlist"
10281053
ID_PLAYLIST_MRU_FILE16 "Open this playlist"
10291054
ID_PLAYLIST_MRU_FILE2 "Open this playlist"
10301055
ID_PLAYLIST_MRU_FILE3 "Open this playlist"
@@ -1036,7 +1061,6 @@ BEGIN
10361061
ID_PLAYLIST_MRU_FILE9 "Open this playlist"
10371062
ID_PLAYLIST_PLAY "Play the selected patch\nPlay"
10381063
ID_SNAPSHOT_EXPORT_ALL "Export all snapshots\nExport All Snapshots"
1039-
ID_SNAPSHOT_FIRST "Go to first snapshot\nFirst Snapshot"
10401064
END
10411065

10421066
STRINGTABLE
@@ -1046,23 +1070,6 @@ BEGIN
10461070
ID_HELP_FINDER "List help topics\nHelp Topics"
10471071
END
10481072

1049-
STRINGTABLE
1050-
BEGIN
1051-
ID_APP_HOME_PAGE "Go to the Whorld home page\nHome page"
1052-
ID_EDIT_DELETE "Delete the selection\nDelete"
1053-
ID_EDIT_INSERT "Insert a new item\nInsert"
1054-
ID_FILE_EXPORT "Export an image file\nExport"
1055-
ID_FILE_LOAD_SNAPSHOT "Restore one or more captured images\nLoad Snapshot"
1056-
ID_FILE_TAKE_SNAPSHOT "Capture the current image\nTake Snapshot"
1057-
ID_IMAGE_CONVEX "Draw rings in descending size order\nConvex"
1058-
ID_IMAGE_FILL "Fill area between rings\nFill"
1059-
ID_IMAGE_LOOP_HUE "Limit hue cycling\nLoop Hue"
1060-
ID_IMAGE_MIRROR "Mirror image\nMirror"
1061-
ID_IMAGE_ORIGIN_CENTER "Center origin within window\nCenter Origin"
1062-
ID_IMAGE_ORIGIN_DRAG "Enable origin dragging\nDrag Origin"
1063-
ID_IMAGE_ORIGIN_RANDOM "Enable random origin\nRandom Origin"
1064-
END
1065-
10661073
STRINGTABLE
10671074
BEGIN
10681075
IDR_MAINFRAME "Whorld\n\nWhorld\nWhorld Files (*.whp)\n.whp\nWhorld.Document\nWhorld Document"

trunk/Whorld/WhorldDef.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
14 14mar25 add movie record and play commands
2525
15 19mar25 allow line width less than one
2626
16 25mar25 add random origin command
27+
17 09apr25 add alpha and background alpha parameters
28+
18 11apr25 add antialiasing main property
2729
2830
define parameter attributes
2931
@@ -45,9 +47,11 @@ PARAMDEF( Pinwheel, -3, 3, 1000, 1, 0 ) // odd vertex rotation, in radians
4547
PARAMDEF( ColorSpeed, 0, 10, 1000, 1, 0.5 ) // hue change per tick, in degrees
4648
PARAMDEF( Lightness, 0, 1, 1000, 1, 0.5 ) // color lightness, from 0..1
4749
PARAMDEF( Saturation, 0, 1, 1000, 1, 1 ) // color saturation, from 0..1
50+
PARAMDEF( Alpha, 0, 1, 1000, 1, 1 ) // color transparency, from 0..1
4851
PARAMDEF( BkHue, 0, 360, 1000, 1, 0 ) // background color hue, in degrees
4952
PARAMDEF( BkLightness, 0, 1, 1000, 1, 0 ) // background color lightness, from 0..1
5053
PARAMDEF( BkSaturation, 0, 1, 1000, 1, 1 ) // background color saturation, from 0..1
54+
PARAMDEF( BkAlpha, 0, 1, 1000, 1, 1 ) // background color transparency, from 0..1
5155
PARAMDEF( EvenCurve, -3, 3, 1000, 1, 0 ) // even vertex curvature, as fraction of radius
5256
PARAMDEF( OddCurve, -3, 3, 1000, 1, 0 ) // odd vertex curvature, as fraction of radius
5357
PARAMDEF( EvenShear, -3, 3, 1000, 1, 0 ) // even vertex curvature asymmetry, as a ratio
@@ -122,6 +126,7 @@ MAINDEF( Convex, bool, b, false, boolVal ) // true if drawing in descending
122126
MAINDEF( InvertColor, bool, b, false, boolVal ) // true if inverting color
123127
MAINDEF( LoopHue, bool, b, false, boolVal ) // true if looping hue
124128
MAINDEF( ZoomCenter, bool, b, false, boolVal ) // true if zoom is window-centered
129+
MAINDEF( Antialiasing, bool, b, true, boolVal ) // true if antialiasing is enabled
125130

126131
#undef MAINDEF
127132
#endif // MAINDEF

0 commit comments

Comments
 (0)