Neue Testversion 20.40b10 Windows

Hier diskutieren die Betatester von PhotoLine untereinander und mit den Entwicklern
User avatar
Gerhard Huber
Entwickler
Entwickler
Posts: 4011
Joined: Mon 18 Nov 2002 15:30
Location: Bad Gögging

Neue Testversion 20.40b10 Windows

Post by Gerhard Huber »

Hallo,

weil wir an der Scriptfähigkeit arbeiten und diese zunächst für Windows anbieten, gibt es diesmal ausnahmsweise die neue Testversion nur für Windows.

Windows:
http://www.pl32.com/beta/pl2040b10.zip




Neues:
- jetzt sollte die Scriptfähigkeit schon ganz gut funktionieren. Es gibt jetzt auch Textebenen.
Wenn hier jemand damit experimentiert und Probleme hat, bitte melden. Die Beispiele in "Defaults/Automation" wurden erweitert.
Mein C#-Beispiel sollte hier auch problemlos laufen.

diverse kleine Fehler beseitigt
User avatar
photoken
Mitglied
Posts: 2162
Joined: Sat 28 Sep 2013 01:25

NotProb: Issues with PhotoLineScriptC

Post by photoken »

Win10 Pro 1607 x64
PL20.40b210 x64

I've opened the PhotoLineScriptC solution in VS2017, and updated the reference assembly to the PhotoLine Type library included in beta10.

1
Running the solution in VS2017 in Debug mode generated an error about being unable to implicitly cast a PhotoLine.layer to the ..ActiveLayer. I had to change the code to explicitly make the cast:

Code: Select all

