For information about our main software product, the zs4 video compositing system, please visit the zs4 web site at www.zs4.net.




products

linux
osx
win32
bsd

autodox

classtree

source code

t@b WaveMan change history

Version 0.958, build id 0703161351

Version 0.958


Module: tabpix


2007 march 4

removed the include file tab_version.h and replaced it with a global tab_version_macros.h which sits in the root directory for all tab build projects. This has happened in an effort to significantly speed up rebuilding of the project after build numbers are incremented.

2007 feb 20

fixed the method tab_object::SystemLaunchBrowserDoc() so that it works more reliably under windows, including the invocation of the users PREFERRED web browser (firefox) instead of iexplore.exe. This should fix the failure of the F1 (help) key in zs4.

Version 0.957


Module: ftfont


2007 february 12

using now freetype version 2.3 for this plugin. Source for this version of freetype is available on this web site.

Module: tabpix


2007 feb 18

added static "header_only" boolean member to tab_riff32 and tab_mov32 classes. The member can be set using the ParseHeadersOnly(bool) method. This causes the parser to bypass the "movi" list of an avi file.

2007 february 15

added support for FreeImage library which allows the reading of .iff, .pcx, .gif and many more image formats.

Also added support for loading image sequences. This requires the directory containing the images to also contain a *.ini file with a [sequence] group that has four entries for now: "fps=" (frames per second), "width=", "height=" and "select=" (Set by default to a file pattern like "*.jpg"). This *.ini file will indicate to zs4 how to interpret the image sequence in the directory. The files will be sorted by name.

2007 february 13

named struct's and union's which had been un-named thus far.

2007 february 12

using now libexpat version 2.0 for xml parsing (specifically for font configuration files under linux, among other things)

2007 january 30

Modified Direct Draw Surface interface used from DDSD to DDSD2 (DirectX 7).

2007 january 18-19

added a method called AlphaReverse() to tab_bitmap class, added CoInitialize calls to thread startup and the corresponding un-init calls ad thread termination. Cleaned up lots of code in preparation of 64-bit version of ZS4.

2007 january 17

fixed png codec so that it only creates bitmaps for decoded data when neccessary.


Module: kernel


2007 january 19

i_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 10

lots of code has been cleaned up to compile without warning on the latest gcc and ms compilers.

Version 0.953


Module: showaudio


fixes for gcc (GCC) 4.0.3 20051201 (prerelease) (Debian 4.0.2-5)


Module: tabpix


2006 may 10

added method in media stream handles (read mode) which allow the temprary freeing of associated video memory. this happens in the hope memory use during zs4 output generation can be reduced....

2006 april

fixes for gcc (GCC) 4.0.3 20051201 (prerelease) (Debian 4.0.2-5)


Module: kernel


2006 may 10

extended i_timestein class to accomodate the freeing of excess video memory during video compositing and filtering.

Version 0.952


Module: tabfltk


2006 march 3

added color chooser dialog support


Module: guifltk


2006 march 3

added color chooser dialog support


Module: grafix


2006 march 20

made viewselect gadget (tab control) cpp members public, so that the zs4 editor (for example) can add private buttons (for file opening dialog).

2006 march 3

added two methods, SelectRGBQuery() and SelectRGB() to i_gui class, so that a UI implementation under win32 fltk, carbon or sdl may tell an app (zs4) that it supports color choosing, which will allow the addition of color choosing dialogs to the zs4 UI.

Version 0.951


Module: gui_wingdi


2006 feb 23

fixed one potential crash-bug when using close-window button under windows....

Module: grafix


2006 feb 23

changed behaviour of file browser/treeview control such that clicking on a directory name will either expand or refresh that directories listing. collapsing must be done using the little minus (-) button to the left of the directory name.


Module: tabpix


fixed tab_object::Scale32() linear scaler (range overflow issues), which allowed the repair of the wave reader (wav and avi files) such that it now supports 8 bit unsigned wave formats (uncompressed).

Module: kernel


2006 feb 22

added "tracklabel" property to i_timestein class (base class for objects with timelined/tweened properties)

Version 0.950


Module: guifltk


2006 feb 2

we've upgraded to version 1.1.7 of the fltk package, since it had more success building on osx than did 1.1.6. All versions/flavours (osx,linux,win32) are now using the latest rendition of fltk. br

Module: grafix


2006 feb 4

