Why can I only export for mac newer versions of Processing?

edited March 2014 in Using Processing

Well recently whenever I try to export, I realized that processing just exports for mac and no longer asks me if I want to export to linux and/or windows and there is now the "embed java" option which I don't think was there before...

I tried with 2.1.1 and 2.1.0 and still couldn't figure out how to export in windows.

So I dug up my 2.0.1 version and it worked fine. How come I can't export to other os other than mac for the new versions or how do I go about exporting to windows and linux?

Tagged:

Answers

  • Nevermind. http://wiki.processing.org/w/Export_Info_and_Tips says "As of Processing 2.1, it's only possible to export applications for the current operating system."

  • Answer ✓

    Version 2.0.3 is the last 1 w/ that neat feature.
    W/ v1.5.1, you could even get a unified ".jar" file! :D

  • In my opinion this is a real step backwards for Processing, no matter how much more convenient it is for the developers. With the older version of Processing I used to be able to compile and email apps for my windows using friends (and mostly they just worked) now I have to buy a new computer in order to share apps with them??

  • or use wine

    http://winebottler.kronenberg.org/

    dont know how well it works on osx, wine is pretty great on linux.

  • ...or depending how it was written use java script export...

  • i agree with tomjuggler, it was convenient to export application for every os. a workaround is to do it in eclipse and export only one jar file

  • Using eclipse to export it as a jar is an incomplete solution, as you still need the natives for every system.

    I've written a utility that will handle all of this for you, it might be worth checking out. You give it the jar exported from your sketch and a library jar I created that contains all of the natives for every system, and it gives you a self-extracting jar that users can double-click to run on any system. Here's the link: http://StaticVoidGames.com/SvgExe/

  • @KevinWorkman I have not tried SvgExe but have looked at your website and it looks good.

    Have you thought about creating a Processing tool which will export the application in all three formats (Windows, OSX, Linux)?

  • Hey Quark, thanks for the feedback.

    SvgExe outputs a standalone jar that should work on all three systems, just like Processing 1.5.1 used to give you.

    The only reason Processing outputs separate applications for each system is because it has to deal with platform-specific libraries. SvgExe gets rid of that limitation, so three different outputs are unnecessary.

  • edited March 2014

    SvgExe gets rid of that limitation, so three different outputs are unnecessary.

    I missed that - very neat. =D>

    I still think it would make a great Processing Tool.

  • edited March 2014

    Thanks! Yeah, I designed it to be used with Processing's output. Hopefully it helps ease some of the pain of deploying our sketches!

  • Hi Kevin, I completely agree with quark, re-packaging your SvgExe utility as a tool would be very useful for users who need the cross-platform export functionality. I don't know how difficult the repackaging would be, the github wiki has some guidelines on how to write tools, maybe that could be potentially useful: https://github.com/processing/processing/wiki/Tool-Basics, https://github.com/processing/processing/wiki/Tool-Guidelines

  • That's a pretty good idea. I didn't realize that Processing Tool was a specific thing! If I finish my homework early this week, that might be my weekend project. :D

    For now, running SvgExe after exporting your Processing sketch as an application should do the trick!

  • @Quark and @codeanticode

    I've packaged SvgExe as a Processing tool, available here: http://staticvoidgames.com/SvgExe/processing.jsp

    For now the tool simply pops up the SvgExe window from the Processing PDE, but I've also put the source code on github and hope to create a more Processing-friendly interface.

  • @KevinWorkman, I tried the tool on Mac using Processing 2.1.1, and exporting a simple example sketch (Basics|Color|Hue), but the SvgExe main interface doesn't get populated with the contents of the exported app.

  • Yeah, it doesn't automatically populate yet. The tool is super simple and just launches the program for now.

    The reason for this is that there isn't a standard directory structure upon export: exporting on Windows creates an entirely different directory structure than exporting on Mac, so I can't just assume I know where the files I need are. I'll probably have to write OS-specific code that looks in the correct place on each system. For now I figured it was better to leave it up to the user, that way it handles all of the corner cases. I also want to make the UI more Processing-friendly (at least when it's launched via Processing).

    All of these issues are on GitHub, so if somebody wants to get involved in a small open-source project and help make it better, this is a perfect jumping-on point!

  • Btw, I've created a post specifically for SvgExe, so I can stop hijacking this thread now, haha: http://forum.processing.org/two/discussion/3903/svgexe-create-standalone-runnable-jars-for-every-system

  • Legend, thanks!

Sign In or Register to comment.