Read text from a file : I wrote a plugin
-
Hello,
I needed to be able to read a text file in Isadora so I wrote a plugin using the Isadora SDK. Thought it would be nice to share it ;) You will precisely know how to use it by reading the actor's help tooltips, but here is a summary: INPUTS: - file path (file to read) - linebreak mode used to write the file (Windows CR+LF, Unix LF, Mac CR) - read mode (whole text, only 1 character, only 1 line, only 1 paragraph) - start (When read mode is set to 'whole text' or 'char', this parameter will tell the actor from which character to begin reading. When read mode is set to 'line' or paragraph', you will be able to choose which line/paragraph number you will read.) - auto-read on input change (except linebreak mode and input triggers) - reset output trigger (clean the output text and 'file available' output on/off switch) - manual read trigger OUTPUTS: - output text - on/off parameter to tell the user if the given input file is readable - 'file has been read' trigger ABOUT LINEBREAKS: Depending on which OS is used to create the text file, new lines have a different format. More info here: [http://en.wikipedia.org/wiki/Line_break_(computing)](http://en.wikipedia.org/wiki/Line_break_(computing)) Therefore, your file has to use proper formatting according to the OS under which you run Isadora (you can convert your text files using external advanced text editors). NOTE: This plugin has not been tested extensively, so there may still be bugs. In particular, it has only been tested under Windows, so if something doesn't work, just post it below and I'll check. IN THE ATTACHED ZIP FILE: - Windows DLL (just drop it into isadora_install_directory/Isadora Plugins) - 2 Visual studio 2010 source files, in case you want to convert it to xCode or just look a it Enjoy ;)![faec48-scrshot.jpg](/uploads/files/FileUpload/b0/faec48-scrshot.jpg) [c0ce56-readtextfromfile-v1.0-pack.zip](/uploads/files/FileUpload/f1/c0ce56-readtextfromfile-v1.0-pack.zip)
-
Magnificent .
Thank you for sharing it. -
Thanks...exactly what I need for my game patch. I will investigate it this weekend and ask questions if I have any.
-
THANK YOU!!!!!
-
You're welcome, guys ;)
-
So cool! Thank you.
-
Brilliant! Thanks.
-
really great!
-
;)
-
Thanks again Djinoui,
as a mac user i need to compile? (I don't know how to do it in fact sorry)Armando -
djinoul: I am like Armando; a Mac user who does not know how to compile. Can you help us?
-
Sorry, I don't know, I'm not into Mac programming. Mark converted my last plugin to xCode, you may find more info about it on its thread: http://forum.troikatronix.com/forum/Isadora_C2/User_Patches%2C_Tips_%26_Tricks_F7/Layering_%26_background_removal_%3A_Flood_Fill_Mask_actor_P13235/
(Though I suppose the main source .cpp & .h files did not change during conversion...) -
Hi,
Thank you for the plugin.
But as others how do I install it on Mac?
Can anyone explain?Thanx
Amos
-
Made a quick How-To:
http://youtu.be/hdYzN3W6ZMQ -
-
Ah it's Windows.... thats the .dll
I believe you do the exact the same as I have done in my video but replace the ReadTextFromFile.izzyplug with ReadTextFromFile.dllHope this helps. -
No it's the opposite!
The files included in this post are .dll but I need to install it on a Mac
Thanks
Amos
-
In that case you need to convert it to xCode and export it as an .izzyplug
I'm afraid I have no idea how to do that... it would be great of someone made a tutorial - any takers? -
Once you have downloaded the SDk you get this info in the installer, which can be saved as a PDF:
Using the SDK
Once the SDK is installed, open the IsadoraSDK folder. Within it you will find the "Isadora Plugin Wizard" application which will assist you in creating a basic plugin project that you can customize for your own use. To use the wizard, do the following:
1. Double click the Isadora Plugin Wizard application and click "Continue" from the startup dialog.
2. Enter your developer ID. This text string used to generate the bundle identifier that will uniquely identify your plugin to the Apple operating system, e.g., TroikaTronix's ID is "troikatronix". Do not use any special characters or spaces within this text. Once you've entered your ID, click "OK". (Note: the ID will be remembered the next time you run the wizard.)
3. Enter the name of your new plugin. This text will be used to name the folder containing the new project, the XCode project itself, and the plugin name as seen by Isadora. This text may contain spaces, but it is generally a bad idea to include special characters. Once you've entered the plugin name, click "OK".
4. The wizard will now copy and configure a new XCode project according to your specifications, and then automatically open it in XCode.
Compiling
The plugin references the IsadoraLib folder which is installed, by default, at /Developer/IsadoraSDK. This folder contains the "IsadoraLib.a" static library that provides useful functionality to the plugin as well as the include files necessary to interface the plugin with the library and with Isadora itself.
After a successful compile, the plugin will be copied to the folder at /Library/Application Support/ TroikaTronix/Isadora Plugins or /Library/Application Support/TroikaTronix/Isadora Controls as appropriate. This ensures that Isadora will "see" the plugin when you debug it. (Note, support for these new plugin folders was added with Isadora v1.3.0f13; previous versions do not recognize these folders.)
-
I think Graham is right. I don't know xCode but I assume you have to start a new project using the Isadora Wizard. Make sure you call it ReadTextFromFile for simplicity.
Once you have done this (and your blank .cpp file is created), you'll have to integrate my changes into your project (.cpp/.h files). Try copying both files into the source folder of your blank project, thus replacing your .cpp (back it up first, just in case). Compile. If it doesn't work, you'll have to restore your backup .cpp and integrate my code manually.
Once again, I didn't try this myself. If it works, don't hesitate to post it in this forum, I'm sure the community would be thankful!