prcs: Producing diffs from 0.58 to purkinje-film.1. Index: 0.58/xcell.g --- 0.58/xcell.g Thu, 30 Mar 2000 16:43:16 +0200 hugo (purkinje/21_xcell.g 1.1.1.6.1.5.2.6.1.1.2.1 644) +++ purkinje-film.1/xcell.g Mon, 21 Aug 2000 12:21:58 +0200 hugo (purkinje/21_xcell.g 1.1.1.6.1.5.2.6.1.1.2.1.1.1 644) @@ -117,6 +117,9 @@ ////////////////////////////////////////////////////////////////////////////// +include movie.g + + //v bool to indicate first toggle for tabchannel has been created int bButtonsCreated = 0 @@ -129,6 +132,10 @@ str strXCLibrary = "XCLib" +//v movie handle for xcell widget + +str xcellMovieHandle = "" + /// /// SH: XCellElectrodeName @@ -1964,13 +1971,46 @@ -offlabel "No Electrodes" \ -script "XCellSetupElectrodes <v>" - //- create label as seperator +/* +** original code from -r 0 +** +*/ +/* //- create label as seperator */ + +/* create xlabel /xcell/sep3 \ */ +/* -xgeom 70% \ */ +/* -ygeom 6:graph.top \ */ +/* -wgeom 30% \ */ +/* -title "" */ + + //- create button for film settings - create xlabel /xcell/sep3 \ + create xbutton /xcell/filmSettings \ -xgeom 70% \ - -ygeom 6:graph.top \ - -wgeom 30% \ - -title "" + -ygeom 4:graph.top \ + -wgeom 20% \ + -title "Settings" \ + -script "echo Film settings" + + //- create toggle to enable filming + + create xtoggle /xcell/filmToggle \ + -xgeom 0:filmSettings.right \ + -ygeom 4:graph.top \ + -wgeom 10% \ + -title "Film" \ + -script "XCellCBScheduleMovie <value>" + + //- remove previous movie images + + sh "rm 2>/dev/null -f /tmp/movies/*" + + //- create movie elements + + sh "mkdir 2>/dev/null /tmp/movies" + + xcellMovieHandle \ + = {MovieCreateElements /xcell/ /tmp/movies/purkinje 0 0} //- create toggle to change normalized / absolute output @@ -2210,6 +2250,66 @@ XCellAddElectrode {path} {electrode} {color} end + end +end + + +/// +/// SH: XCellCBScheduleMovie +/// +/// PA: movieHandle...: movie handle to schedule +/// bOn...........: 1 == schedule, 0 == do not schedule +/// +/// DE: Rechedule a movie handle +/// +/// NO: It seems impossible to pass variable from Xodus script fields, +/// hardcoded {{xcellMovieHandle}} +/// + +function XCellCBScheduleMovie(bOn) + +int bOn + + //- if turn on + + if ( {bOn} == 1 ) + + //- diag's + + echo "Enabling movie "{{xcellMovieHandle}} + + //- schedule + + MovieSchedule \ + {{xcellMovieHandle}} \ + /tmp/movies/purkinje \ + {getstat -step} \ + 10000000 + + //- else if turn off + + elif ( {bOn} == 0 ) + + //- diag's + + echo "Disabling movie "{{xcellMovieHandle}} + + //- schedule + + MovieSchedule \ + {{xcellMovieHandle}} \ + /tmp/movies/purkinje \ + 0 \ + 0 + + //- else + + else + + //- diag's + + echo "XCellCBScheduleMovie : Wrong mode requested for movie" + end end Index: 0.58/TUTORIAL.g --- 0.58/TUTORIAL.g Tue, 04 Jan 2000 15:16:41 +0100 hugo (purkinje/36_TUTORIAL.g 1.1.1.3.1.6.3.1.1.1 640) +++ purkinje-film.1/TUTORIAL.g Mon, 21 Aug 2000 12:21:58 +0200 hugo (purkinje/36_TUTORIAL.g 1.1.1.3.1.6.3.1.1.1.2.1 640) @@ -264,6 +264,10 @@ setclock 10 {dt * 239} +//- set clock for movie elements + +setclock 11 {dt * outputRate} + //- set delay in steps for climbing fiber delaysteps = {delay / dt} Index: 0.58/movie.g --- 0.58/movie.g Thu, 04 Apr 2002 11:33:32 +0200 hugo () +++ purkinje-film.1/movie.g Mon, 21 Aug 2000 12:21:58 +0200 hugo (purkinje/b/8_movie.g 1.1 644) @@ -0,0 +1,217 @@ +// genesis + +int include_movie + +if ( {include_movie} == 0 ) + + include_movie = 1 + + +int movie_static = 0 + + +/// +/// SH: GIFMake +/// +/// PA: xwID....: window ID to create gif file for +/// label...: label to prepend to the file name +/// iBegin..: first step +/// iEnd....: last step +/// +/// DE: Dump gif for window xwID, unique for ({label},{time}) +/// +/// + +function GIFMake(xwID,label,iBegin,iEnd) + +str xwID +str label +int iBegin +int iEnd + + //- get actual step + + str actual = {getstat -step} + + if (actual >= iBegin && actual < iEnd) + +/* + // dump gif file + + xwd -silent -id {xwID} \ + | xwdtopnm \ + | ppmtogif >{label}.{actual}.gif +*/ + + xdump /xcell {label}.{actual}.ppm + end +end + + +/// +/// SH: MovieCreateElements +/// +/// PA: path...: parent xform for created elements (ending in '/') +/// label..: prefix label for filenames +/// iBegin.: first step +/// iEnd...: last step +/// +/// RE: Movie handle +/// +/// DE: Create elements for creating a movie of the given xform +/// Created elements use clock 11 +/// + +function MovieCreateElements(path,label,iBegin,iEnd) + +str path +str label +int iBegin +int iEnd + + //- give diagnostics + + echo "Creating movie elements for "{path}" with label "{label} + + //- create a movie handle + + str movieHandle = { {path} @ "_movie" @ {movie_static} } + + //- create script out + + create script_out {movieHandle} + + //- add and set path field + + addfield {movieHandle} path -description "Path to take snapshots from" + + setfield {movieHandle} \ + path {path} + + //- increment movie element count + + movie_static = {movie_static} + 1 + + //- set clock + + useclock {movieHandle} 11 + + //- set command to create an image at every time step + +/* +** failure of lexical analyzer with this one +** + setfield ^ \ + command {"xwd -silent -id " \ + @ {getfield {path} xwID} \ + @ " | xwdtopnm | ppmtogif >" \ + @ {label} \ + @ ".{getstat -time}" \ + @ ".gif"} +*/ + + setfield {movieHandle} \ + command {"GIFMake " \ + @ {getfield {path} xwID} \ + @ " " \ + @ {label} \ + @ " " \ + @ {iBegin} \ + @ " " \ + @ {iEnd}} + +// create script_out {path}sched + +// useclock ^ 10 + +// setfield ^ command "echo Scheduled at {getstat -time}" + + //- schedule elements + + //call {path}_movie RESET + + reset + + //- return created movie handle + + return {movieHandle} +end + + +/// +/// SH: MovieSchedule +/// +/// PA: handle.: movie handle to schedule +/// label..: prefix label for filenames +/// iBegin.: first step +/// iEnd...: last step +/// +/// DE: Schedule a movie handle +/// +/// first call MovieCreateElements on the given xform to init. +/// + +function MovieSchedule(handle,label,iBegin,iEnd) + +str handle +str label +int iBegin +int iEnd + + //- give diagnostics + + echo "Scheduling movie elements for "{handle}" with label "{label} + + //- set command to create an image at every time step + +/* +** failure of lexical analyzer with this one +** + setfield ^ \ + command {"xwd -silent -id " \ + @ {getfield {path} xwID} \ + @ " | xwdtopnm | ppmtogif >" \ + @ {label} \ + @ ".{getstat -time}" \ + @ ".gif"} +*/ + + //echo "Film for widget : "{getfield {handle} path} + +/* +** script_out cannot handle added fields, {path} not available +*/ +/* setfield {handle} \ */ +/* command {"GIFMake " \ */ +/* @ {getfield {getfield {handle} path} xwID} \ */ +/* @ " " \ */ +/* @ {label} \ */ +/* @ " " \ */ +/* @ {iBegin} \ */ +/* @ " " \ */ +/* @ {iEnd}} */ + +/* +** hardcoded path +*/ + + setfield {handle} \ + command {"GIFMake " \ + @ {getfield "/xcell" xwID} \ + @ " " \ + @ {label} \ + @ " " \ + @ {iBegin} \ + @ " " \ + @ {iEnd}} + + //- schedule elements + + call {handle} RESET + +end + + +end + +