Subversion Repositories filter_foundry

Rev

Rev 513 | Rev 520 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
220 daniel-mar 1
 
2
Wishlist/ToDo-List
3
==================
4
 
389 daniel-mar 5
ToDo for the next release
6
-------------------------
385 daniel-mar 7
 
514 daniel-mar 8
* In regards color modes...
9
	"Bitmap" => what is this mode and why isn't it supported?
10
	"IndexedColor" => enabled in PiPL 'mode' and 'enbl', but is still not enabled?!
11
	"HSL" => how do you set this color space in Photoshop?!
12
	"HSB" => how do you set this color space in Photoshop?!
13
	"Duotone" => The preview background is white (TODO)
14
	"Lab" => The preview background is red (TODO)
385 daniel-mar 15
 
442 daniel-mar 16
 
450 daniel-mar 17
Known problems
18
--------------
220 daniel-mar 19
 
447 daniel-mar 20
* The preview will show the manipulation on the whole rectangle. It does not accurately exclude areas which aren't in a polygon selection area!
450 daniel-mar 21
	see wishlist\bug_rectangle.png
220 daniel-mar 22
 
489 daniel-mar 23
* When you receive the error "Could not build preview at chosen zoom level..." because you zoomed out too far, you cannot recover from it, even if you zoom in again!
450 daniel-mar 24
 
489 daniel-mar 25
 
220 daniel-mar 26
Minor priority stuff or ideas
27
-----------------------------
28
 
501 daniel-mar 29
* Import FFL format (but which filter to select?)
30
 
