Hi, all!
Im a game developer and using the inkscape for layouting my game screens. Loading_screen_layout.svg one of them. It have g with id pause_button and rect with id sandclock_bound which I use for animation placement.
The verbs feature which inkscape already have is have some limitations. The MAX_PATH for example. Also some verbs required user interactions, so I need some eXtended verbs here.
Using python script I have load layout as xml and collecting element-id's of interactive elements with "onclick" attribute, for example. Using this element-id list I generate .yaml, which is some sort of batch file. Here is the .yaml file which is used with Inkscape to clean up layout and put button image in separated file with pause_button.svg filename. Also I count undoable actions to restore state generating verb EditUndo.
command: inkscape -B loading_screen_layout.yaml
----------- loading_screen_layout.yaml --------- run: - xverb-id: XFileOpen, loading_screen_layout.svg - xverb-id: XUndoLabel, fresh_document - xverb-id: XSelectElement, pause_button - verb-id: EditInvert - verb-id: EditDelete - verb-id: FitCanvasToDrawing - xverb-id: XFileSaveAs, pause_button.svg # save with stupid name - xverb-id: UndoToLabel, fresh_document
- xverb-id: XSelectElement, pause_button - verb-id: EditDelete - xverb-id: XUndoLabel, fresh_document
- xverb-id: XSelectElement, sandclock_bounds - verb-id: EditDelete - xverb-id: XUndoLabel, fresh_document
- xverb-id: XFileSaveAs, loading_screen_layout_release.svg # save with stupid name - verb-id: FileQuit ------------------ CUT HERE --------------------
I guess you can get readonly access on my launchpad page. https://code.launchpad.net/~dmitry-zhulanov/+junk/inkscape-xverbs
Code is tested with mingw+windows7+VS2010 sdk.
If you would like to merge the feature, I will clean up code to conforming code style, remove printf's & so on
Any help or advice are appreciated! P.S. sorry for my bad english :)
Best Regards, Dmitry Zhulanov
Hi Dmitry,
This looks really interesting (and there's quite a few files there too). For this kind of output where it's not an svg file, we've typically recommended writing python extensions as they're easier to include in builds, release new versions out side of the inkscape release and support.
Given that you've already got this solution working for your own needs. I on't suppose you'd be interested in translating it to python? There's already a yaml library available and inky.py extension module provides access to all the svg element tree.
But I understand this is asking a lot considering all the work you've put in to the C version in your branch.
Best Regards, Martin Owens
On Tue, 2016-04-26 at 01:32 +0600, Dmitry Zhulanov wrote:
Hi, all!
Im a game developer and using the inkscape for layouting my game screens. Loading_screen_layout.svg one of them. It have g with id pause_button and rect with id sandclock_bound which I use for animation placement.
The verbs feature which inkscape already have is have some limitations. The MAX_PATH for example. Also some verbs required user interactions, so I need some eXtended verbs here.
Using python script I have load layout as xml and collecting element-id's of interactive elements with "onclick" attribute, for example. Using this element-id list I generate .yaml, which is some sort of batch file. Here is the .yaml file which is used with Inkscape to clean up layout and put button image in separated file with pause_button.svg filename. Also I count undoable actions to restore state generating verb EditUndo.
command: inkscape -B loading_screen_layout.yaml
----------- loading_screen_layout.yaml --------- run: - xverb-id: XFileOpen, loading_screen_layout.svg - xverb-id: XUndoLabel, fresh_document - xverb-id: XSelectElement, pause_button - verb-id: EditInvert - verb-id: EditDelete - verb-id: FitCanvasToDrawing - xverb-id: XFileSaveAs, pause_button.svg # save with stupid name - xverb-id: UndoToLabel, fresh_document
- xverb-id: XSelectElement, pause_button - verb-id: EditDelete - xverb-id: XUndoLabel, fresh_document
- xverb-id: XSelectElement, sandclock_bounds - verb-id: EditDelete - xverb-id: XUndoLabel, fresh_document
- xverb-id: XFileSaveAs, loading_screen_layout_release.svg # save with stupid name - verb-id: FileQuit ------------------ CUT HERE --------------------
I guess you can get readonly access on my launchpad page. https://code.launchpad.net/~dmitry-zhulanov/+junk/inkscape-xverbs
Code is tested with mingw+windows7+VS2010 sdk.
If you would like to merge the feature, I will clean up code to conforming code style, remove printf's & so on
Any help or advice are appreciated! P.S. sorry for my bad english :)
Best Regards, Dmitry Zhulanov
Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Martin, thank you for you reply,
Im going to write the extension, and I wish to know which extension is best for the begin with?
Using extensions I want write yaml config input extension, wich will reads list of .svg filenames, then looking svg documents for nodes with attributes "onclick" and "sprite" and save all of them to separated svg files.
Here is the task wich I'd like to solve:
I have about 20 layouts .svg files for processing. Also I have 3 animations. Every animation have atlas .svg file with sprite elements. Usaly I doing handling of game data this way:
I run in batch mode, without any user interaction this small generated script for every button state for every button in every layout, and for every element of every atlas file:
#!/bin/bash copy layout.svg button.svg inkscape --select="button" --verb=EditInvert --verb=EditDelete \ --verb=FitCanvasToDrawing --verb=FileSave --verb=FileQuit button.svg
Before the processing I have buttons placed on layouts .svg and animation elements placed on altases .svg. After processing, I have all buttons and elements in a separated files with canvases fited to its sizes.
Current process takes about 3 or 5 minutes, because it must start new copy of inkscape for every element. My game is growing so full processing taking more and more time. Processing must be done without user interation, its ok to show gui while processing, but its important for batch mode to finish inkscape app when proccess finished.
Best regards, Dmitry Zhulanov
26.04.2016 4:02, Martin Owens пишет:
Hi Dmitry,
This looks really interesting (and there's quite a few files there too). For this kind of output where it's not an svg file, we've typically recommended writing python extensions as they're easier to include in builds, release new versions out side of the inkscape release and support.
Given that you've already got this solution working for your own needs. I on't suppose you'd be interested in translating it to python? There's already a yaml library available and inky.py extension module provides access to all the svg element tree.
But I understand this is asking a lot considering all the work you've put in to the C version in your branch.
Best Regards, Martin Owens
On Tue, 2016-04-26 at 01:32 +0600, Dmitry Zhulanov wrote:
Hi, all!
Im a game developer and using the inkscape for layouting my game screens. Loading_screen_layout.svg one of them. It have g with id pause_button and rect with id sandclock_bound which I use for animation placement.
The verbs feature which inkscape already have is have some limitations. The MAX_PATH for example. Also some verbs required user interactions, so I need some eXtended verbs here.
Using python script I have load layout as xml and collecting element-id's of interactive elements with "onclick" attribute, for example. Using this element-id list I generate .yaml, which is some sort of batch file. Here is the .yaml file which is used with Inkscape to clean up layout and put button image in separated file with pause_button.svg filename. Also I count undoable actions to restore state generating verb EditUndo.
command: inkscape -B loading_screen_layout.yaml
----------- loading_screen_layout.yaml --------- run: - xverb-id: XFileOpen, loading_screen_layout.svg - xverb-id: XUndoLabel, fresh_document - xverb-id: XSelectElement, pause_button - verb-id: EditInvert - verb-id: EditDelete - verb-id: FitCanvasToDrawing - xverb-id: XFileSaveAs, pause_button.svg # save with stupid name - xverb-id: UndoToLabel, fresh_document
- xverb-id: XSelectElement, pause_button - verb-id: EditDelete - xverb-id: XUndoLabel, fresh_document - xverb-id: XSelectElement, sandclock_bounds - verb-id: EditDelete - xverb-id: XUndoLabel, fresh_document - xverb-id: XFileSaveAs, loading_screen_layout_release.svg # save
with stupid name - verb-id: FileQuit ------------------ CUT HERE --------------------
I guess you can get readonly access on my launchpad page. https://code.launchpad.net/~dmitry-zhulanov/+junk/inkscape-xverbs
Code is tested with mingw+windows7+VS2010 sdk.
If you would like to merge the feature, I will clean up code to conforming code style, remove printf's & so on
Any help or advice are appreciated! P.S. sorry for my bad english :)
Best Regards, Dmitry Zhulanov
Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Dmitriy - the "perspective" extension shows how you can save out a selected element and call inkscape on it to do work (in this case find bounds) and get values back - all without restarting inkscape. Hope it helps you.
On 4/27/2016 5:45 AM, Dmitry Zhulanov wrote:
Martin, thank you for you reply,
Im going to write the extension, and I wish to know which extension is best for the begin with?
Using extensions I want write yaml config input extension, wich will reads list of .svg filenames, then looking svg documents for nodes with attributes "onclick" and "sprite" and save all of them to separated svg files.
Here is the task wich I'd like to solve:
I have about 20 layouts .svg files for processing. Also I have 3 animations. Every animation have atlas .svg file with sprite elements. Usaly I doing handling of game data this way:
I run in batch mode, without any user interaction this small generated script for every button state for every button in every layout, and for every element of every atlas file:
#!/bin/bash copy layout.svg button.svg inkscape --select="button" --verb=EditInvert --verb=EditDelete \ --verb=FitCanvasToDrawing --verb=FileSave --verb=FileQuit button.svg
Before the processing I have buttons placed on layouts .svg and animation elements placed on altases .svg. After processing, I have all buttons and elements in a separated files with canvases fited to its sizes.
Current process takes about 3 or 5 minutes, because it must start new copy of inkscape for every element. My game is growing so full processing taking more and more time. Processing must be done without user interation, its ok to show gui while processing, but its important for batch mode to finish inkscape app when proccess finished.
Best regards, Dmitry Zhulanov
26.04.2016 4:02, Martin Owens пишет:
Hi Dmitry,
This looks really interesting (and there's quite a few files there too). For this kind of output where it's not an svg file, we've typically recommended writing python extensions as they're easier to include in builds, release new versions out side of the inkscape release and support.
Given that you've already got this solution working for your own needs. I on't suppose you'd be interested in translating it to python? There's already a yaml library available and inky.py extension module provides access to all the svg element tree.
But I understand this is asking a lot considering all the work you've put in to the C version in your branch.
Best Regards, Martin Owens
On Tue, 2016-04-26 at 01:32 +0600, Dmitry Zhulanov wrote:
Hi, all!
Im a game developer and using the inkscape for layouting my game screens. Loading_screen_layout.svg one of them. It have g with id pause_button and rect with id sandclock_bound which I use for animation placement.
The verbs feature which inkscape already have is have some limitations. The MAX_PATH for example. Also some verbs required user interactions, so I need some eXtended verbs here.
Using python script I have load layout as xml and collecting element-id's of interactive elements with "onclick" attribute, for example. Using this element-id list I generate .yaml, which is some sort of batch file. Here is the .yaml file which is used with Inkscape to clean up layout and put button image in separated file with pause_button.svg filename. Also I count undoable actions to restore state generating verb EditUndo.
command: inkscape -B loading_screen_layout.yaml
----------- loading_screen_layout.yaml --------- run: - xverb-id: XFileOpen, loading_screen_layout.svg - xverb-id: XUndoLabel, fresh_document - xverb-id: XSelectElement, pause_button - verb-id: EditInvert - verb-id: EditDelete - verb-id: FitCanvasToDrawing - xverb-id: XFileSaveAs, pause_button.svg # save with stupid name - xverb-id: UndoToLabel, fresh_document
- xverb-id: XSelectElement, pause_button - verb-id: EditDelete - xverb-id: XUndoLabel, fresh_document - xverb-id: XSelectElement, sandclock_bounds - verb-id: EditDelete - xverb-id: XUndoLabel, fresh_document - xverb-id: XFileSaveAs, loading_screen_layout_release.svg # save
with stupid name - verb-id: FileQuit ------------------ CUT HERE --------------------
I guess you can get readonly access on my launchpad page. https://code.launchpad.net/~dmitry-zhulanov/+junk/inkscape-xverbs
Code is tested with mingw+windows7+VS2010 sdk.
If you would like to merge the feature, I will clean up code to conforming code style, remove printf's & so on
Any help or advice are appreciated! P.S. sorry for my bad english :)
Best Regards, Dmitry Zhulanov
Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
No virus found in this message. Checked by AVG - www.avg.com Version: 2016.0.7596 / Virus Database: 4563/12108 - Release Date: 04/26/16
It looks my English is very bad :)
I want to use inkscape "verbs" from command line without any user interation at all. Every GUI menu item of inkscape have "verb" They listed in verbs.cpp:2420 Verb *Verb::_base_verbs[]. For example: Inkscape --verb FileSaveAs file.svg # opens file.svg then opens "File->Save As.." dialog
count of verbs limited only command line MAX_PATH lenght. verbs inserting into actions list, then running serial.
So I wrote the patch wich extends this behaviour. If inkscpape found batch option "-B filename" it loads list of verbs from file. And most imortant for my project, I add xverbs(extended), they can have arguments. verbs does not have arguments they opens gtk dialogs.
For example, this script open file and save it with another names : ------------------ script.yaml run: - xverb-id: XFileOpen, clone.svg - xverb-id: XFileSaveAs, foo.svg - xverb-id: XFileSaveAs, bar.svg ----------------- inkscape -B script.yaml # easy
verb FileOpen opens dialog to ask user for filename and XFileOpen gets filename from its argument
So from command line I can open .svg files then use any count of of 300+ verbs and then save the result to .svg with any filename. And only one instance of Inksape will be used. Thats what I need :)
Best regards, Dmitry Zhulanov
27.04.2016 11:46, Mark Schafer пишет:
Dmitriy - the "perspective" extension shows how you can save out a selected element and call inkscape on it to do work (in this case find bounds) and get values back - all without restarting inkscape. Hope it helps you.
On 4/27/2016 5:45 AM, Dmitry Zhulanov wrote:
Martin, thank you for you reply,
Im going to write the extension, and I wish to know which extension is best for the begin with?
Using extensions I want write yaml config input extension, wich will reads list of .svg filenames, then looking svg documents for nodes with attributes "onclick" and "sprite" and save all of them to separated svg files.
Here is the task wich I'd like to solve:
I have about 20 layouts .svg files for processing. Also I have 3 animations. Every animation have atlas .svg file with sprite elements. Usaly I doing handling of game data this way:
I run in batch mode, without any user interaction this small generated script for every button state for every button in every layout, and for every element of every atlas file:
#!/bin/bash copy layout.svg button.svg inkscape --select="button" --verb=EditInvert --verb=EditDelete \ --verb=FitCanvasToDrawing --verb=FileSave --verb=FileQuit button.svg
Before the processing I have buttons placed on layouts .svg and animation elements placed on altases .svg. After processing, I have all buttons and elements in a separated files with canvases fited to its sizes.
Current process takes about 3 or 5 minutes, because it must start new copy of inkscape for every element. My game is growing so full processing taking more and more time. Processing must be done without user interation, its ok to show gui while processing, but its important for batch mode to finish inkscape app when proccess finished.
Best regards, Dmitry Zhulanov
26.04.2016 4:02, Martin Owens пишет:
Hi Dmitry,
This looks really interesting (and there's quite a few files there too). For this kind of output where it's not an svg file, we've typically recommended writing python extensions as they're easier to include in builds, release new versions out side of the inkscape release and support.
Given that you've already got this solution working for your own needs. I on't suppose you'd be interested in translating it to python? There's already a yaml library available and inky.py extension module provides access to all the svg element tree.
But I understand this is asking a lot considering all the work you've put in to the C version in your branch.
Best Regards, Martin Owens
On Tue, 2016-04-26 at 01:32 +0600, Dmitry Zhulanov wrote:
Hi, all!
Im a game developer and using the inkscape for layouting my game screens. Loading_screen_layout.svg one of them. It have g with id pause_button and rect with id sandclock_bound which I use for animation placement.
The verbs feature which inkscape already have is have some limitations. The MAX_PATH for example. Also some verbs required user interactions, so I need some eXtended verbs here.
Using python script I have load layout as xml and collecting element-id's of interactive elements with "onclick" attribute, for example. Using this element-id list I generate .yaml, which is some sort of batch file. Here is the .yaml file which is used with Inkscape to clean up layout and put button image in separated file with pause_button.svg filename. Also I count undoable actions to restore state generating verb EditUndo.
command: inkscape -B loading_screen_layout.yaml
----------- loading_screen_layout.yaml --------- run: - xverb-id: XFileOpen, loading_screen_layout.svg - xverb-id: XUndoLabel, fresh_document - xverb-id: XSelectElement, pause_button - verb-id: EditInvert - verb-id: EditDelete - verb-id: FitCanvasToDrawing - xverb-id: XFileSaveAs, pause_button.svg # save with stupid name - xverb-id: UndoToLabel, fresh_document
- xverb-id: XSelectElement, pause_button - verb-id: EditDelete - xverb-id: XUndoLabel, fresh_document - xverb-id: XSelectElement, sandclock_bounds - verb-id: EditDelete - xverb-id: XUndoLabel, fresh_document - xverb-id: XFileSaveAs, loading_screen_layout_release.svg # save
with stupid name - verb-id: FileQuit ------------------ CUT HERE --------------------
I guess you can get readonly access on my launchpad page. https://code.launchpad.net/~dmitry-zhulanov/+junk/inkscape-xverbs
Code is tested with mingw+windows7+VS2010 sdk.
If you would like to merge the feature, I will clean up code to conforming code style, remove printf's & so on
Any help or advice are appreciated! P.S. sorry for my bad english :)
Best Regards, Dmitry Zhulanov
Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
No virus found in this message. Checked by AVG - www.avg.com Version: 2016.0.7596 / Virus Database: 4563/12108 - Release Date: 04/26/16
Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Dear Inkscape Team,
it took me a while (vacation, hospital, other things to do ...) but I just managed to create a BZR branch for my bool and embroidery stitch LPEs. Both seem to work fine with the testing I did. The only issue is that the block order optimization, essentially a TSP problem, is either slow or gives not entirely satisfactory results, but it should be OK for not to complicated cases.
Feedback on the code and functionality welcome! If you want some test files, please ping me.
The branch is:
https://code.launchpad.net/~msoegtrop/inkscape/embroidery
Best regards,
Michael
Hi Michael,
On Wed, 27 Apr 2016 20:03:52 +0200 Michael Soegtrop <MSoegtrop@...889...> wrote:
Dear Inkscape Team,
it took me a while (vacation, hospital, other things to do ...) but I just managed to create a BZR branch for my bool and embroidery stitch LPEs. Both seem to work fine with the testing I did. The only issue is that the block order optimization, essentially a TSP problem, is either slow or gives not entirely satisfactory results, but it should be OK for not to complicated cases.
Feedback on the code and functionality welcome! If you want some test files, please ping me.
The branch is:
first of all - thanks for your contribution. However, note that in the future you should follow the advice here -
http://www.shlomifish.org/philosophy/computers/netiquette/email/start-new-th...
namely, do not start a new topic by replying to an existing message or else it will throw off threaded E-mailers.
Regards,
Shlomi Fish
Shlomi,
Am I missing something? This is showing as a 2 message thread to me. His initial post which started a new thread and your reply (and now it will have mine as well). I think your response was a mistake.
Cheers, Josh
On Thu, Apr 28, 2016 at 12:22 AM, Shlomi Fish <shlomif@...2985...> wrote:
Hi Michael,
On Wed, 27 Apr 2016 20:03:52 +0200 Michael Soegtrop <MSoegtrop@...889...> wrote:
Dear Inkscape Team,
it took me a while (vacation, hospital, other things to do ...) but I just managed to create a BZR branch for my bool and embroidery stitch LPEs. Both seem to work fine with the testing I did. The only issue is that the block order optimization, essentially a TSP problem, is either slow or gives not entirely satisfactory results, but it should be OK for not to complicated cases.
Feedback on the code and functionality welcome! If you want some test files, please ping me.
The branch is:
first of all - thanks for your contribution. However, note that in the future you should follow the advice here -
http://www.shlomifish.org/philosophy/computers/netiquette/email/start-new-th...
namely, do not start a new topic by replying to an existing message or else it will throw off threaded E-mailers.
Regards,
Shlomi Fish
--
Shlomi Fish http://www.shlomifish.org/ List of Text Processing Tools - http://shlom.in/text-proc
The KGB used to torture their victims by having them look at scrolling XSLT code. — http://www.shlomifish.org/humour/bits/facts/XSLT/
Please reply to list if it's a mailing list post - http://shlom.in/reply .
Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Dear Josh,
Am I missing something? This is showing as a 2 message thread to me. His initial post which started a new thread and your reply (and now it will have mine as well). I think your response was a mistake.
Shlomi is right. I recycled another message and this has the effect that my message header contains these fields:
In-Reply-To: <5720EC06.1060100@...400...>
References: <571E70CD.3060805@...400...> <1461621762.2642.2.camel@...400...> <571FA935.3070806@...400...> <57205219.10901@...2596...> <5720EC06.1060100@...400...>
Which refer to the old message I recycled. I guess not all email clients honor these fields. I was also not aware of this mechanism.
Best regards,
Michael
Hi Josh,
On Fri, 29 Apr 2016 10:30:05 -0700 Josh Andler <scislac@...400...> wrote:
Shlomi,
Am I missing something? This is showing as a 2 message thread to me. His initial post which started a new thread and your reply (and now it will have mine as well). I think your response was a mistake.
The problem is that GMail.com (and possibly other mailers by now) start a new thread if the "Subject:" header was changed. But claws-mail and many other MUAs don't do that, and I think it's a non-standard behaviour.
Regards,
Shlomi Fish
Cheers, Josh
On Thu, Apr 28, 2016 at 12:22 AM, Shlomi Fish <shlomif@...2985...> wrote:
Hi Michael,
On Wed, 27 Apr 2016 20:03:52 +0200 Michael Soegtrop <MSoegtrop@...889...> wrote:
Dear Inkscape Team,
it took me a while (vacation, hospital, other things to do ...) but I just managed to create a BZR branch for my bool and embroidery stitch LPEs. Both seem to work fine with the testing I did. The only issue is that the block order optimization, essentially a TSP problem, is either slow or gives not entirely satisfactory results, but it should be OK for not to complicated cases.
Feedback on the code and functionality welcome! If you want some test files, please ping me.
The branch is:
first of all - thanks for your contribution. However, note that in the future you should follow the advice here -
http://www.shlomifish.org/philosophy/computers/netiquette/email/start-new-th...
namely, do not start a new topic by replying to an existing message or else it will throw off threaded E-mailers.
Regards,
Shlomi Fish
Ahhh, thank you both for helping clear that up! Good to know that some mail clients give preference to the headers rather than the subject.
Cheers, Josh
On Fri, Apr 29, 2016 at 10:45 AM, Shlomi Fish <shlomif@...2985...> wrote:
Hi Josh,
On Fri, 29 Apr 2016 10:30:05 -0700 Josh Andler <scislac@...400...> wrote:
Shlomi,
Am I missing something? This is showing as a 2 message thread to me. His initial post which started a new thread and your reply (and now it will have mine as well). I think your response was a mistake.
The problem is that GMail.com (and possibly other mailers by now) start a new thread if the "Subject:" header was changed. But claws-mail and many other MUAs don't do that, and I think it's a non-standard behaviour.
Regards,
Shlomi Fish
Cheers, Josh
On Thu, Apr 28, 2016 at 12:22 AM, Shlomi Fish <shlomif@...2985...> wrote:
Hi Michael,
On Wed, 27 Apr 2016 20:03:52 +0200 Michael Soegtrop <MSoegtrop@...889...> wrote:
Dear Inkscape Team,
it took me a while (vacation, hospital, other things to do ...) but I just managed to create a BZR branch for my bool and embroidery stitch LPEs. Both seem to work fine with the testing I did. The only issue
is
that the block order optimization, essentially a TSP problem, is
either
slow or gives not entirely satisfactory results, but it should be OK
for
not to complicated cases.
Feedback on the code and functionality welcome! If you want some test files, please ping me.
The branch is:
first of all - thanks for your contribution. However, note that in the future you should follow the advice here -
http://www.shlomifish.org/philosophy/computers/netiquette/email/start-new-th...
namely, do not start a new topic by replying to an existing message or else it will throw off threaded E-mailers.
Regards,
Shlomi Fish
--
Shlomi Fish http://www.shlomifish.org/ Free (Creative Commons) Music Downloads, Reviews and more - http://jamendo.com/
Tomorrow never dies, unless Chuck Norris volunteers to take it out of its misery. — http://www.shlomifish.org/humour/bits/facts/Chuck-Norris/
Please reply to list if it's a mailing list post - http://shlom.in/reply .
On Wed, 2016-04-27 at 22:42 +0600, Dmitry Zhulanov wrote:
So from command line I can open .svg files then use any count of of 300+ verbs and then save the result to .svg with any filename. And only one instance of Inksape will be used. Thats what I need :)
This inkscape scripting using a verbs file would indeed be very useful. If you can separate out the yaml work from the verbs work, we could probably get the verbs work code reviewed and submitted more quickly.
If I understand this all correctly.
(Unless the file is being read in via yaml... then I'm not sure because there's an aweful lot of code there to load yaml files if that's the case and we should probably use an external library)
Can someone else review and comment on this thread to back up what is understood here?
Best Regards, Martin Owens
28.04.2016 1:30, Martin Owens пишет:
On Wed, 2016-04-27 at 22:42 +0600, Dmitry Zhulanov wrote:
So from command line I can open .svg files then use any count of of 300+ verbs and then save the result to .svg with any filename. And only one instance of Inksape will be used. Thats what I need :)
This inkscape scripting using a verbs file would indeed be very useful. If you can separate out the yaml work from the verbs work, we could probably get the verbs work code reviewed and submitted more quickly.
All yaml parser sources taken from official page http://pyyaml.org/wiki/LibYAML and I put them to src/yaml
If I understand this all correctly.
(Unless the file is being read in via yaml... then I'm not sure because there's an aweful lot of code there to load yaml files if that's the case and we should probably use an external library)
No requirements for external library, I linked yaml parser statically.
Can someone else review and comment on this thread to back up what is understood here?
It would be grate! P.S. I also add handling of SaveAsPNG xverb in repo
Best Regards, Martin Owens
Best Regards, Dmitry Zhulanov
On Thu, 2016-04-28 at 09:13 +0600, Dmitry Zhulanov wrote:
All yaml parser sources taken from official page http://pyyaml.org/wiki/LibYAML and I put them to src/yaml
This is what you should not do.
Keep the library separate and include it as needed. Inscape uses many outside libraries and libraries should NOT be included in the branch.
Best Regards, Martin Owens
28.04.2016 9:38, Martin Owens пишет:
On Thu, 2016-04-28 at 09:13 +0600, Dmitry Zhulanov wrote:
All yaml parser sources taken from official page http://pyyaml.org/wiki/LibYAML and I put them to src/yaml This is what you should not do.
Keep the library separate and include it as needed. Inscape uses many outside libraries and libraries should NOT be included in the branch.
dynamic linking of libyaml, fix up code style, remove unused code, update to latest inkscape repo version remove printfs, remove commented garbage,
I agree, all of this should be done before patch would be accepted.
Best Regards, Martin Owens
Best Regards, Dmitry Zhulanov
29.04.2016 7:01, Dmitry Zhulanov пишет:
28.04.2016 9:38, Martin Owens пишет:
On Thu, 2016-04-28 at 09:13 +0600, Dmitry Zhulanov wrote:
All yaml parser sources taken from official page http://pyyaml.org/wiki/LibYAML and I put them to src/yaml This is what you should not do.
Keep the library separate and include it as needed. Inscape uses many outside libraries and libraries should NOT be included in the branch.
dynamic linking of libyaml, fix up code style, remove unused code, update to latest inkscape repo version remove printfs, remove commented garbage,
I agree, all of this should be done before patch would be accepted.
... and forgot to say Im must complete migrate my game data to xverb version of inkscape, then I return to listed patch improvements. I have to be sure nothing is missed. And of course running game is a good test case for this patch ;)
Best Regards, Martin Owens
Best Regards, Dmitry Zhulanov
28.04.2016 9:38, Martin Owens пишет:
On Thu, 2016-04-28 at 09:13 +0600, Dmitry Zhulanov wrote:
All yaml parser sources taken from official page http://pyyaml.org/wiki/LibYAML and I put them to src/yaml
This is what you should not do.
Keep the library separate and include it as needed. Inscape uses many outside libraries and libraries should NOT be included in the branch.
Best Regards, Martin Owens
I think it would be better if I tell about libyaml integration. It used only in one place: CmdLineXAction::createActionsFromYAML() main-cmdlinexact.cpp this function loads yaml file, parse it, and create serially all required objects for running verbs.
Best Regards, Dmitry Zhulanov
I think I have finished x-verbs feature
Patched Inkscape had successfully pass some complicated tests as part of my project.
yaml script had 1099 lines, inkscape opened 17 svg files, crop and saved as svg 126 files and exported 43 png files
It looks stable, but I'm not sure for 100% ;)
branch:
https://code.launchpad.net/~dmitry-zhulanov/inkscape/inkscape-xverbs
and some documentation here
http://bazaar.launchpad.net/~dmitry-zhulanov/inkscape/inkscape-xverbs/view/h...
Best regards,
Dmitry Zhulanov
On 26.04.2016 05:02, Martin Owens wrote:
Hi Dmitry,
This looks really interesting (and there's quite a few files there too). For this kind of output where it's not an svg file, we've typically recommended writing python extensions as they're easier to include in builds, release new versions out side of the inkscape release and support.
Given that you've already got this solution working for your own needs. I on't suppose you'd be interested in translating it to python? There's already a yaml library available and inky.py extension module provides access to all the svg element tree.
But I understand this is asking a lot considering all the work you've put in to the C version in your branch.
Best Regards, Martin Owens
On Tue, 2016-04-26 at 01:32 +0600, Dmitry Zhulanov wrote:
Hi, all!
Im a game developer and using the inkscape for layouting my game screens. Loading_screen_layout.svg one of them. It have g with id pause_button and rect with id sandclock_bound which I use for animation placement.
The verbs feature which inkscape already have is have some limitations. The MAX_PATH for example. Also some verbs required user interactions, so I need some eXtended verbs here.
Using python script I have load layout as xml and collecting element-id's of interactive elements with "onclick" attribute, for example. Using this element-id list I generate .yaml, which is some sort of batch file. Here is the .yaml file which is used with Inkscape to clean up layout and put button image in separated file with pause_button.svg filename. Also I count undoable actions to restore state generating verb EditUndo.
command: inkscape -B loading_screen_layout.yaml
----------- loading_screen_layout.yaml --------- run: - xverb-id: XFileOpen, loading_screen_layout.svg - xverb-id: XUndoLabel, fresh_document - xverb-id: XSelectElement, pause_button - verb-id: EditInvert - verb-id: EditDelete - verb-id: FitCanvasToDrawing - xverb-id: XFileSaveAs, pause_button.svg # save with stupid name - xverb-id: UndoToLabel, fresh_document
- xverb-id: XSelectElement, pause_button - verb-id: EditDelete - xverb-id: XUndoLabel, fresh_document - xverb-id: XSelectElement, sandclock_bounds - verb-id: EditDelete - xverb-id: XUndoLabel, fresh_document - xverb-id: XFileSaveAs, loading_screen_layout_release.svg # save
with stupid name - verb-id: FileQuit ------------------ CUT HERE --------------------
I guess you can get readonly access on my launchpad page. https://code.launchpad.net/~dmitry-zhulanov/+junk/inkscape-xverbs
Code is tested with mingw+windows7+VS2010 sdk.
If you would like to merge the feature, I will clean up code to conforming code style, remove printf's & so on
Any help or advice are appreciated! P.S. sorry for my bad english :)
Best Regards, Dmitry Zhulanov
Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
participants (6)
-
Dmitry Zhulanov
-
Josh Andler
-
Mark Schafer
-
Martin Owens
-
Michael Soegtrop
-
Shlomi Fish