|
|
![]() products linux osx win32 bsd autodox classtree source code | kernelVersion 0.958, build id 0703161351Module Descriptionbase classes for it all. arrays, vectors, streams, files, threads, file system as well as the primitive classes for the tab object system and scripting logic, script parser/interpreter end other goodies.
depends on: tabpix Module HistoryVersion: 0.9572007 january 19i_timestein class has 6 new bits in the "Flags" property. they relate to the intrinsic video compositing logic. Also added was a corresponding method Flags2Bitmap() which allows the processing of these flags (FlipX, FlipY, Alpha on/of/reverse) from any object enheriting from i_timestein (video file readers, video effects etc.). The flags added are typically processed right after the input or effect filter received frame data, before any other processing is applied.2007 january 10lots of code has been cleaned up to compile without warning on the latest gcc and ms compilers.Version: 0.9532006 may 10extended i_timestein class to accomodate the freeing of excess video memory during video compositing and filtering.Version: 0.9512006 feb 22added "tracklabel" property to i_timestein class (base class for objects with timelined/tweened properties)Version: 0.9502006 feb 3fixed bug where zs4 will not start up (hangs when launching) on both unix systems, osx and linux. this hopefully.Version: 0.9472005 11 23invalidate cached time values in more spots, hoping that crashes on delete-keyframe feature will vanish...Version: 0.9462005 10 30optimized get next/prev keyframe for var-envelopes somewhat (again for cases of many key frames or key frame fetches...2005 10 29added more sensible caching algos for optimizing interpolation at high key frame frequencies.Version: 0.9462005 10 27emergency fix. for time variable optimizations. forcing immediate deprication of v0.945Version: 0.9452005 09 13added a member pointer cache for time values, so that the members time and object in these time/object pairs need not be retrieved over and over. also started to correspondingle use optimized member access for this data type.brVersion: 0.9442005 09 7removed buffer, locking and threading logic destined for lower level portability layer.Version: 0.9412005 august 16optimized the retrievel of envelope values. (time-varying control values) using binary search strategy.added a pseudo 3D element to basic compositing, which requires the video mixer to have the pseudo-depth flag set, plus the zposition/zmove variable of the corresponding child tracks. Version: 0.9392005 july 24fixed "displace-variable-envelope" method in i_primitive class.2005 july 21added 4 member primitives to timestein object class: BeatsPerMinute, TicksPerBeat, BeatsPerBar and BarsPerPart. this for the purposeof zs4 "remembering" musical timing on a per-track basis.2005 july 20added the ability looping capability to the audio/video compositing methods. this is the functionality for smoothly blending both audio and video signals in loops.Version: 0.9372005 06 17fixed the envelope rendering for non-floating point time variables (strings). the result are vertical yellow (key-frame-)lines whereever in a track that the value of a variable (string) changes.Version: 0.9332005 05 27fixed the definition of the "Media Time Offset" variable so that the minimum value is the LOWER value. (this used to mess up the usability of time mapping.Version: 0.9322005 05 24added virtaul method void i_timestein::DrawUserInterfaceAides(tab_bitmap * frame, tabticks at); this happens to enable improved visual feedback in derivative classes (video effects).Version: 0.9302005 may 9added support for variable envelope scaling in the i_primitive object2005 may 8added support for better auto documentation in the class timestein and all of it's child/derived classes. the extension specifically handles tweener dependent, timed properties and lists those with links on the devel site (this site).Version: 0.9272005 april 24eliminated quality parameter from i_timestein::GetVideo() and i_timestein::GetVideoMixdown() since the quality argument is now kept in the timestein_params object.2005 april 19cleaned up kernel class registration, so that all registration for this module takes place in static cpp methods (faster and uses less stack).brVersion: 0.9262005 april 15fixed the center or source bitmap in compositing logic: now the center of a video clip is always the center of the source-cropping rectangle, adjusted by the source-center variables. this should be corresponding better with "intuition" now.2005 april 13added a host of items, namely timestein variables for z-position and z-size, which will be used for audio AND video mixingalso added a new base class amix , which serves the purpose of hooking up pan knobs on a mixer interface, with alternative sound- positioning algorithms, like legacy (analog) pan knobs, openAL gaming style positioning of sound, openGL positioning of ojects or custom positioning algorithms. this includes NO IMPLEMENTATION of any sound positioning yet. 2D video positioning has previously worked. Version: 0.9232005 feb 13added timed-variable capability. this allows the properties to mutate in function of time. used for zwobel stobel. in particular the rendering for value-curves over time has been but into the kernel module.Version: 0.920 and earlier2005 jan 2started attacking port of module "kernel", the tab "orb", to osx. notably have no high accuracy clock for osx and thus used the standard "C" function time() and getting micros by multiplying seconds * 1000000. OUCH!.hmm i'll just blame steve. Version: 0.918 and earlier2004-11-01-Monadded method a_object::which(const char *cmd, a_filebuf * ret); this method will be used to check to local system(path) for and executable called "cmd"...2004-09-20-Satfixed a_subfile class as follows: the ReadBlock() method is no longer implemented via ReadChar() because this slowed down the wave file reader to the point where audio was aonly heard in annoying fragments... but alas! its no longer a problem ( i hope )2004-09-20-Satadded #define TABTICKS_PER_SECOND (1000000). this should help scale machine/performance and bitaccuracy at least a tad....2004-09-16-Satfixed error in filebuf preallocation both 32 and 64 bit versions2004-09-04-Satbumped version number to 0.908, since this will be the next release.2004-09-02-Monbumped version number to 0.907, since this will be the next release.2004-08-30-Monadded the VolatileGet/Set() method pair to the i_object interface. this one goes hand in hand with the new flag bit "volatile" in the object flags memberaugust-26-2004added a t@b class called "long", a 64 bit integer, which will be used as high resolution time index for multimedia functionality. this will be a funcamental pillar of "dig" functionality. In addition to this there-s also a timefloat (old zs functionality) now in the kernel, but using the high precision (64 bit, above) time index for tweening, allowing every audio sample to have its very own effect settings.august-24-2004at this point the kernel provides generic file/stream io for all platforms, multi-treading, locking and the base class set for t@b objects like arrays, vectors, (ring-)buffers, interpreter, plugin loader script parser and others...ancient historythis kernel was first put together in a little system called tass (thut application support system) first on the commodore amiga (mid-late 1980s) and then windows (mid 90s). on the pc it mainly served the purpose of generating multi (second) session content for multi-session music CDs. it offered then an alternative to license-dependent authoring systems and produced in essence a static html website to go with the audio tracks on a music CD. the kernel was later found in the famous thugs at bay video editing system called zweistein (1999-2004), and then an a server suite called x2x router (separate branch of code, by thugs at bay) which included calendar, database, smtp, pop3, telnet, x2x, chat among other things.Defines T@B-Script Classesamix, array, bool, bytes, call, char, class, classname, classname_amix, classname_classname, classname_stream, classname_tweener, connect_how, document, document_folder, document_object, document_script, document_text, enum, enumid, file, flagbit, flags, float, float021, float121, floatmmd, history, int, keepalive, kernel_info, keyvalue, keyvalues, label, language, localfile, long, num, object, object_peer, password, primitive, process, result, scriptcomment, scriptkeyword, scriptspecialchar, scripttoken, server, server_peers, server_stdio, stream, string, stringmatcher, stringtext, tabticks, text, timepropinfo, timestein, timevalue, timevalues, tsflags, tweener, tweenolin, tweensquare, tweenweird1, vendorname, zs4_FullRotations, zs4_MediaTimeOffset, zs4_OutputOpacity, zs4_OutputPositionX, zs4_OutputPositionY, zs4_OutputPositionZ, zs4_OutputSizeX, zs4_OutputSizeY, zs4_OutputSizeZ, zs4_RotationAngle, zs4_SourceCenterX, zs4_SourceCenterY, zs4_SourceCenterZ, zs4_SourceCropBottom, zs4_SourceCropLeft, zs4_SourceCropRight, zs4_SourceCropTop, zs4_SourceOpacity, zs4_SourceVolume, zs4_TimeVariables |