/pmotion-amiga-iff

Pro Motion NG plugin to support Amiga IFF images

Primary LanguagePureBasicOtherNOASSERTION

Pro Motion Amiga IFF

Pro Motion NG 7.1.8 | PureBasic 5.70 LTS

A Pro Motion NG plugin to support Amiga IFF images, written in PureBasic.

Copyright © 2019 Tristano Ajmone, MIT License. Based on Flype's Module TinyIFF (permission granted).


Table of Contents


Project Contents

Project Status

Currently the project is in early Alpha stage.

The code from the TinyIFF module needs to be readapted to fit the pmotion_file-io.pb plugin boilerplate (taken from the pmotion-purebasic project), and all the required plugin DLL procedures and internal code needs to be written.

About the Alpha Stage and Branch

For the whole duration of the Alpha development stage all commits will be in the alpha branch, which will ultimately be squashed into master when the first stable release is reached.

Precompiled Binaries

The Alpha branch will contain also the precompiled project files (plugin DLL, an others) to compensate the current lack of releases (which on GitHub allow attachments).

Version controlling compiled binaries is bad practice, but I need to make these precompiled binary previews available to Pro Motion users who don't have a PureBasic license, in order to allow testing and get feedback from them, and I didn't want to resort to external storage services.

Before squashing into master all binaries will be deleted and the project will ignore them from thereon, and the whole alpha branch will be purged from the repository history.

The presence of these precompiled files demands for additional license files in the project, as required by all PureBasic applications:

System Requirements

To create the PMNG plugin and compile other resources in this project, you'll need PureBasic v5.70 LTS x86, which is a commercial product by Fantaisie Software.

Compiling File I/O Plugins

File I/O plugins must be compiled with the following settings in the PureBasic IDE (or the command line):

  • Windows x86 (32 bit)
  • DLL executable, non threadsafe.

Once you've compiled your plugin DLL, you only need to copy it into the plugins subfolder in the installation directory of Pro Motion. Depending on the bitness of your Windows operating system, the path of the plugins folder will be either:

  • 32 bit OS: %ProgramFiles%\cosmigo\Pro Motion NG\plugins\
  • 64 bit OS: %ProgramFiles(x86)%\cosmigo\Pro Motion NG\plugins\

Any plugins inside that folder will be automatically detected when Pro Motion is launched, and made available in the file load/save and import/export dialogs according to where the plugin functionality fits in PMNG context. This means that during development, whenever you updated/recompile your DLL you'll have to close and restart PM.

Since PM is a 32 bit application, the plugin DLL must also be compiled as 32 bit.

License and Credits

This project is © 2019 by Tristano Ajmone, released under the MIT License.

The project utilizes the code from Flype's Module TinyIFF, who kindly granted me permission to reuse and adapt his code without restrictions.

MIT License

Copyright (C) 2019 Tristano Ajmone <tajmone@gmail.com>
                   https://github.com/tajmone/pmotion-amiga-iff

Based on "Module TinyIFF", Copyright (C) 2015 by Flype (permission granted):
https://www.purebasic.fr/french/viewtopic.php?p=175687

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Binary Distribution License

Distribution of precompiled binaries of the Amiga IFF plugin require the ./bin/LICENSE file instead of ./LICENSE because the former also contains due credits and licenses for all the third party components used by the PureBasic compiler to generate the binary executable files, while the latter license only covers the source code.