Saturday, December 24, 2016

Image To ZX Spec 2.0.0 Released!

Santa comes early with an Image To ZX Spec 2.0.0 release!

This will be the last major revision of Image To ZX Spec as I'm moving on to other projects. The two major features of this release are high speed native video decoding (requiring separate platform builds) and some critical bug fixes for MacOS, the full changelog is below.


MacOS: (sha1: d76b6507f8f8a16e2e03b58d7b8c7ffb)
Windows: (sha1: b3269054d40fc1a09ae92aebcc4c31a6)
Linux: (sha1: bd8e3a1a569d630f9aa7701a42eaae7a)

Changelog for 2.0.0:
  • Updated for Java 8.
  • Squashed MacOS directory bug causing files not to be saved (Java bug).
  • Integrated native video decoding via HumbleVideo.
  • Massive performance improvement for processing video.
  • Improved code quality with tests, logging and Java 8 features.
  • Fixed Gigascreen original scale conversion crash bug.
  • Fixed original scale conversion converted edge pixels bug.
  • Fixed black threshold scaling range.
  • Added warnings for poor options combinations.
  • Changed text output behaviour for multiple images - many files now instead of one.
  • Modified About to show free memory.
  • Fixed small graphics memory leak.
  • Added turbo mode.


Fabrice said...

This is great! I've loved this app since 2009. However, the bug for saving files on the Mac still exists - I wasn't able to save but usually make a screenshot if the image is small enough.

Benjamin said...

Can you let me know bit more about your Mac setup? I had it tested independently on Sierra and El Capitan and couldn't replicate the issue.

Bruno M Florindo said...

Thank you for this. I've been away from my Speccy hobby for a while but started catching up recently. Ever since I saw the digitiser interfaces on Speccy mags in the late 80s, I became fascinated with digitised graphics on the Spectrum. Thank you.

Unknown said...

Thank you for such an amazing GPL software, this is indeed hard work well done over the years!. I've used it before but now I`m interested in using it from command line only, is it currently possible? If not, as I'm not a java dev, but a dev, can you give me a hint on how to modify it? I'll give it a try. The source code of version 2 is available for download? Thanks in advance!

Benjamin said...

Thanks for the feedback! I've actually not yet uploaded the GNU Affero GPL sources of the 2.0.x versions as I didn't want to delay the Christmas Day binary release whilst I QA'd the updated javadoc/code comments, added a new maven source+doc package step and set up a dedicated git hub project (I still haven't done these :( ). The sources for both 2.0.x versions will be available within the next few days when I add the 2.0.1 page to my blog.
Regarding command line usage unfortunately the conversion pipeline can (currently, unless you modify it) only be driven via the basic UI. What sort of project are you looking to integrate it with? I can post up a brief overview to the architecture and code modifications needed to run via command line in a follow up blog post as it's quite simple (but too long to document the procedure in the comments). If you're looking to add a new UI -even in another language- that would be superb because I'm not a front end developer.

Unknown said...

You may not be a front end dev but you have done a great job already. Having it working via command line would allow new language independent UIs. I was trying to use it as a replacement (because img2zxspec is much better for this purpose) of an overly complicated divideo pipeline for artistic projects that I had arrange in 2015, and maybe provide it as a service.

I need to study it better but I was thinking on accessing your java classes from python code, If it works, it would be amazing and allow new projects, UIs, etc.

If you post that brief overview or code snippets or examples on how to use your libs, that can help me or others a lot, along with the sources, I would appreciate that. I don't know java but c, python and js. Maybe my contribution will be hackish but I want to give it a try on my little spare time.

Benjamin said...

I've added the code now to git hub as a new project - full info here . Unfortunately at the moment if you're not a Java developer it may be a bit difficult to build without instructions but you should be able to get by simply by importing the maven pom.xml project into Intellij IDEA (as a new project). You can then build it by selecting "Maven Projects" side tab and checking the "info" and "windows-x64" profiles (assuming you use 64 bit windows) followed by clicking "package" in the same window underneath in "Lifecycle". This will create a zip file with the full build and jar in. You will need Java 8 if you don't already have it.

Unknown said...

Hi Benjamin, first I want to thank you for your effort and time spent uploading the project on github and documenting it. I've managed to compile and pack a .jar for linux64 using Intellij IDEA following your guide, but my first attempts on modifiying main method to process args were unsuccesfull. I will try to learn java syntax and libs more, my huge enemy is time. Your project is great, letting people to know you on github is a good thing :) !

Benjamin said...

Let me know if you need help - put an issue on github for advice if you get stuck and think I can tell you quickly!