Subversion Repositories filter_foundry

Rev

Rev 343 | Rev 347 | 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
 
274 daniel-mar 5
Known bugs
6
----------
220 daniel-mar 7
 
311 daniel-mar 8
(None)
220 daniel-mar 9
 
249 daniel-mar 10
 
220 daniel-mar 11
Minor priority stuff or ideas
12
-----------------------------
13
 
294 daniel-mar 14
* Filter Factory is much faster than Filter Foundry (example rad.afs). Why?!
15
 
276 daniel-mar 16
* When a filter is created obfuscated and you click "Make" again, should then be the "obfuscate" checkbox be checked again?
17
 
228 daniel-mar 18
* The filter `r*(y&1)` looks horrible when you zoom out!
221 daniel-mar 19
 
228 daniel-mar 20
* Memory leak: `strdup()` and `my_strdup()` need `free()` !
220 daniel-mar 21
 
22
* Why can't we edit *.rc files in Visual Studio?
23
 
346 daniel-mar 24
* `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 25
 
228 daniel-mar 26
* Create and evaluate more testcases, and either fix differences between FilterFactory and FilterFoundry, or document them in "Filter Factory Compatibility.md"
220 daniel-mar 27
 
228 daniel-mar 28
* Should an expression like "----r" be forbidden? (Multiple negate signs) On the other hand, FilterFactory didn't forbit them either.
220 daniel-mar 29
 
228 daniel-mar 30
* 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 31
 
228 daniel-mar 32
* I have found following in the source code... Do we need to do something here?
220 daniel-mar 33
 
228 daniel-mar 34
        strcpy(gdata->parm.formula[i],expr[i] ? expr[i] : "bug! see builddlgitem");
35
 
220 daniel-mar 36
* Search for "TODO", "FIXME" and "Codereview" in the code
37
 
38
* There is no warning if a formula contains a number that exceeds 32 bits.
39
 
228 daniel-mar 40
* 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.
41
 
220 daniel-mar 42
* Fast (double) click in [+]/[-] scroll buttons is not accepted as 2 clicks / zoom-requests
43
 
44
* Support more colors modes and 16bit. Why is Lab color not accepted, although doesSupportLABColor is set?
228 daniel-mar 45
 
220 daniel-mar 46
* Add Unicode support? (Does PiPL support Unicode at all?)
47
 
48
* Picture with 78x63 in grayscale mode: In preview on the left side there is a black bar
49
 
346 daniel-mar 50
* 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 51
 
220 daniel-mar 52
* Check why the plugin crashes Premiere 5 (called in image filter mode; obviously not as transition filter)
53
 
311 daniel-mar 54
* 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?
55
(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 56
 
346 daniel-mar 57
* 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 58
 
346 daniel-mar 59
* Make Filter Foundry ready for translations? In Windows, put all strings in string lists (resources, `LoadStringA`), as well as in Mac resources.
60
 
61
* Should the compiler flags in `funcs.h` placed as resource (binary bits), so that the behavior can be changed if required?
62
 
63
 
303 daniel-mar 64
Questions
65
---------
66
 
346 daniel-mar 67
* What is the exact purpose of the variable `needinput`?
68
  It is set if we use rgbaiuvc or `cnv()`
69
  But why isn't it set if we use `src()` or `rad()`. Is that OK???
312 daniel-mar 70
 
346 daniel-mar 71
* Why does everybody write that the Filter Factory `tan(x)` function is bounded?
303 daniel-mar 72
  The Filter Factory manual writes that it is bounded, and the Filter Factory Programming Guide
73
  does also mention it (including a graphic).
74
  Is it a bug that it goes infinity? Do we need to fix it in Filter Foundry???
75
 
76
  Following examples of Filter Factory show that it is going off-bound! (Also tested with PS 3.0.5)
77
 
78
    tan(255)  ==  167761 ? 255 : 0
79
    tan(256)  == -167772 ? 255 : 0
80
    tan(-768) ==  167772 ? 255 : 0
81
 
335 daniel-mar 82
* Is `D` is supposed to be a synonym `dmax` (then `D` should stay 512),
83
  or is `D` supposed to be `dmax-dmin` (then `D` should be 1024 and `dmin` should be 512)?
303 daniel-mar 84
 
346 daniel-mar 85
* In regards length of the PIPL TLV, should it contain padding or not?
86
   - No:
87
	* Photoshop does not accept if padding is not added to the length value
88
	* SPPIPL.h states: "Number of characters in the data array. Rounded to a multiple of 4."
89
	* 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).
90
   - Yes:
91
	* 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."
335 daniel-mar 92
 
346 daniel-mar 93
  Is there really a defect in these documentations?
94
 
95
 
220 daniel-mar 96
Design/UI Tweaks
97
----------------
98
 
346 daniel-mar 99
* The tabstop-order is a bit weird. But how can he affect them?! Where are they defined at the moment?!
305 daniel-mar 100
 
228 daniel-mar 101
* Windows open file dialog: Why does it have a preview pane?
226 daniel-mar 102
 
228 daniel-mar 103
* The exclamation mark symbols should have a tooltip ("hint") when the mouse hovers over it. (Also for Mac). Not sure how easy it is to do that with WIN32 API
220 daniel-mar 104
 
105
* Should it be possible to zoom more than 100%?
106
 
228 daniel-mar 107
* 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 108
 
343 daniel-mar 109
* 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 110
 
111
* Sliders are extremely tiny!
112
 
113
* "+" and "-" buttons with hand pointer cursor?
114
 
115
* With some canvas formats, the initial zoom level is not "fully zoomed out"
116
 
228 daniel-mar 117
* 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 118
 
271 daniel-mar 119
 
120
Regarding Macintosh
121
-------------------
122
 
231 daniel-mar 123
* Unsure regarding AppleScript !
124
	https://developer.apple.com/library/archive/documentation/mac/pdf/Interapplication_Communication/AE_Term_Resources.pdf
125
	1. Do we need an 'auet' resource?
126
	2. Does our implementation work with AppleScript?
127
	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 128
 
129
* 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 130
 
228 daniel-mar 131
* 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 132
 
228 daniel-mar 133
* 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 134
 
135
* Some *.r files include "PiMI.r". Is this part of an old SDK or is a file missing?
136
 
346 daniel-mar 137
* Support BigDocument (Add "ms32" PiPL, set `pb->bigDocumentData->PluginUsing32BitCoordinates` and use `pb->bigDocumentData->*`)
220 daniel-mar 138
 
346 daniel-mar 139
* Implement obfuscation version 5 (need to fix the binary executable code during build!)
232 daniel-mar 140
 
346 daniel-mar 141
 
220 daniel-mar 142
Things to check/correct for other Telegraphics plugins (FIXED in FilterFoundry)
143
------------------------------------------------------
144
 
228 daniel-mar 145
* 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 146
 
228 daniel-mar 147
* 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 148
 
149
* 64 Bit Windows builds
150
 
151
* XP Manifests (+ activation contexts)
230 daniel-mar 152
 
153
* Fix AETE resources, make keys unique and remove scope in order to enable AppleScript
232 daniel-mar 154
 
346 daniel-mar 155
* Support BigDocument (Add "ms32" PiPL, set `pb->bigDocumentData->PluginUsing32BitCoordinates` and use `pb->bigDocumentData->*`)
303 daniel-mar 156
 
157
* Place plugin dialogs on the correct screen