frno7 / libpes Goto Github PK
View Code? Open in Web Editor NEWLibpes is a portable C library for encoding, decoding and transcoding the PES and SVG based machine embroidery formats.
License: GNU General Public License v3.0
Libpes is a portable C library for encoding, decoding and transcoding the PES and SVG based machine embroidery formats.
License: GNU General Public License v3.0
I recently went to implement version 6 to have access to the threads info in the header and consequently had to map out the data correctly. The changes are that the threads given in the header are used rather than the PEC-Threads and there's an object at the end of the PES section (after the control codes) which governs grouping and sew order. I didn't give it much time but it's usually in U32 0 0 0 0 1 0 2 0 3 0... without it PE-Design crashes, but the default values seem to work.
I would like to see this project migrated to cmake, I don't think it would take much time and CMake is becoming more and more the defacto build system for cross platform c/c++ projects.
When building the library with mscv on windows (Visual Studio 2022), I get the following error:
\libpes\src\sax.c(370): error C2059: syntax error: '}'
As far as I'm concerned about C code, this isn't a C standard and rather a C++ standard for object initialization. To make the project 100% cross platform I would recommend to initialize C structs manually (there are not many of them)
-struct sax_state state = {};
+struct sax_state state;
+state.level = 0;
I properly classed the control codes. They are not parts of the pes blocks. The 0xFFFF0000 between the sections are control codes, they indicate whether the file is over or if there is more to be read. They are not therefore part of the blocks themselves. They are codes to indicate if there is is something more to read it can properly gauge EOF.
I moved some sections around, and added the block description from Josh. If his data is right, it's certainly possible to parse all the higher level objects and transcode them at least naively to SVG. Even though that goal is largely a bit meh, given that nobody has actual PES files with higher level objects.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.