Merge pull request #145 from lexelby/lexelby-embroidery-input

input extension for all libembroidery-supported formats
pull/152/head
Lex Neva 2018-04-15 19:40:46 -04:00 zatwierdzone przez GitHub
commit b134a8dafa
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
59 zmienionych plików z 934 dodań i 9 usunięć

Wyświetl plik

@ -1,4 +1,4 @@
EXTENSIONS:=embroider embroider_params embroider_simulate embroider_print
EXTENSIONS:=embroider embroider_params embroider_simulate embroider_print embroider_input
# This gets the branch name or the name of the tag
VERSION:=$(TRAVIS_BRANCH)
@ -7,7 +7,7 @@ ARCH:=$(shell uname -m)
dist: distclean locales
bin/build-dist $(EXTENSIONS)
cp *.inx dist
cp inx/*.inx dist
cp -a images/examples dist/inkstitch
mkdir -p dist/inkstitch/bin/locales
cp -a locales/* dist/inkstitch/bin/locales

45
bin/gen-input-inx 100755
Wyświetl plik

@ -0,0 +1,45 @@
#!/usr/bin/env python
import sys, os
from os.path import dirname
from libembroidery import *
from jinja2 import Environment, FileSystemLoader, select_autoescape
def build_environment():
template_dir = os.path.join(dirname(dirname(os.path.realpath(__file__))), "templates")
return Environment(
loader = FileSystemLoader(template_dir),
autoescape = True
)
def libembroidery_input_formats():
formatList = embFormatList_create()
curFormat = formatList
while(curFormat):
extension = embFormat_extension(curFormat)
description = embFormat_description(curFormat)
writerState = embFormat_readerState(curFormat)
if writerState.strip() and embFormat_type(curFormat) != EMBFORMAT_OBJECTONLY:
# extension includes the dot, so we'll remove it
yield extension[1:], description
curFormat = curFormat.next
def main():
env = build_environment()
template = env.get_template('embroider_input.inx')
for format, description in libembroidery_input_formats():
inx = template.render(format=format, description=description)
with open("inx/embroider_input_%s.inx" % format.upper(), 'w') as inx_file:
inx_file.write(inx)
if __name__ == "__main__":
sys.exit(main())

61
embroider_input.py 100644
Wyświetl plik

@ -0,0 +1,61 @@
import sys
import os
from libembroidery import *
from inkex import etree
import inkex
from inkstitch import PIXELS_PER_MM, INKSCAPE_LABEL, _
from inkstitch.stitch_plan import StitchPlan
from inkstitch.svg import render_stitch_plan
def pattern_stitches(pattern):
stitch_pointer = pattern.stitchList
while stitch_pointer:
yield stitch_pointer.stitch
stitch_pointer = stitch_pointer.next
def main(embroidery_file):
pattern = embPattern_create()
embPattern_read(pattern, embroidery_file)
embPattern_flipVertical(pattern)
stitch_plan = StitchPlan()
color_block = None
current_color = None
for stitch in pattern_stitches(pattern):
if stitch.color != current_color:
thread = embThreadList_getAt(pattern.threadList, stitch.color)
color = thread.color
color_block = stitch_plan.new_color_block((color.r, color.g, color.b))
current_color = stitch.color
if not stitch.flags & END:
color_block.add_stitch(stitch.xx * PIXELS_PER_MM, stitch.yy * PIXELS_PER_MM,
jump=stitch.flags & JUMP,
stop=stitch.flags & STOP,
trim=stitch.flags & TRIM)
extents = stitch_plan.extents
svg = etree.Element("svg", nsmap=inkex.NSS, attrib=
{
"width": str(extents[0] * 2),
"height": str(extents[1] * 2),
"viewBox": "0 0 %s %s" % (extents[0] * 2, extents[1] * 2),
})
render_stitch_plan(svg, stitch_plan)
# rename the Stitch Plan layer so that it doesn't get overwritten by Embroider
layer = svg.find(".//*[@id='__inkstitch_stitch_plan__']")
layer.set(INKSCAPE_LABEL, os.path.basename(embroidery_file))
layer.attrib.pop('id')
# Shift the design so that its origin is at the center of the canvas
# Note: this is NOT the same as centering the design in the canvas!
layer.set('transform', 'translate(%s,%s)' % (extents[0], extents[1]))
print etree.tostring(svg)
if __name__ == '__main__':
sys.exit(main(*sys.argv[1:]))

Wyświetl plik

@ -96,11 +96,31 @@ class StitchPlan(object):
def num_stitches(self):
return sum(block.num_stitches for block in self)
@property
def bounding_box(self):
color_block_bounding_boxes = [cb.bounding_box for cb in self]
minx = min(bb[0] for bb in color_block_bounding_boxes)
miny = min(bb[1] for bb in color_block_bounding_boxes)
maxx = max(bb[2] for bb in color_block_bounding_boxes)
maxy = max(bb[3] for bb in color_block_bounding_boxes)
return minx, miny, maxx, maxy
@property
def dimensions(self):
minx, miny, maxx, maxy = self.bounding_box
return (maxx - minx, maxy - miny)
@property
def extents(self):
minx, miny, maxx, maxy = self.bounding_box
return max(-minx, maxx), max(-miny, maxy)
@property
def dimensions_mm(self):
# TODO: implement this. Should do a bounding box calculation and
# convert to millimeters.
return ""
dimensions = self.dimensions
return (dimensions[0] / PIXELS_PER_MM, dimensions[1] / PIXELS_PER_MM)
class ColorBlock(object):
@ -196,3 +216,12 @@ class ColorBlock(object):
def replace_stitches(self, stitches):
self.stitches = stitches
@property
def bounding_box(self):
minx = min(stitch.x for stitch in self)
miny = min(stitch.y for stitch in self)
maxx = max(stitch.x for stitch in self)
maxy = max(stitch.y for stitch in self)
return minx, miny, maxx, maxy

Wyświetl plik

@ -28,12 +28,12 @@ def get_correction_transform(svg):
def color_block_to_paths(color_block, svg):
polylines = []
paths = []
# We could emit just a single path with one subpath per point list, but
# emitting multiple paths makes it easier for the user to manipulate them.
for point_list in color_block_to_point_lists(color_block):
color = color_block.color.visible_on_white.to_hex_str()
polylines.append(inkex.etree.Element(
paths.append(inkex.etree.Element(
SVG_PATH_TAG,
{'style': simplestyle.formatStyle(
{'stroke': color,
@ -41,10 +41,15 @@ def color_block_to_paths(color_block, svg):
'fill': 'none'}),
'd': "M" + " ".join(" ".join(str(coord) for coord in point) for point in point_list),
'transform': get_correction_transform(svg),
'embroider_manual_stitch': 'true'
'embroider_manual_stitch': 'true',
'embroider_trim_after': 'true',
}))
return polylines
# no need to trim at the end of a thread color
if paths:
paths[-1].attrib.pop('embroider_trim_after')
return paths
def render_stitch_plan(svg, stitch_plan):

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>100 file input</_name>
<id>org.inkstitch.input.100</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.100</extension>
<mimetype>application/x-embroidery-100</mimetype>
<_filetypename>Ink/Stitch: Toyota Embroidery Format (.100)</_filetypename>
<_filetypetooltip>convert 100 file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>10O file input</_name>
<id>org.inkstitch.input.10o</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.10o</extension>
<mimetype>application/x-embroidery-10o</mimetype>
<_filetypename>Ink/Stitch: Toyota Embroidery Format (.10o)</_filetypename>
<_filetypetooltip>convert 10O file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>BRO file input</_name>
<id>org.inkstitch.input.bro</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.bro</extension>
<mimetype>application/x-embroidery-bro</mimetype>
<_filetypename>Ink/Stitch: Bits &amp; Volts Embroidery Format (.bro)</_filetypename>
<_filetypetooltip>convert BRO file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>COL file input</_name>
<id>org.inkstitch.input.col</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.col</extension>
<mimetype>application/x-embroidery-col</mimetype>
<_filetypename>Ink/Stitch: Embroidery Thread Color Format (.col)</_filetypename>
<_filetypetooltip>convert COL file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>CSD file input</_name>
<id>org.inkstitch.input.csd</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.csd</extension>
<mimetype>application/x-embroidery-csd</mimetype>
<_filetypename>Ink/Stitch: Singer Embroidery Format (.csd)</_filetypename>
<_filetypetooltip>convert CSD file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>CSV file input</_name>
<id>org.inkstitch.input.csv</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.csv</extension>
<mimetype>application/x-embroidery-csv</mimetype>
<_filetypename>Ink/Stitch: Comma Separated Values Format (.csv)</_filetypename>
<_filetypetooltip>convert CSV file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>DAT file input</_name>
<id>org.inkstitch.input.dat</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.dat</extension>
<mimetype>application/x-embroidery-dat</mimetype>
<_filetypename>Ink/Stitch: Barudan Embroidery Format (.dat)</_filetypename>
<_filetypetooltip>convert DAT file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>DSB file input</_name>
<id>org.inkstitch.input.dsb</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.dsb</extension>
<mimetype>application/x-embroidery-dsb</mimetype>
<_filetypename>Ink/Stitch: Barudan Embroidery Format (.dsb)</_filetypename>
<_filetypetooltip>convert DSB file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>DST file input</_name>
<id>org.inkstitch.input.dst</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.dst</extension>
<mimetype>application/x-embroidery-dst</mimetype>
<_filetypename>Ink/Stitch: Tajima Embroidery Format (.dst)</_filetypename>
<_filetypetooltip>convert DST file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>DSZ file input</_name>
<id>org.inkstitch.input.dsz</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.dsz</extension>
<mimetype>application/x-embroidery-dsz</mimetype>
<_filetypename>Ink/Stitch: ZSK USA Embroidery Format (.dsz)</_filetypename>
<_filetypetooltip>convert DSZ file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>EDR file input</_name>
<id>org.inkstitch.input.edr</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.edr</extension>
<mimetype>application/x-embroidery-edr</mimetype>
<_filetypename>Ink/Stitch: Embird Embroidery Format (.edr)</_filetypename>
<_filetypetooltip>convert EDR file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>EMD file input</_name>
<id>org.inkstitch.input.emd</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.emd</extension>
<mimetype>application/x-embroidery-emd</mimetype>
<_filetypename>Ink/Stitch: Elna Embroidery Format (.emd)</_filetypename>
<_filetypetooltip>convert EMD file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>EXP file input</_name>
<id>org.inkstitch.input.exp</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.exp</extension>
<mimetype>application/x-embroidery-exp</mimetype>
<_filetypename>Ink/Stitch: Melco Embroidery Format (.exp)</_filetypename>
<_filetypetooltip>convert EXP file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>EXY file input</_name>
<id>org.inkstitch.input.exy</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.exy</extension>
<mimetype>application/x-embroidery-exy</mimetype>
<_filetypename>Ink/Stitch: Eltac Embroidery Format (.exy)</_filetypename>
<_filetypetooltip>convert EXY file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>FXY file input</_name>
<id>org.inkstitch.input.fxy</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.fxy</extension>
<mimetype>application/x-embroidery-fxy</mimetype>
<_filetypename>Ink/Stitch: Fortron Embroidery Format (.fxy)</_filetypename>
<_filetypetooltip>convert FXY file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>GT file input</_name>
<id>org.inkstitch.input.gt</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.gt</extension>
<mimetype>application/x-embroidery-gt</mimetype>
<_filetypename>Ink/Stitch: Gold Thread Embroidery Format (.gt)</_filetypename>
<_filetypetooltip>convert GT file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>HUS file input</_name>
<id>org.inkstitch.input.hus</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.hus</extension>
<mimetype>application/x-embroidery-hus</mimetype>
<_filetypename>Ink/Stitch: Husqvarna Viking Embroidery Format (.hus)</_filetypename>
<_filetypetooltip>convert HUS file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>INB file input</_name>
<id>org.inkstitch.input.inb</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.inb</extension>
<mimetype>application/x-embroidery-inb</mimetype>
<_filetypename>Ink/Stitch: Inbro Embroidery Format (.inb)</_filetypename>
<_filetypetooltip>convert INB file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>INF file input</_name>
<id>org.inkstitch.input.inf</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.inf</extension>
<mimetype>application/x-embroidery-inf</mimetype>
<_filetypename>Ink/Stitch: Embroidery Color Format (.inf)</_filetypename>
<_filetypetooltip>convert INF file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>JEF file input</_name>
<id>org.inkstitch.input.jef</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.jef</extension>
<mimetype>application/x-embroidery-jef</mimetype>
<_filetypename>Ink/Stitch: Janome Embroidery Format (.jef)</_filetypename>
<_filetypetooltip>convert JEF file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>KSM file input</_name>
<id>org.inkstitch.input.ksm</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.ksm</extension>
<mimetype>application/x-embroidery-ksm</mimetype>
<_filetypename>Ink/Stitch: Pfaff Embroidery Format (.ksm)</_filetypename>
<_filetypetooltip>convert KSM file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>MAX file input</_name>
<id>org.inkstitch.input.max</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.max</extension>
<mimetype>application/x-embroidery-max</mimetype>
<_filetypename>Ink/Stitch: Pfaff Embroidery Format (.max)</_filetypename>
<_filetypetooltip>convert MAX file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>MIT file input</_name>
<id>org.inkstitch.input.mit</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.mit</extension>
<mimetype>application/x-embroidery-mit</mimetype>
<_filetypename>Ink/Stitch: Mitsubishi Embroidery Format (.mit)</_filetypename>
<_filetypetooltip>convert MIT file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>NEW file input</_name>
<id>org.inkstitch.input.new</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.new</extension>
<mimetype>application/x-embroidery-new</mimetype>
<_filetypename>Ink/Stitch: Ameco Embroidery Format (.new)</_filetypename>
<_filetypetooltip>convert NEW file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>OFM file input</_name>
<id>org.inkstitch.input.ofm</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.ofm</extension>
<mimetype>application/x-embroidery-ofm</mimetype>
<_filetypename>Ink/Stitch: Melco Embroidery Format (.ofm)</_filetypename>
<_filetypetooltip>convert OFM file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>PCD file input</_name>
<id>org.inkstitch.input.pcd</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.pcd</extension>
<mimetype>application/x-embroidery-pcd</mimetype>
<_filetypename>Ink/Stitch: Pfaff Embroidery Format (.pcd)</_filetypename>
<_filetypetooltip>convert PCD file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>PCM file input</_name>
<id>org.inkstitch.input.pcm</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.pcm</extension>
<mimetype>application/x-embroidery-pcm</mimetype>
<_filetypename>Ink/Stitch: Pfaff Embroidery Format (.pcm)</_filetypename>
<_filetypetooltip>convert PCM file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>PCQ file input</_name>
<id>org.inkstitch.input.pcq</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.pcq</extension>
<mimetype>application/x-embroidery-pcq</mimetype>
<_filetypename>Ink/Stitch: Pfaff Embroidery Format (.pcq)</_filetypename>
<_filetypetooltip>convert PCQ file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>PCS file input</_name>
<id>org.inkstitch.input.pcs</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.pcs</extension>
<mimetype>application/x-embroidery-pcs</mimetype>
<_filetypename>Ink/Stitch: Pfaff Embroidery Format (.pcs)</_filetypename>
<_filetypetooltip>convert PCS file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>PEC file input</_name>
<id>org.inkstitch.input.pec</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.pec</extension>
<mimetype>application/x-embroidery-pec</mimetype>
<_filetypename>Ink/Stitch: Brother Embroidery Format (.pec)</_filetypename>
<_filetypetooltip>convert PEC file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>PES file input</_name>
<id>org.inkstitch.input.pes</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.pes</extension>
<mimetype>application/x-embroidery-pes</mimetype>
<_filetypename>Ink/Stitch: Brother Embroidery Format (.pes)</_filetypename>
<_filetypetooltip>convert PES file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>PHB file input</_name>
<id>org.inkstitch.input.phb</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.phb</extension>
<mimetype>application/x-embroidery-phb</mimetype>
<_filetypename>Ink/Stitch: Brother Embroidery Format (.phb)</_filetypename>
<_filetypetooltip>convert PHB file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>PHC file input</_name>
<id>org.inkstitch.input.phc</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.phc</extension>
<mimetype>application/x-embroidery-phc</mimetype>
<_filetypename>Ink/Stitch: Brother Embroidery Format (.phc)</_filetypename>
<_filetypetooltip>convert PHC file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>PLT file input</_name>
<id>org.inkstitch.input.plt</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.plt</extension>
<mimetype>application/x-embroidery-plt</mimetype>
<_filetypename>Ink/Stitch: AutoCAD Plot Drawing Format (.plt)</_filetypename>
<_filetypetooltip>convert PLT file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>RGB file input</_name>
<id>org.inkstitch.input.rgb</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.rgb</extension>
<mimetype>application/x-embroidery-rgb</mimetype>
<_filetypename>Ink/Stitch: RGB Embroidery Format (.rgb)</_filetypename>
<_filetypetooltip>convert RGB file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>SEW file input</_name>
<id>org.inkstitch.input.sew</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.sew</extension>
<mimetype>application/x-embroidery-sew</mimetype>
<_filetypename>Ink/Stitch: Janome Embroidery Format (.sew)</_filetypename>
<_filetypetooltip>convert SEW file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>SHV file input</_name>
<id>org.inkstitch.input.shv</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.shv</extension>
<mimetype>application/x-embroidery-shv</mimetype>
<_filetypename>Ink/Stitch: Husqvarna Viking Embroidery Format (.shv)</_filetypename>
<_filetypetooltip>convert SHV file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>SST file input</_name>
<id>org.inkstitch.input.sst</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.sst</extension>
<mimetype>application/x-embroidery-sst</mimetype>
<_filetypename>Ink/Stitch: Sunstar Embroidery Format (.sst)</_filetypename>
<_filetypetooltip>convert SST file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>STX file input</_name>
<id>org.inkstitch.input.stx</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.stx</extension>
<mimetype>application/x-embroidery-stx</mimetype>
<_filetypename>Ink/Stitch: Data Stitch Embroidery Format (.stx)</_filetypename>
<_filetypetooltip>convert STX file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>T01 file input</_name>
<id>org.inkstitch.input.t01</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.t01</extension>
<mimetype>application/x-embroidery-t01</mimetype>
<_filetypename>Ink/Stitch: Pfaff Embroidery Format (.t01)</_filetypename>
<_filetypetooltip>convert T01 file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>T09 file input</_name>
<id>org.inkstitch.input.t09</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.t09</extension>
<mimetype>application/x-embroidery-t09</mimetype>
<_filetypename>Ink/Stitch: Pfaff Embroidery Format (.t09)</_filetypename>
<_filetypetooltip>convert T09 file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>TAP file input</_name>
<id>org.inkstitch.input.tap</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.tap</extension>
<mimetype>application/x-embroidery-tap</mimetype>
<_filetypename>Ink/Stitch: Happy Embroidery Format (.tap)</_filetypename>
<_filetypetooltip>convert TAP file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>THR file input</_name>
<id>org.inkstitch.input.thr</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.thr</extension>
<mimetype>application/x-embroidery-thr</mimetype>
<_filetypename>Ink/Stitch: ThredWorks Embroidery Format (.thr)</_filetypename>
<_filetypetooltip>convert THR file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>U00 file input</_name>
<id>org.inkstitch.input.u00</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.u00</extension>
<mimetype>application/x-embroidery-u00</mimetype>
<_filetypename>Ink/Stitch: Barudan Embroidery Format (.u00)</_filetypename>
<_filetypetooltip>convert U00 file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>VIP file input</_name>
<id>org.inkstitch.input.vip</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.vip</extension>
<mimetype>application/x-embroidery-vip</mimetype>
<_filetypename>Ink/Stitch: Pfaff Embroidery Format (.vip)</_filetypename>
<_filetypetooltip>convert VIP file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>VP3 file input</_name>
<id>org.inkstitch.input.vp3</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.vp3</extension>
<mimetype>application/x-embroidery-vp3</mimetype>
<_filetypename>Ink/Stitch: Pfaff Embroidery Format (.vp3)</_filetypename>
<_filetypetooltip>convert VP3 file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>XXX file input</_name>
<id>org.inkstitch.input.xxx</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.xxx</extension>
<mimetype>application/x-embroidery-xxx</mimetype>
<_filetypename>Ink/Stitch: Singer Embroidery Format (.xxx)</_filetypename>
<_filetypetooltip>convert XXX file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>ZSK file input</_name>
<id>org.inkstitch.input.zsk</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.zsk</extension>
<mimetype>application/x-embroidery-zsk</mimetype>
<_filetypename>Ink/Stitch: ZSK USA Embroidery Format (.zsk)</_filetypename>
<_filetypetooltip>convert ZSK file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>

Wyświetl plik

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<_name>{{ format | upper }} file input</_name>
<id>org.inkstitch.input.{{ format }}</id>
<dependency type="executable" location="extensions">embroider_input.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.{{ format }}</extension>
<mimetype>application/x-embroidery-{{ format }}</mimetype>
<_filetypename>Ink/Stitch: {{ description }} (.{{ format }})</_filetypename>
<_filetypetooltip>convert {{ format | upper }} file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>
<command reldir="extensions" interpreter="python">embroider_input.py</command>
</script>
</inkscape-extension>