fixed margin handling in string boxes so that the text string boxes observe left and top margin within their bounding boxes.


Module: tabpix


2006 feb 2

made sure that the media player based input filter can not read *.dv files made by iMovie. bummer. but that's billyboy, ain't it...

2006 jan 21


Module: kernel


2006 feb 3

fixed bug where zs4 will not start up (hangs when launching) on both unix systems, osx and linux. this hopefully.

Version 0.949


Module: tabpix


2006 jan 21

added running export-time-stamp methods WriteTimeGet() and WriteTimeSet() to allow zs4 to transmit a relative export time stamp to the export driver (wmv driver specifically).

2006 jan 20

added to methods to tab_filebuf class (win32 only) which serve the purpose of using and accessing wide string information in windows media encoder subsystem, amont others. the methods are:
- tab_error SetFromWideString(WCHAR * wstr);
- static tab_filebuf * VectorizeStringFromWideString(tab_vector * v, WCHAR * wstr, bool unique);

fixed windows media reader to no longer report *.wmv files as a writable format. this is a reader only module (media player nuts and bolts).

Version 0.948


Module: tabaudio_pa


6 jan 2006

addressing gcc compiler warnings

Module: tabpix


2005 12 30

added support for reading and writing *.ini files from this lowest level of tab support code...

Version 0.947


Module: grafix


2005 11 28

removed watermarking from treeitem render method

2005 11 27

altered the text content of the help (former 'about' tab) such that (if the application is zweistein) the t@b on the web link is replaced by a "more info about zs4" link.

2005 11 23

fix: tool tip popups (UI Hints) used to pop up too fast. they are now delayed 1 to 2 seconds. this delay is controlled by the "tooltipdelay" property of the gui object class (static prop).


Module: tabpix


2005 11 126

changed copyright date to include the year 2005

Module: kernel


2005 11 23

invalidate cached time values in more spots, hoping that crashes on delete-keyframe feature will vanish...

Version 0.946


Module: kernel


2005 10 30

