/* Graphik Import mittels MetaView */

METAVIEW = ':Aminet/MetaView/MetaView'    /* Please complete the path */

OPTIONS RESULTS
SIGNAL ON FAILURE
SIGNAL ON SYNTAX

/*
** Looking for our start process
*/

ARTPORT = ADDRESS()
say ARTPORT
if (LEFT(ARTPORT, 10) ~= "ArtStudio") then do /* not started from ArtStudio */
    say "Please start me from ArtStudio!"
    EXIT
end

/*
** Create a new Metaview process:
** first look for the allready running processes
** then the new Port will be the next one
*/

do NUMBER = 0 to 20
    if (SHOW(PORTS,"METAVIEW." || NUMBER) = 0) then
    leave
end

/*
** Searching for MetaView: 1. our path above,
**    2. path in env:MetaView.path
** or 3. you must have a assign "MetaView:"
*/

if (EXISTS(METAVIEW)=0) then do
    if OPEN("MVVAR","env:MetaView.path","Read") then do
        METAVIEW = READLN("MVVAR")
    end
    if (EXISTS(METAVIEW)=0) then do
        METAVIEW = "MetaView:MetaView"
    end
end

/*
** Enable warnings for WaitForPort
*/

OPTIONS FAILAT 5
ADDRESS COMMAND
    "run " || METAVIEW || " NODISPLAY"
    MVPORT = "METAVIEW." || NUMBER
    "WaitForPort " || MVPORT

/*
** Ignore the other errors
*/

OPTIONS FAILAT 21

/*
** Do all needed thinks with MetaView (LOAD,SAVE,QUIT...)
*/

ADDRESS VALUE MVPORT
    REQUESTFILE "Bilder:"
    FILENAME = result
    LOAD FILENAME
    SAVE "t:test.ilbm" AS ILBM
    QUIT

/*
**  Import the temporary file in application
*/

ADDRESS COMMAND
    "ECHO" VALUE FILENAME ">t:infotext"

ADDRESS VALUE ARTPORT
    LOAD "t:test.ilbm"
    SETINFOTEXT "t:infotext"

EXIT

FAILURE:
    ADDRESS COMMAND
    REQUESTCHOICE "Error" """Can't find" METAVIEW "!""" "OK"
    EXIT

SYNTAX:
    say "Error on line" SIGL ":" ERRORTEXT(RC) "!"
    EXIT