31
* Import GUF format ( http://gimpuserfilter.sourceforge.net/ )
32
 
476 daniel-mar 33
* If controls are ambigous e.g. ctl(3+c), then you should be able to disable control in the "Make" dialog. Like in Filter Factory.
34
 
474 daniel-mar 35
* When you open a file, e.g. "Test.8bf" and you want to save it again, it would be good, if the default output filename is "Test".
36
 
454 daniel-mar 37
* Can we still improve the speed? Filter Factory still seems to be faster!
38
 
440 daniel-mar 39
* Should we completely remove all Apple code? It will make things much easier, and newer Apple ports need completely remake anyway. On the other hand, we lose a potential back port to ancient Mac.
40
 
419 daniel-mar 41
* Right to the sliders you can enter numbers which are outside the range of 0..255 . Prevent that, please.
42
 
407 daniel-mar 43
* Win95 cannot detect a 64 bit obfuscated filter, because it cannot read the resources. Should there be a different mechanism for detecting an obfuscated filter? (e.g. a signature in PiPL which can be found using binary search?)
44
 
405 daniel-mar 45
* compat_win_resource.c (compatibility for Win9x resource generation): Cannot delete resources, see https://bugs.winehq.org/show_bug.cgi?id=52046
46
 
369 daniel-mar 47
* Add functionality to save to FFX (Filters Unlimited) filters. But we must use the "Make" dialog, because it contains title/category/author/copyright?
366 daniel-mar 48
 
466 daniel-mar 49
* When a filter is created protected and you click "Make" again, should then be the "protection" checkbox be checked again?
276 daniel-mar 50
 
228 daniel-mar 51
* The filter `r*(y&1)` looks horrible when you zoom out!
221 daniel-mar 52
 
444 daniel-mar 53
* Verify if there are memory leaks: `strdup()` and `my_strdup()` need `free()` !
220 daniel-mar 54
 
440 daniel-mar 55
* Why can't we edit *.rc files in Visual Studio? (As text) Visual Studio 2022 crashes if you try to edit the code of win_res.rc
220 daniel-mar 56
 
346 daniel-mar 57
* `host_preserves_parameters` (enabled with GIMP/PSPI) should somehow delete the temporary AFS file at each restart of GIMP. Otherwise, the user would always see the previous session when they re-open GIMP.
220 daniel-mar 58
 
228 daniel-mar 59
* Create and evaluate more testcases, and either fix differences between FilterFactory and FilterFoundry, or document them in "Filter Factory Compatibility.md"
220 daniel-mar 60
 
228 daniel-mar 61
* Should an expression like "----r" be forbidden? (Multiple negate signs) On the other hand, FilterFactory didn't forbit them either.
220 daniel-mar 62
 
228 daniel-mar 63
* CMYK mode is possible (although a bit misleading to have r=c, g=m, b=y, a=k), but then it is impossible to control the alpha channel.
220 daniel-mar 64
 
440 daniel-mar 65
* I have found the following in the source code... Do we need to do something here?
220 daniel-mar 66
 
228 daniel-mar 67
        strcpy(gdata->parm.formula[i],expr[i] ? expr[i] : "bug! see builddlgitem");
68
 
220 daniel-mar 69
* Search for "TODO", "FIXME" and "Codereview" in the code
70
 
71
* There is no warning if a formula contains a number that exceeds 32 bits.
72
 
228 daniel-mar 73
* Minor bug: Testcase testcases/rst_3.afs applied to a 1000x1000 canvas: When the preview is zoomed in to 29% or 59%, and the preview is panned, the bars change during panning. It does not look "smooth" like in 100%, 50%, or 25% zoom. The problem is that the offset of the preview area is always different, and if the zoom level is not a multiple of two, you will always "pick" other bars.
74
 
220 daniel-mar 75
* Support more colors modes and 16bit. Why is Lab color not accepted, although doesSupportLABColor is set?
228 daniel-mar 76
 
220 daniel-mar 77
* Picture with 78x63 in grayscale mode: In preview on the left side there is a black bar
78
 
346 daniel-mar 79
* With the change in 1.7 in re "*preview evaluates whole picture if state changing functions rst,put,rnd are used*": Is there anything we can do to make it more performant when the user changes sliders? Especially with large pictures, the process becomes a bit laggy! => This feature was removed in 1.7.0.9, because it was extremely slow for some filters!
228 daniel-mar 80
 
220 daniel-mar 81
* Check why the plugin crashes Premiere 5 (called in image filter mode; obviously not as transition filter)
82
 
311 daniel-mar 83
* Cosmetics: Include a plugin-like-icon as icon #1 so that there would be a good icon in case some apps try to display an icon from the 8BF file?
84
(Attention: make_win.c deletes icon #1 because it thinks that it is the exclamation icon, so this needs to be changed then)
220 daniel-mar 85
 
346 daniel-mar 86
* Let PIPL have resource ID 16 instead of 16000, so that other apps might be able to recognize it as Filter Factory plugin?
311 daniel-mar 87
 
440 daniel-mar 88
* Should the compiler flags in `funcs.h` as well as settings like `use_plugin_dll_sliders` be placed as resource (binary bits), so that the behavior can be changed if required?
346 daniel-mar 89
 
513 daniel-mar 90
* Implement MonitorScalingAware ('pmsa')? What is 'cmpt'? Do we fully support 'flly'?
346 daniel-mar 91
 
513 daniel-mar 92
 
366 daniel-mar 93
Big ideas
94
---------
95
 
96
* How about implementing the "Filters Unlimited" (FFX) language?
97
 
98
 
303 daniel-mar 99
Questions
100
---------
101
 
346 daniel-mar 102
* What is the exact purpose of the variable `needinput`?
103
  It is set if we use rgbaiuvc or `cnv()`
104
  But why isn't it set if we use `src()` or `rad()`. Is that OK???
312 daniel-mar 105
 
335 daniel-mar 106
* Is `D` is supposed to be a synonym `dmax` (then `D` should stay 512),
107
  or is `D` supposed to be `dmax-dmin` (then `D` should be 1024 and `dmin` should be 512)?
303 daniel-mar 108
 
353 daniel-mar 109
* In regards length of the PIPL TLV, should it contain padding or not? Asked in https://community.adobe.com/t5/photoshop-ecosystem-discussions/question-about-pipl-tlv-encoding/m-p/12377822
346 daniel-mar 110
   - No:
111
	* Photoshop does not accept if padding is not added to the length value
353 daniel-mar 112
	* pluginsdk\photoshopapi\pica_sp\SPPiPL.h states: "Number of characters in the data array. Rounded to a multiple of 4."
346 daniel-mar 113
	* Official Adobe plugins, e.g. „3D Transform.8bf“ are rounding the length to a multiple of 4 (actually, rounding to the next possible multiple 4, so that padding is always guaranteed).
353 daniel-mar 114
	* cnvtpipl.exe does the same
346 daniel-mar 115
   - Yes:
116
	* The 1997 PICA documentation (page 23) and 1996 "Cross-Application Plug-in Development Resource Guide" describe both: "Contains the length of the propertyData field. It does not include any padding bytes after propertyData to achieve four byte alignment. This field may be zero."
353 daniel-mar 117
	* pluginsdk/documentation/html/struct_p_i_property.html writes the same thing
335 daniel-mar 118
 
346 daniel-mar 119
  Is there really a defect in these documentations?
120
 
476 daniel-mar 121
* Do we need "#define ISOLATION_AWARE_ENABLED 1" ???
346 daniel-mar 122
 
476 daniel-mar 123
 
220 daniel-mar 124
Design/UI Tweaks
125
----------------
126
 
453 daniel-mar 127
* ctl(i) edit controls: Use a spinedit control so you can +1 and -1 with the mouse. Maybe `ControlTextWndProc` isn't neccessary anymore?
128
 
220 daniel-mar 129
* Should it be possible to zoom more than 100%?
130
 
228 daniel-mar 131
* The vertical scrollbar should auto-hide when the expression formula is short. (Also for Mac). Unfortunately, this task is very hard in WIN32 API.
220 daniel-mar 132
 
343 daniel-mar 133
* Should there be more (visual) space for expressions, like in Filter Factory? Also, Filter Factory had more visual space for slider names (e.g. required in Alf's Power Tools).
220 daniel-mar 134
 
135
* With some canvas formats, the initial zoom level is not "fully zoomed out"
136
 
228 daniel-mar 137
* If you load an AFS file which has multi-line expressions, then the first expression (R) is scrolled down (because it has the focus)
220 daniel-mar 138
 
271 daniel-mar 139
 
140
Regarding Macintosh
141
-------------------
142
 
445 daniel-mar 143
* Please make a port to the latest Apple versions (and possible builds for older MacOS versions, too?)
144
 
231 daniel-mar 145
* Unsure regarding AppleScript !
146
	https://developer.apple.com/library/archive/documentation/mac/pdf/Interapplication_Communication/AE_Term_Resources.pdf
147
	1. Do we need an 'auet' resource?
148
	2. Does our implementation work with AppleScript?
149
	3. Must the human-language term REALLY be unique?! So only one plugin on the whole system may use the word "ctl(0)" or "red" or "size"??? Why do we have unique keys if the human language needs to be unique too?!  (see "Important" section at page 8-14)
228 daniel-mar 150
 
151
* In ui_mac.c, there does not seem to be a limit for the expressions. So, is it possible to write an expression longer than 1023 bytes, which would lead to a crash?
220 daniel-mar 152
 
228 daniel-mar 153
* Macintosh: Please look at the (*) marked entries in CHANGELOG.md and verify the bugs/fixes and/or apply the changes on Mac.
220 daniel-mar 154
 
228 daniel-mar 155
* Macintosh: Is it possible to create a 64 bit version of FilterFoundry? Do we need to rewrite the UI code because the Carbon Framework is replaced by Cocoa!
220 daniel-mar 156
 
157
* Some *.r files include "PiMI.r". Is this part of an old SDK or is a file missing?
158
 
346 daniel-mar 159
* Support BigDocument (Add "ms32" PiPL, set `pb->bigDocumentData->PluginUsing32BitCoordinates` and use `pb->bigDocumentData->*`)
220 daniel-mar 160
 
347 daniel-mar 161
* Correctly implement obfuscation version 6 (need to fix the binary executable code during build!)
232 daniel-mar 162
 
346 daniel-mar 163
 
220 daniel-mar 164
Things to check/correct for other Telegraphics plugins (FIXED in FilterFoundry)
165
------------------------------------------------------
166
 
228 daniel-mar 167
* The lengths of the PIPL TLV structure must include everything, including string paddings, with 1 zero padding guaranteed. See annotations in "GIMP Incompatibilities.md".
220 daniel-mar 168
 
228 daniel-mar 169
* The language/country code in VarFileInfo must be a code that exists in StringFileInfo. The translation strings "04900000" don't fit together "080904B0".
220 daniel-mar 170
 
171
* 64 Bit Windows builds
172
 
173
* XP Manifests (+ activation contexts)
230 daniel-mar 174
 
175
* Fix AETE resources, make keys unique and remove scope in order to enable AppleScript
232 daniel-mar 176
 
346 daniel-mar 177
* Support BigDocument (Add "ms32" PiPL, set `pb->bigDocumentData->PluginUsing32BitCoordinates` and use `pb->bigDocumentData->*`)
303 daniel-mar 178
 
179
* Place plugin dialogs on the correct screen