GithubHelp home page GithubHelp logo

frno7 / libpes Goto Github PK

View Code? Open in Web Editor NEW
44.0 8.0 10.0 138 KB

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

C 99.31% CMake 0.69%
embroidery pes svg

libpes's People

Contributors

frno7 avatar talhada avatar tatarize avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

libpes's Issues

Migrate to CMake

CMake

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.

Building with MSVC on windows

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)

Example:

-struct sax_state state = {};
+struct sax_state state;
+state.level = 0;

Wiki Improvements

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.

Updated the info for version 6

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.