optimized get next/prev keyframe for var-envelopes somewhat (again for cases of many key frames or key frame fetches...

2005 10 29

added more sensible caching algos for optimizing interpolation at high key frame frequencies.

2005 10 27

emergency fix. for time variable optimizations. forcing immediate deprication of v0.945

Version 0.945


Module: tabsdl


2005 9 11

mouse wheel support has been fixed/added for this gui driver. now the only missing item is file (and other) dialog support.


Module: tabpix


2005 10 13

added support for rotating a point about something other than the coordinate 0:0 (rotate2D function about an other point)

2005 10 11

when generating an output avi file, the frame rate in the avi headers now reports a rounded value of the actual frame rate. an (ntsc) rate of 29.97 frames per second will be shown as 30 fps.


Module: kernel


2005 09 13

added 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.br

Version 0.944


Module: tabsdl


2005 9 10

started this plugin and got the basix running on both linux and win32, this SDL stuff is really SLICK!!!


Module: cmd


2005 9 10

added support for command line argument "-gui guiobjtype"


Module: grafix


2.h 2005 09 8 enable the (optional elimination of locks in the UI GUI tree. which hopefully makes the UI a tad more snappy


Module: tabpix


2005 9 11

added methods to convert whole bitmaps from rgb 2 yuv and vice versa in a non-planar fashion.

2005 9 10

added tab_bitmap methods to retrieve bitmap pitch and bitmap bits

2005 09 7

added locking and threading logic wich used to be in kernel library. and changed buffer logic to recycle small memory allocations instead of reallocation them.


Module: kernel


2005 09 7

removed buffer, locking and threading logic destined for lower level portability layer.

Version 0.942


Module: tabpix


2005 08 21

added a class tab_dl, designed to support dynamic library loading on a low level. this is primarily for the creation of a FreeFrame client, which requires dynamic loading of FreeFrame plugins. more info on that topic at http://www.freeframe.org

Version 0.941


Module: kernel


2005 august 16

optimized 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.940


Module: guifltk


2005 08 8

fixed file selection prompt so that it shows all files with ALL appropriate extensions by default.

2005 08 6

changed fltk drives such that the file selection dialog no longer shows directories starting with a "." character. (hidden dirs)


Module: tabpix


2005 08 8

fixed SystemWhich() function for linux and osx so that they also recognize files which exists in the current directory ./ /br

2005 08 6

added support for decoding the fourCC code "444P", which i found when dumping the RIFF struction of an mencoder generated AVI files that was scaled.

made tab_object::SystemCommand() abortable...

Version 0.939


Module: showaudio


2005 july 22

added zoom in/out/all buttons for import mode of zs4 editor

2005 july 20

added the ability to display 2 time positions in the wave-peak-display methods, this in the course of allowing zs4 users to create loops and thus necessary for marking an end-loop-position as well as a (start) position marker (snap-marker).


Module: kernel


2005 july 24

fixed "displace-variable-envelope" method in i_primitive class.

2005 july 21

added 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 20

added 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.938


Module: tabfltk


2005 06 28

first cut

Version 0.937


Module: grafix


2005 06 18

fixed font support so that fonts with spaces in the face names have a reasonable chance of being displayed successfully.


Module: kernel


2005 06 17

fixed 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.935


Module: showaudio


2005 june 10

fixed file reader in playback loop to properly fetch samples without repeating every 6th sample or so...


Module: setup


2005 june 5

added a setup constant for the *.t@bsetup files for referencing 3rd pary licenses.

Module: tabpix


2005 06 12

changed compile options for linux from -march=686/pentium4 to -mcpu=686/pentium4. it is hoped that these changes allow the softwaer to run on an opteron as well.

2005 06 7

for linux pentium4 flavour made all TAB(FAST)FLOAT variables 64 bit.

added a bunch ofprimitives to tab_bitmap cpp class, enabling the drawingof lines ellipses, circles, rectangles (filled or outlined)...

Version 0.934


Module: guifltk


2005 05 31

fixed file dialogs to display fave image formats in preview pane (jpg,png,bmp)


Module: tabpix


2005 06 1

minor fix forwriting avi/wav meta INFO list chunk, now should be parseable event by the tabriffdump utility.

improve wav reading speed for reverse reading and random access, cached reading...

Version 0.933


Module: gui_wingdi


2005 05 29

added support for file dialogs in this driver.

Module: guifltk


2005 05 29

added support for file dialogs in this driver.

Module: grafix


2005 05 29

added methods to allow gui drivers ( guifltk , gui_wingdi ) to provide system specific file dialogs, for file selection.

Module: kernel


2005 05 27

fixed 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.932


Module: kernel


2005 05 24

added 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.931


Module: waveman


oops, made sure that waveman is no longer default player for ogg and mp3. (will put back when import logic is fine again...

Module: grafix


2005 05 21

removed legacy video effects since superior items are now available in the mmeditor modules which is the core of the zs2 application.


Module: tabpix


2005 may 18

added a peek-average fetch method to cpp class tab_peek, this happens for frequency sensitive noize gates etc...

Version 0.930


Module: guifltk


2005 05 10

switched upper and lower case for string entries under linux.

Module: grafix


2005 may 5

started circle drag tool. this is a new drawing feedback tool which, unlike "oval" uses the start point of the drag as center and the distance between start and end point of the drag as radius.

Module: tabpix


2005 may 12

the class tab_af_imagio, which "streamifies" still images has been changed to report the stream duration as 30 seconds.

2005 may 11

included some metainformation into the output file (wav and avi). this is a RIFF info chunk with engineer=user, software=zs4-kernel, etc, overridable by the property keyvalues fron the cpp object "tab_af_wavio".

allow the extension "zsv" for zs4 generated avi files. this allows a motion-png video which the win32 media player cannot read to be renamed with an extension of ".zsv", which allows zs4 to read the avi file using its on parser and internal codecs, bypassing wmp shortcomings.


Module: kernel


2005 may 9

added support for variable envelope scaling in the i_primitive object

2005 may 8

added 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.929


Module: grafix


2005 may 1

major overhaul of t@b object class registrations, such that the registration methods are static and no longer require c++ instance of the t@b class to proceed with type registration. this was done since it seemed to help with the kernel module.

Version 0.928


Module: tabpix


2005 april 28

after revisiting complaints about a video import limit of about 3.5 minutes in the win32 (ms-player-reader), expanded some stuff to 64 integral values in the hopes that this will address the acusations... :)

Version 0.927


Module: showaudio


2005 april 19

ensuring that progress is displayed when a video stream is opened and the peek file generation is in progress. this will hopefully indicate to the user that the program is NOT frozen, but analyzing the opened file....


Module: grafix


2005 april 19

made internal classes of i_surface exportable for windows...


Module: tabpix


2005 april 24

attempt to fix jpeg still frame encode bug (default quality was wrongly 0 instead of 90...

2005 april 21

added nifty, mutant, additive blend to tab_bitmap::RotMovScale(), this was done for supportingsome higher level pattern generation algos...


Module: kernel


2005 april 24

eliminated quality parameter from i_timestein::GetVideo() and i_timestein::GetVideoMixdown() since the quality argument is now kept in the timestein_params object.

2005 april 19

cleaned up kernel class registration, so that all registration for this module takes place in static cpp methods (faster and uses less stack).br

Version 0.926


Module: tabpix


2005 april 11

added shortcut method to tab_bitmap which combines init/copy functions into a new CopInit() method...


Module: kernel


2005 april 15

fixed 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 13

added a host of items, namely timestein variables for z-position and z-size, which will be used for audio AND video mixing

also 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.923


Module: guifltk


2005 01 26 (sun)

reversed caps-lock change for linux.

Module: showaudio


2005 feb 5

fixed the problem with the normalize toggle in the export tab. this affects the waveman application such that the "not normalized"/"normalized" button surface reflects the true procedure during export...

2005 feb 3

hacked class document_audiopeek thinggie to avoid excessive re-scanning for peek-file-creation. this should imroove average open-file performance

2005 feb 2

groundhog day. modified showaudio class so that
files with video only can be imported as well. the control, upon open, simply goes to the video tab ihnstead of the wave tab if such a audio-less file is opened.

2005 jan 31

added an internal import mode flag. this causes the showaudio component to display a more minimal UI if it is impedded in applications via a showaudio derivative... in short, mekkit look different when embedded in zs4.


Module: grafix


2005-feb-18

treeitems now have to more style tokens. "background-color-currentitem" is used for the background color of the +/- and icon gadgets if the treeitem is the one and only "current" item of the containing treeview.

"background-color-selected" is used for the background color of the treeitems name-string if the select-state if the treeitem is "on" (multiple) treeitems may be selected at the same time.

2005-feb-16

most shortcut keys are no longer case sensitive. this also due to case confusion in fltk.

2005-feb-10

added more style keywords, particularly for th alignment of background images.

2005-feb-5

added style keywords "margin" "margin-left" "margin-top" "margin-right" "margin-bottom" as well as "width" and "height". interpretation of these style keywords is not fully complete, but it is now possible to set top margins for tab buttons...

2005-jan-26

the toggle gadget now supports toggled skinning of background images, i hope. this a response to skinning complaints from the CEO dept. this appears to include also a background skinning bug.br

2005-jan-24

the digmap and digslides objects has been changed to allow HOME and END keys to bring the slide show the the first, respectively last picture.

an attempt has been made to fix the "input disregarded" bug in the digmap object. as a result the slide show should respond to EVERY bit of user input.


Module: tabpix


2005 02 2 (wed, Jan 26)

groundhog day. made wrapper to allow the fiewing of still images (jpg etc) as media streams. fixed length = 10 secs.... this means that ui objects like showaudio and mmeditor now are capable of viewing jpg and other images as if they were streams. this affects waveman and zweistein (zs4) products.

2005 01 26 (wed, Jan 26)

internal audio-samples per second has been increased to 48 kHz, to be in line with popular DVD requirements. there is a hit on audio playback performance (~15%)

Module: kernel


2005 feb 13

added 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.922


Module: guifltk


2005 01 23 (sun)

the following items have changed. hoping for feedback:
- no more CAPS lock reversal on keyboard input. for linux this used to be brocken and i reversed the case of asci chars. no more

the fltk interface now shows both, the system mouse pointer as well as the t@b pointer. this mainly due to the fact that setting a blank cursor caused nasty results on osx panther. (10.2?)

2005 01 19 (wed, Jan 19)

fixed bug where the caps-lock key seems to be in the wrong toggle state either linux or darwin. now use a #define to generate a upper/lower case toggle for ascii keyboard events.

Module: showaudio


2005 jan 22

updated the slide show tab to be as consistent with the new digslides object int grafix module as possible. this means that, at the least, the left and right array keys are going to work to move from one slide to the next/previous. there's a real chance that the refresh key (F5) will start the slides from the beginning.

Module: waveman


2005-01-22 (sat/jan)

nu eyekons have been sponsored by ariana.

Module: grafix


2005-jan-19

encapsulated digmap object in new gadget/canvas type "digslides". this for easy inclusion of "recent-digs-slideshow" into any application.

if the digslides object has a "showimages" parent gadget then clicking on a slide will send the image to the showimages control (fotoman).

futhermore the digslides control responds to the standard "Refresh" function key (F5) which will attemt to update the slide show with the latest (un-)digs.

Module: document_dig


2005-jan-19

the default number of digs has been increased 5-fold to 500, resulting in longer slide shows, reaching further into the past...

Module: tabpix


2005 01 12 (wed, Jan 12)

made raw 24 bpp win-bump encoder for "uncompressed" avi co(dec). this should also mean that (without further mucking) the fotoman should be capable of exporting *.bmp files (by specifying that extension in the file name) and the command line utility tabconvert(.exe) should now actually succeed in converting to that image format.

Version 0.921


Module: tabaudio_pa


ported to osx. now used as osx sound module.

Module: guifltk


ported this one to osx. now its used instead of the module guicarbon

Module: showaudio


2004 end

removed (temporarily?) the events tab from that waveman application display

Version 0.920 and earlier


Module: kernel


2005 jan 2

started 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.920


Module: grafix


2004 12 16 (December 16)

changed export fotoman dig so that one may specify an extension ".png" for exporting png files.

added more infos to the tabout class. results: the "about" tab in tab applications provides now a "t@b on the web" button, which reminds our user whence the software cometh from, plus a cuppel copyright remarks.

the about tab has also received some german translations.

Module: tabpix


2004 12 26 (sun)

now got an avi parser which can (for now) extract audio from avi files. this in the course of creating a raw-uncompressed-avi writer for both zweistein 3.01 as well zs4

2004 12 22 (wed)

added proper support for gradient transparency in win32 icon loader. added support for 1 bpp monochrome cursors and icons with proper boolean transparency.

Version 0.919


Module: guifltk


2004 12 17

this module (since fltk already does it) now loads *xbm, *.xpm and even some *.gif images. not very usefull, but marginally cute...

and, oops, also: *.pnm *.pbm *.pgm *.ppm , again courtesy of the VERY, VERY nice folx at http://www.fltk.org/

Module: tabpix


2004-12-15

fixed string to color conversion. the fomats now permissible are:
- "rgb[a]" (hex values 0-f, alpha digit optional
- "rrggbb[aa]" (hex values 00-fff, alpha digits optional
- "red", "green", "blue", "orange", "yellow" etc...

2004-12-18

fixed 32 bit format reading for wav files... so at this point the wav reader can handle 16 bit (type 1) waves of (hopefully) all sample reates and channel counts, as well as 32 bit wave files (type 1 and 3)

Version 0.918 and earlier


Module: showaudio


2004-11-13-Sat

an insane amount of program changes have affected this module...

directly inside this module:
* the addition of an export tab allowing sections of the viewed audio file to be exporting with normalization, fade-in and fade-out (all optional)
* a new tab has been added will (soon) govern the management of audio events within sample streams. (yes, we're serious about this)
* enabled the selection of amplitude ranges (up to two amplitudes per channel). this is done by drawing rectangles in the wave display while holding the SHIFT key.
* a completely and utterly beautifull frequency display has been added on a per-channel basis. the display can of course be easily turned on and off.
* the peekfile content has been extended to also include basic frequency statistics for 10 bands ranging from 50 to 15000 Hz (roughly, likely more)

and indirectly through modifications in tabpix , tabaudio and document_mswav among others...

... and the addition of the modules document_mp3, document_ogg and document_msplayer

which of course primarily affects the product waveman .

2004-10-20-Mon

fixed pause button behavious. now pause stops playback WITHOUT seeking to start (setting position to beginning of file/selection)

fixed load-while-play crash, methinx

2004-10-18-Mon

added an audio dig feature to the showaudio logic. this includes a simple "dig" button (banana-bunch), for memorizing sections (selections) from the currently displayed wave file. and a "next-dig" button to move from one selection to an other.

2004-10-12-Tue

Not offering playback device choice if there are less than 2 devices available. this typically saves the UI space used for a device-choice gadget. now also properly resetting media position when new audio file is opened.

also, when a clip completes playing the "current-play-position" is automatically reset to zero (the beginning), so that the user only needs to press "play" once more for hearing the same tune again...

2004-09-27-Mon

hmmm, theres been a shitload of progress here... the module plays now wav files back on both linux and billyboy. billyboy of course sounds like crap, since nobody cares to deal with the stoopid ms interfaces...

2004-09-17-Mon

instigate this module

Module: waveman


2004-11-23-Tue

the file selection now only reads files which this program hopes to read/load. no more .html files listed, for example. this has been accomplished by a simple, wide ranging change in modlue grafix .

2004-10-10-Sun

inaugural cvs commit

Module: setup


2004-11-24-Tue

setup now sports a lizzard on the left side edge of its window, including a 90 rotated string which identifies the software being installed precisely during the whole course of installation.

2004-11-14-Mon

installer now adheres to color scheeme of fotoman and waveman.

2004-10-19-Mon

Altered Installer so that it can be run from the command line with an "-a" or "-auto" or "-automatic" option. this runs on some systems even though the (default) interactive mode might not.

2004-10-12-Tue

altered installer, so that it never asks again: "want desktop icons?" or "want associations". the installer now simply adds the t@b abs as context handler into nautilus, konqueror and ms-explorer. shortens the installation (less clicks) and still makes the apps available....

2004-09-06-Mon

added the ability to prompt the user if she want file associations established between the installed program and mime-types and/or file extensions.

2004-09-04-Sat

the setup program now checks for the existence of enlitenment and icewm desktops and proposes installation of icons on those desktops only if they exists and have been initialized. gnome and kde desktops are assumed to exist.

2004-08-30-Mon

the setup has been extended to ask the user if she likes to install icons/shortcuts on all available desktops. This currently includes kde,gnome,icewm and the enlightenment desktops...

it should also be noted that the setup utility does not actually link itself to gnome or kde libs or anything similar. thus the support for all those desktops is somewhat spotty.

an other change to the setup is the fact that upon completion it tells the user which directory the software was installed to.

Module: grafix


2004-11-24-Tue

added mothod to i_bitmap allowing the adoption of an i_gadget-contained font.

2004-11-23-Tue

enabled the folderview gadget to optionally filter for "directories only" or a set of file extensions, this has been used in the plugin module showaudio and mmeditor (products: fotoman , waveman and soon as well zweistein )

2004-10-27-Sat

a whole bunch o things have been done in the last month or so:

fixed. highlighting mix logic for string boxes and background rendering.

new i_toggle gadget class
new i_dig_video class
new i_export_dig class

on top of this there have been a HUGE i_showimages changes, which manifests itself mostly in the fotoman application.

2004-09-18-Sat

fixed crash resulting from recursively enabling/disabling complex widgets

2004-09-12-Sun

added i_vfx_r_rot180 raster-reader

fixed the graying of save button in showimages (fotoman) control. this results now in proper display of .ico .bmp and .cur files under win32 systems. in addition to this images should no longer get lost on the fly just cuz they cannot save themselves...

2004-09-09-Wed

turns out that the user can get itself into quita a big mess with the way we allows keyboard shortcuts to be on-the-fly user-programmed... from now on the user may only program ADDITIONAL keyboard shortcuts.

2004-09-08-Wed

the grafix library now supports "dragtools" a generic mechanism that allows the sub-classing of the following procedure: "conversion of mouse-drag operations into object input, including visual feedback.

2004-09-02-Thu

made sure that the kernel version number appers on some more gui application windows. specifically the generic t@b gui window.

fixed the handling/rendering of png transparencies in the image redering which is ultimately used in applets like fotoman.

started working on a generic sprite layer, primarily targeted at handling more user interface things.

2004-08-30-Mon

well, changed a shitload of stuff in this module.

1: removed to i_popup cpp class and the corresponding t@b class "popup", since internal policy has decreed that nothing shall popup in our gui (and remind people of IE). this move also gives us openings for lotsa optimizations, cuz popped up layers required a pile of (now unnecessary) logic.

2: changed the "layout_render_parent" for stringboxes, and adjusted some of the string refresh logic, so that meta info and bitmap info about string and fonts are used to reduce the number of times that a string is examind/measured/rendered.

3: changed the "Children[]" member of the gadget object to be declared with the volatile keyword. and have the i_editobject class/interface write-protect volatile objects.

2004-08-30-Sun

changed a lot of stuff around. hopefully treeviews are now faster. on top of this the tabbing for object viewers should have improved a bit...

2004-08-29-Sat

added a few (about 4) cpp classes for dealing with the browsing of type faces. this is now at a point where most typeface objects which the system can load, can also be viewed. not solved is the problem of making assignments between type faces and other objects.

2004-08-27 Fri

the issue with keyboard shortcuts has now come up. added a enumeration class "guieventkey" for a internationalizable set of shortcut keys. the system will now accept CTRL-Key combinations while hovering over buttons. this will cause that button to be assigned to the respective key.

Module: desktop


2004-09-06-Mon

added support virtual methods in the desktop cpp class, which allow file associations to be prompted for and then installed/established.

2004-08-30

added two more linux desktops (skelleton only) these are enlightenment and icewm.

Module: document_dig


august-26-2004

started this module, this hopefully will be the main document format for zweistein 4.0.

Module: tabaudio


2004-11-13

we have in the meantime moved to provide audio-digs and several improvents in our general audio logic:

new inner class audiodoc_filter in class i_document_audio. the audiodoc_filter class extends the tab_audiofilter class int the tabpic module and thus assists in making all plugins derived from i_document_audio to be accessed via the low level audio streaming logic now contained in the tabpix module.

September-2004

yes we-ve started dealing with sound devices and sound architecture on both linux and windows. while the billyboy system lacks from a "cumbersommest" api malady, the ALSA architecture under linux offers quite a lot (with a fairly sane API). sebtember now has seen audio playback, even on windows.

Module: tabaudio_linux


2004-10-20-Mon

fixed SUSE audio by NOT using the alsa function snd_asoundlib_version(). it may be noted though, that the crash occurred cuz used the expression wrongly.... as int snd_asoundlib_version (without brakets ())

2004-10-19-Tue

hmmm, after beeing fairly successfull under mandrake linux, our audio engine failed miserably under SUSE. we (for various reasons) are switching to the dynamically (load-time) linked library for linux in the hopes that this might work under SUSE...

1004-09-26

aha, audio has become such a hot topic at t@b, we made the audio glue actually utter noise (under linux)

2004-09-13

fixed dependencies, cuz this plugin wouldnt load under linux because i failed to link it with tabaudio.so

Module: tabpix


2004-11-13

much things have happened lately to this module since the improvements in imaging. most of all we have extended this collection of multimedia primitives with many audio processing features:

list of new object classes:
* tab_audiofilter, this object is now our basic building block for a pull-based processing logic, including file input filters as using the i_document_audio in module tabaudio
* audiofilter tab_af_basic extends tab_audiofilter and provides 10 band frequency measurement on a per channel basis.
* audiofilter tab_af_basic_stats extends tab_af_basic and provides accumulated amplitude statistics for all frequency stripes of all channels of an audio stream.
* utility object tab_af_chanprops for storing the properties of single channel audio chunks. props include amplitude per frequency band, overall amplitude, start and duration of the chunk
* utility object tab_af_chanprops_accu, for accumulating/averaging running properties stashed in tab_af_chanprops
* audiofilter tab_af_mswav represents to ms-wave code moved here from the plugin module document_mswav. it, of course, extends tab_audiofilter

2004-09-03-Fri

changed the minimum and maximum scaling factors to 256 (1/256 respectively) and achieve an overall scaling range where the highest possible magnification is more than 50000 X of the lowest possible magnification.

added a simple anti-aliasing capability to the (mix-)scaler. this is what sorta had some kinda causal connection with the 50000X scaler.

2004-09-02-Thu

added a mix (blend alpha source) mode to the screen scaler, and underneath that, the tab_bitmap class. also moved the inline code from the tab_bitmap.h file to the tab_bitmap.cpp file. no need to advertise our guerilla-coding-tactix...

changed the minimum and maximum scaling factors to 64 (1/64 respectively) and achieve an overall scaling range where the highest possible magnification is more than 4000 X of the lowest possible magnification.

Module: kernel


2004-11-01-Mon

added 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-Sat

fixed 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-Sat

added #define TABTICKS_PER_SECOND (1000000). this should help scale machine/performance and bitaccuracy at least a tad....

2004-09-16-Sat

fixed error in filebuf preallocation both 32 and 64 bit versions

2004-09-04-Sat

bumped version number to 0.908, since this will be the next release.

2004-09-02-Mon

bumped version number to 0.907, since this will be the next release.

2004-08-30-Mon

added 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 member

august-26-2004

added 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-2004

at 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 history

this 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.