Neue Testversion 20.40b10 Windows

Hier diskutieren die Betatester von PhotoLine untereinander und mit den Entwicklern
Benutzeravatar
Gerhard Huber
Entwickler
Entwickler
Beiträge: 4141
Registriert: Mo 18 Nov 2002 15:30
Wohnort: Bad Gögging

Neue Testversion 20.40b10 Windows

Beitrag von 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
Benutzeravatar
photoken
Mitglied
Beiträge: 2162
Registriert: Sa 28 Sep 2013 01:25

NotProb: Issues with PhotoLineScriptC

Beitrag von 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: Alles auswählen

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: Alles auswählen

    	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: Alles auswählen

    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.
Zuletzt geändert von photoken am Do 15 Jun 2017 02:26, insgesamt 1-mal geändert.
Ken
Yes, I think it can be eeeeeasily done....
Just take everything out on Highway 61.
Benutzeravatar
Gerhard Huber
Entwickler
Entwickler
Beiträge: 4141
Registriert: Mo 18 Nov 2002 15:30
Wohnort: Bad Gögging

Re: Prob: Issues with PhotoLineScriptC

Beitrag von Gerhard Huber »

photoken hat geschrieben: Mi 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: Alles auswählen

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

Code: Alles auswählen

PhotoLine.IPLLayer layer = doc.ActiveLayer;
photoken hat geschrieben: Mi 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 hat geschrieben: Mi 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 hat geschrieben: Mi 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
Benutzeravatar
photoken
Mitglied
Beiträge: 2162
Registriert: Sa 28 Sep 2013 01:25

Re: Prob: Issues with PhotoLineScriptC

Beitrag von photoken »

Gerhard Huber hat geschrieben: Mi 14 Jun 2017 07:50 this line should be updated, I would prefer this syntax:

Code: Alles auswählen

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 hat geschrieben: Mi 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 hat geschrieben: Mi 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
Beiträge: 4158
Registriert: Di 19 Nov 2002 15:49

Re: Prob: Issues with PhotoLineScriptC

Beitrag von Martin Huber »

photoken hat geschrieben: Mi 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
Benutzeravatar
photoken
Mitglied
Beiträge: 2162
Registriert: Sa 28 Sep 2013 01:25

Re: Prob: Issues with PhotoLineScriptC

Beitrag von photoken »

Martin Huber hat geschrieben: Mi 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
Beiträge: 4158
Registriert: Di 19 Nov 2002 15:49

Re: Prob: Issues with PhotoLineScriptC

Beitrag von Martin Huber »

photoken hat geschrieben: Mi 14 Jun 2017 08:48
Martin Huber hat geschrieben: Mi 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
Beiträge: 222
Registriert: Mo 01 Jul 2013 20:53

Re: Neue Testversion 20.40b10 Windows

Beitrag von 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
Benutzeravatar
photoken
Mitglied
Beiträge: 2162
Registriert: Sa 28 Sep 2013 01:25

Problems fixed!

Beitrag von 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.
Benutzeravatar
Herbert123
Mitglied
Beiträge: 2136
Registriert: Sa 12 Mai 2012 21:38

Re: Neue Testversion 20.40b10 Windows

Beitrag von 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
Benutzeravatar
photoken
Mitglied
Beiträge: 2162
Registriert: Sa 28 Sep 2013 01:25

C#: Is the TextClass not complete yet?

Beitrag von 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
Beiträge: 4158
Registriert: Di 19 Nov 2002 15:49

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

Beitrag von Martin Huber »

photoken hat geschrieben: Do 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
Beiträge: 4158
Registriert: Di 19 Nov 2002 15:49

Re: Neue Testversion 20.40b10 Windows

Beitrag von Martin Huber »

Herbert123 hat geschrieben: Do 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
Beiträge: 20
Registriert: Fr 12 Sep 2014 16:58

Re: Neue Testversion 20.40b10 Windows

Beitrag von 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
Beiträge: 4158
Registriert: Di 19 Nov 2002 15:49

Re: Neue Testversion 20.40b10 Windows

Beitrag von Martin Huber »

Onkel Hatti hat geschrieben: Do 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
Antworten