if (doc != null)
	{
		PhotoLine.layer layer = (PhotoLine.layer)doc.ActivePage.ActiveLayer;
2
The vector layer is created at the top of the stack, but the layer is empty. Is there supposed to be something in that layer?

3
Directly running the PhotoLineScriptC.exe (from Windows Explorer) revealed something interesting. After running PhotoLineScriptC.exe, and then closing PhotoLIne, the PhotoLineScriptC GUI remains and a background PhotoLine process is created. Closing the PhotoLineScriptC GUI does kill the PhotoLine background process.

This raises a few questions:
  1. Shouldn't exiting PhotoLine also exit the PhotoLineScriptC GUI?
  2. If the background process is created because of the procedure used to create the GUI:

    Code: Select all

    	PhotoLine.Application app = new PhotoLine.Application();
    
    shouldn't the PhotoLine.Application object include a Dispose() method so that we can programmatically close the GUI when the work has finished?
  3. Shouldn't there be a means to programmatically access the running instance of PhotoLine? Pseudo-code like this:

    Code: Select all

    PhotoLine.Application app = this.Running.Instance.Of.PhtotLine;
    
4
By our testing, we have already split the new scripting capability into two very distinct areas:
  • An automation script (using VBS or JS);
  • A compiled executable "mini-application". (CorelDraw refers to this as an "Add-In", and I think that is a good name to use.)
I think it would be helpful if PL had a new menu "Automation" with "Script" and "Add-In" as submenus:
Filter...Automation...Script
Filter...Automation...Add-In
The "Script" sub-menu would display the VBS and JS scripts, and the "Add-In" sub-menu would display the executable files.
Last edited by photoken on Thu 15 Jun 2017 02:26, edited 1 time in total.
Ken
Yes, I think it can be eeeeeasily done....
Just take everything out on Highway 61.
User avatar
Gerhard Huber
Entwickler
Entwickler
Posts: 4011
Joined: Mon 18 Nov 2002 15:30
Location: Bad Gögging

Re: Prob: Issues with PhotoLineScriptC

Post by Gerhard Huber »

photoken wrote: Wed 14 Jun 2017 06:55 Win10 Pro 1607 x64
PL20.40b210 x64
I've opened the PhotoLineScriptC solution in VS2017, and updated the reference assembly to the PhotoLine Type library included in beta10.
1
Running the solution in VS2017 in Debug mode generated an error about being unable to implicitly cast a PhotoLine.layer to the ..ActiveLayer. I had to change the code to explicitly make the cast:

Code: Select all

if (doc != null)
	{
		PhotoLine.layer layer = (PhotoLine.layer)doc.ActivePage.ActiveLayer;
this line should be updated, I would prefer this syntax:

Code: Select all

PhotoLine.IPLLayer layer = doc.ActiveLayer;
photoken wrote: Wed 14 Jun 2017 06:552
The vector layer is created at the top of the stack, but the layer is empty. Is there supposed to be something in that layer?
yes, the vector layer should contain a rectangle. The size depends on the value, you entered in the dialog. Nothing creates it in the same size as the active layer. 0,5 for example would create half of the size.
photoken wrote: Wed 14 Jun 2017 06:553
Directly running the PhotoLineScriptC.exe (from Windows Explorer) revealed something interesting. After running PhotoLineScriptC.exe, and then closing PhotoLIne, the PhotoLineScriptC GUI remains and a background PhotoLine process is created. Closing the PhotoLineScriptC GUI does kill the PhotoLine background process.
This raises a few questions:
you are right, we should think about this problematic. At the moment for testing, I would suggest to quit the Script first.
photoken wrote: Wed 14 Jun 2017 06:554
By our testing, we have already split the new scripting capability into two very distinct areas:
  • An automation script (using VBS or JS);
  • A compiled executable "mini-application". (CorelDraw refers to this as an "Add-In", and I think that is a good name to use.)
I think it would be helpful if PL had a new menu "Automation" with "Script" and "Add-In" as submenus:
Filter...Automation...Script
Filter...Automation...Add-In
The "Script" sub-menu would display the VBS and JS scripts, and the "Add-In" sub-menu would display the executable files.
the problem here would be, that you will get a submenu of a submenu. That's not easy to handle and I am not sure if macOS can have this.
Perhaps:
Filter...Script
Filter...Add-In
User avatar
photoken
Mitglied
Posts: 2162
Joined: Sat 28 Sep 2013 01:25

Re: Prob: Issues with PhotoLineScriptC

Post by photoken »

Gerhard Huber wrote: Wed 14 Jun 2017 07:50 this line should be updated, I would prefer this syntax:

Code: Select all

PhotoLine.IPLLayer layer = doc.ActiveLayer;
What is the difference between a PhotoLine.layer and a PhotoLine.IPLLayer? (Is the "IPL" shorthand for "Interop PhotoLine"?) I notice that there are a lot of PhotoLine.IPLxxxxx items....
Gerhard Huber wrote: Wed 14 Jun 2017 07:50 yes, the vector layer should contain a rectangle.
Ah, yes...now I see that the rectangle is drawn along the edges and the lines were too thin for me to notice. My bad! :oops:
Gerhard Huber wrote: Wed 14 Jun 2017 07:50 the problem here would be, that you will get a submenu of a submenu. That's not easy to handle and I am not sure if macOS can have this.
Perhaps:
Filter...Script
Filter...Add-In
Sure. Alternatively, if you want to keep the Filter menu "clean", and you anticipate having more types of "automation" things, I wouldn't mind having an "Automation" item on the main menu:
Automation...Script
Automation...Add-In
Automation...????
Ken
Yes, I think it can be eeeeeasily done....
Just take everything out on Highway 61.
Martin Huber
Entwickler
Entwickler
Posts: 3980
Joined: Tue 19 Nov 2002 15:49

Re: Prob: Issues with PhotoLineScriptC

Post by Martin Huber »

photoken wrote: Wed 14 Jun 2017 08:32 What is the difference between a PhotoLine.layer and a PhotoLine.IPLLayer? (Is the "IPL" shorthand for "Interop PhotoLine"?) I notice that there are a lot of PhotoLine.IPLxxxxx items....
That's a bit complicated, especially for non-programmers.

"IPLLayer" is the interface to all types of layers and declares all properties and methods, that any type of layer supports. "layer" (I don't know why it's called "layer" and not "Layer", because in PhotoLine it is declared as "Layer") is a simple layer (a.k.a. "group") and supports the "IPLLayer" interface. "Vector" is a vector layer and supports the interfaces IPLLayer and IPLVector.

Martin
User avatar
photoken
Mitglied
Posts: 2162
Joined: Sat 28 Sep 2013 01:25

Re: Prob: Issues with PhotoLineScriptC

Post by photoken »

Martin Huber wrote: Wed 14 Jun 2017 08:42 That's a bit complicated, especially for non-programmers.

"IPLLayer" is the interface to all types of layers and declares all properties and methods, that any type of layer supports. "layer" (I don't know why it's called "layer" and not "Layer", because in PhotoLine it is declared as "Layer") is a simple layer (a.k.a. "group") and supports the "IPLLayer" interface. "Vector" is a vector layer and supports the interfaces IPLLayer and IPLVector.
Whooooo!

That is complicated (for this hobbyist programmer). :D

Thanks for explaining that. It's almost 2a.m. here, so I'll go to sleep and study that tomorrow. :wink:
Ken
Yes, I think it can be eeeeeasily done....
Just take everything out on Highway 61.
Martin Huber
Entwickler
Entwickler
Posts: 3980
Joined: Tue 19 Nov 2002 15:49

Re: Prob: Issues with PhotoLineScriptC

Post by Martin Huber »

photoken wrote: Wed 14 Jun 2017 08:48
Martin Huber wrote: Wed 14 Jun 2017 08:42(...)
"IPLLayer" is the interface to all types of layers and declares all properties and methods, that any type of layer supports. "layer" (I don't know why it's called "layer" and not "Layer", because in PhotoLine it is declared as "Layer") is a simple layer (a.k.a. "group") and supports the "IPLLayer" interface. "Vector" is a vector layer and supports the interfaces IPLLayer and IPLVector.
Whooooo!

That is complicated (for this hobbyist programmer). :D (...)
As an analogy from real world you could use an electrical device. The device corresponds to "layer", "Vector", ... And the connector jacks of the device correspond to the interfaces ("IPL...").

Martin
maxwell
Mitglied
Posts: 218
Joined: Mon 01 Jul 2013 20:53

Re: Neue Testversion 20.40b10 Windows

Post by maxwell »

Das Skripting funktioniert jetzt gut. In der Beta 10 wurde der Filter "Photo entzerren" entfernt. Schade, fand den Filter sehr gut. Zusammen mit Hilfslinien wurde das Entzerren von Photos deutlich vereinfacht. Auch das im Filter enthaltene "Vignetieren", über das im Forum öfters diskutiert wurde, fand ich sehr gut implementiert. Wäre schön, wenn das Filter wieder aufgenommen würde. Wieso das Umbenennen von "Farbe angleichen" in "Farbkorrektur"? Der alte Namen wurde dem Werkzeug besser gerecht.

Grüße

Josef
User avatar
photoken
Mitglied
Posts: 2162
Joined: Sat 28 Sep 2013 01:25

Problems fixed!

Post by photoken »

The overly long description of the PhotoLine executable:
http://www.pl32.com/forum3/viewtopic.ph ... %3A#p42168

The problem with Lab mode:
http://www.pl32.com/forum3/viewtopic.ph ... %3A#p42365

have been fixed. Thanks!
Ken
Yes, I think it can be eeeeeasily done....
Just take everything out on Highway 61.
User avatar
Herbert123
Mitglied
Posts: 2026
Joined: Sat 12 May 2012 21:38

Re: Neue Testversion 20.40b10 Windows

Post by Herbert123 »

Bugs:

- cropping tool is broken.
- lasso tool is broken.

Try them out, and you will see what I am talking about.

I had to revert to the previous version.
/*---------------------------------------------*/
System: Win10 64bit - i7 920@3.6Ghz, p6t Deluxe v1, 48gb (6x8gb RipjawsX), Nvidia GTX1080 8GB, Revodrive X2 240gb, e-mu 1820, 2XSamsung SA850 (2560*1440) and 1XHP2408H 1920*1200 portrait
User avatar
photoken
Mitglied
Posts: 2162
Joined: Sat 28 Sep 2013 01:25

C#: Is the TextClass not complete yet?

Post by photoken »

Looking at the PhotoLine.TextClass, I don't see a way to specify the layer's content. The VectorClass, for example, has the InsertPoints method and there are other methods to deal with the vector line style, color, etc.

I don't see the equivalent methods for dealing with the text content, such as the text string, font, color, paragraph parameters, etc.

In other words, I can successfully insert a named text layer, but the layer is empty.
Ken
Yes, I think it can be eeeeeasily done....
Just take everything out on Highway 61.
Martin Huber
Entwickler
Entwickler
Posts: 3980
Joined: Tue 19 Nov 2002 15:49

Re: C#: Is the TextClass not complete yet?

Post by Martin Huber »

photoken wrote: Thu 15 Jun 2017 10:39 Looking at the PhotoLine.TextClass, I don't see a way to specify the layer's content.
There's currently just the declaration of PhotoLine.Text. I didn't have enough time to implement the features.

Martin
Martin Huber
Entwickler
Entwickler
Posts: 3980
Joined: Tue 19 Nov 2002 15:49

Re: Neue Testversion 20.40b10 Windows

Post by Martin Huber »

Herbert123 wrote: Thu 15 Jun 2017 08:52 Bugs:

- cropping tool is broken.
- lasso tool is broken.

Try them out, and you will see what I am talking about.
I had to restructure some code for scripting and inserted a bug during this. I will fix it.

Martin
Onkel Hatti
Mitglied
Posts: 20
Joined: Fri 12 Sep 2014 16:58

Re: Neue Testversion 20.40b10 Windows

Post by Onkel Hatti »

Ich habe immer den Pinseleditor offen.
Wenn ich den Pinsel mit der STRG-Taste und der Maus vergrößere/verkleinere, wird die Größe im Pinseleditor nicht mehr aktualisiert.
Die Miniansicht wird aktualisiert.
Wenn ich den "Weichheitsgrad" des Pinsels mit der STRG-Taste und Shift-Taste und der Maus vergrößere/verkleinere, dann wird die Größe im Pinseleditor aktualisert.

PhotoLine 20.40b10 64; Windows 10 64

Gruß
Hatti
Martin Huber
Entwickler
Entwickler
Posts: 3980
Joined: Tue 19 Nov 2002 15:49

Re: Neue Testversion 20.40b10 Windows

Post by Martin Huber »

Onkel Hatti wrote: Thu 15 Jun 2017 15:09 Ich habe immer den Pinseleditor offen.
Wenn ich den Pinsel mit der STRG-Taste und der Maus vergrößere/verkleinere, wird die Größe im Pinseleditor nicht mehr aktualisiert.
ich schaue mir das an.

Martin