Cockos
Incorporated
Servicing the elite consumer since 2004
Company : Products : Team : Forum
WDL (whittle)
old versions

WDL is a free and open source C++ library that is designed to be easily used by other code.

Latest version: Old versions:
    WDL v2009.07.04
    • WDL_SharedPool optimizations
    • SWELL: Fixes to carbon window hosting
    • SWELL: drop list tweaks
    • WDL_PtrList: fixed FindSorted() compilation on VC2008
    • Added VC2010 projects for LICE etc
    WDL v2009.07.02
    • SWELL: mouse positioning updates (with synergy2 detection)
    • SWELL: WM_CTLCOLOR*, WM_DISPLAYCHANGE support
    • SWELL: BS_LEFTTEXT support for checkboxes
    • SWELL: Fixed menu item updating for top level submenus
    • SWELL: Implemented TreeView_HitTest
    • SWELL: Exposed API for SetOpaque
    • SWELL: nifty child window debug/diagnostic mode
    • SWELL: (default) options to use non-round buttons etc
    • SWELL: Fixed BitBltAlpha() for LICE sysbitmaps
    • SWELL: Carbon hosted window updates (no menu, activation fixes for BFD2, etc)
    • LICE: 8-bit PNG loading, JPG load from resource support
    • LICE: optimized source alpha w/ constalpha=1.0, other cases
    • virtwnd: listbox text drawing updates
    • LICE: LICE_CachedFont fixes when using both cached fonts and OS rendering
    • WDL_FileRead: support for synchronous unbuffered reads
    • WDL_FileRead/Write: OS X native open()/pread/mmap support (large files and unbuffered reads etc)
    • WDL_String: safer Get() for empty strings (returns read-write pointer)
    • WDL_PtrList: FindSorted / InsertSorted, EmptySafe()
    • WDL_Queue: optimized Compact() to autodetect pointless compacts
    • WDL_MergeSort: optimized for in-order data (stays in place)
    • EEL: safer locking of RAM
    • IPlug: better bitmap caching, jpg loading, x64 support, OS X udpates
    • AudioBufferContainer: supports wet/dry
    • UTF8 support fixes
    • Added WDL_AssocArray
    WDL v2009.04.16
    • UTF-8 support, win32_utf8.cpp for Win32 support (SWELL gets it automatically)
    • LICE: line and circle updates for fractional coordinates
    • LICE: preliminary SVG stuff
    • LICE: CachedFont updates (can render natively if possible and desired, better owned font support)
    • LICE: scaled blitting downsizing uses special filtering
    • LICE: disabled experimental GL extensions by default
    • LICE: better bezier stuff
    • IPlug: OSX URL update, VST parameter index validation, other updates
    • virtwnd: listbox improvements (horizontal mode etc)
    • SWELL: preliminary WM_CTLCOLORDLG support, dialog background updates
    • SWELL: better default button sizing
    • PtrList: InsertSorted() and FindSorted() methods
    • wndsize: margin querying api
    • LAME support handles mono signals better, better search paths
    • added basic blowfish implementation
    • added basic IRC line parsing/formatting functions
    • added incomplete non-working SHM datapipe class
    • convolution engine updates
    WDL v2009.01.18
    • restored LICE bitmap ABI for compatability with older WDL versions
    • Convolution engine optimizations and bugfixes, slightly updated impulse API
    • simple reusable pitch shifter/time stretcher added
    • WDL_Queue autocompact optimizations
    • ADPCM decoder (IMA + MSADPCM + cADPCM), IMA/cADPCM encoder
    • virtwnd comboboxes support SUB tags
    • Vorbis encoder supports multichannel encoding
    • Added LICE_DashedLine
    • LICE_LoadPNGFromNamedResource() for OSX
    • iPlug: added images for example
    • LICE: Preliminary work for allowing LICE operations to be GL accelerated
    • LICE: added effect names to test application
    • LICE: added preliminary SVG support
    • SWELL: Imagelists no longer free their bitmaps (to match win)
    • WDL_WndSizer: reduced chance of HDWP leaks when invalid windows are stored
    • Virtwnd: grayed state for buttons
    • SWELL fixes for BitBlt/StretchBlt() with certain coordinates
    • LICE HSV combining blend modes
    • Plush2 multitexture fixes, fixed source-alpha modes
    • Virtwnd: improved ordering of notification calls to allow deleting a vwnd from a command message
    • WDL_String optimizations for empty strings
    • LICE: line drawing improvements (changed signature of LICE_Line to use integers)
    • SWELL: start on GTK implementations, far away from useful though
    • EEL2 fixes for recent GCC versions on Linux, constness
    • Added WDL_HeapBuf copy constructors
    • LICE: RGB/HSV colorspace conversions
    • LICE: overlay blend modes
    • LICE: Better bezier drawing
    • LICE: improved circle/arc drawing routes
    WDL v2008.11.15
    • LICE JPEG loading fixes, JPEG writing, PNG writing byteorder fixes
    • LICE_FillCircle() (needs optimizing)
    • LICE_LoadImage, LICE_GetImageExtensoinList(),and LICE_CmpBitmap()
    • LICE test app has new "fly" demo
    • LICE: fixed bug in LICE_SubBitmap
    • JNetLib: optional interface modes so you can easily reuse jnetlib across modules
    • LICE: bitmaps no longer flipped on OS X, made isFlipped() non-virtual to enable better compile-time optimization
    • LICE: reduced image resize heap thrashing
    • virtwnd detects at load whether backgrounds have alphachannel info in each section
    • virtwnd backgrounds disable filtering when not stretching
    • LICE: optimizations for 50/50 fills, fast unfiltered stretchblt, etc
    • virtwnd overhauls (removing HICON use)
    • LICE: .ico loading overhaul, support for OS X
    • SWELL: faster BitBlt() support
    • LICE_CachedText OS X fixes
    • LICE: LICE_LoadBMP() OS X support
    • SWELL: GetObject() API subset
    • LICE_MultiplyAddRect updated documentation and internals
    • LICE_IFonts can own/destroy HFONTs
    • LICE: Fixed a lot of small accuracy bugs
    • LICE: PCX reading support
    • Plush2: fixed singletexture mode when only multitexture compiled in
    • Plush2: fixed repeating textures in bilinear mode
    WDL v2008.10.30
    • Wndsizer: margin support
    • Virtwnd: now uses LICE almost exclusively to draw controls
    • Added Plush2: a port of the old 8bpp 3D rendering engine to a C++, 24 bit, LICE-combining multitexture capable colored lighting rendering engine
    • Added LICE_FillTriangle(), LICE_HalveBlitAA(), fixed bug in LICE_StretchedBlit()
    • Added iplug, a VST/AU plug-in framework
    • LICE: LICE_SubBitmap for easy clipped rendering
    • LICE: Added LICE_DrawRect(), LICE_DrawGlyph(), fast tiny circle drawing (glyph based), optimizations to internals
    • LICE: Added LICE_IFont and LICE_CachedFont() for quick drawing and drawing to non-sysbitmaps. Also has certain useful other effects.
    • LICE: Added LICE_DrawBezier
    • Virtwnd: item backgrounds can now specify (with 255,255,0,255) outside-areas for some controls
    • Added mergesort.h
    • Added fast sinewave genereator (sinewavegen.h)
    • SWELL: Keyboard fixes
    • SWELL: Changed the way ScrollWindow() is implemented (scrolls children)
    • Virtwnd: fixes for large canvas drawing
    • Tweaks all around to reduce memory use (WDL_String gets WDL_HeapBuf granularity options etc in constructor)
    • SWELL: Fixed MK_* VK_* bugs
    • Win32_Curses updates, better OS X compatability, block cursor
    • SWELL: ShowWindow(SW_HIDE) DestroyWindow() deal with focus better now
    • Virtwnd: support for querying painter info, etc
    • audiobuffercontainer fixes, optimizations
    • Virtwnd sliders can optionally always send notifications on first click
    • Overhauled pooling classes to be more general and reusable
    • SWELL: Improved EndDialog() processing
    • SWELL: Default menu for windows, modal windows
    • SWELL: made GDI pooling threadsafe (Rosetta on 10.5 requires it)
    • SWELL: fixed shift+mousewheel being sent correctly
    • Fixed issues with Vorbis encoding-EOF-ness for NINJAM, added Vorbis comment support
    • Cleaned up WDL_Queue's endian-converting functions
    • Fixed WDL_String::Ellipsize()
    • Added EEL2, a fast expression evaluator/code compiler that supports x86, x64 and PPC, MSVC and GCC.
  • WDL v2008.07.27
    • SWELL: fixed an issue with OS X hanging on fractional window positions
    • Added WDL_String::Ellipsize()
    • Win64 compatability, wdl_types.h has GetClassLongPtr() etc defines for MSVC6/OSX
    • SWELL: GDI object pooling to reduce heap thrashing
    • wndsize: fixed window positioning bug when used in SWELL.
    • SWELL: LVNI_SELECTED support
    • SWELL: better support for 64 bit OS X 10.5.
    • VirtWnd slider mousewheel fixes
    • SWELL: Treeview API improvements
    • Added WDL_DLGRET for DLGPROC return type to ease compiler differences (use instead of BOOL CALLBACK or UINT_PTR CALLBACK)
    • added win32_curses super-basic curses emulation for windows GUI
    • LICE bitmap allocation changes (safer failures)
    • SWELL: fixed GetCursorPos()/SetCursorPos() relationships
    • SWELL: WM_MBUTTON* support
    • Heapbuf can have optional small pre-allocations, heapbuf trace mode (to monitor heap use)
    • LICE: Better bezierness
    • SWELL: BitBltAlpha() and BitBltAlphaFromMem()
    • WDL_FileWrite: fixed GetSize() at eof before flushing
    • SWELL: many more bugfixes, initial work on 64 bit support, more
    • Virtwnd: userdata for all virtwnd support
  • WDL v2008.05.05
    • SWELL updates (HUGE update including php to convert dialog resources too)
    • LICE: support for quadratic nurbs (yay schwa)
    • fileread: better handling of errors in async mode
  • WDL v2008.02.09
    • lineparser improvements
    • slightly faster drawtext, text cleanups
    • virtwnd buttons only refresh on changes of button images
    • virtwnd buttons support overlay outlines
    • SWELL: php converter for menus: .rc to cpp
    • SWELL: cursor hiding support
    • wndsize: fix for when no window set
    • lice: png write support (thanks cryptomail)
    • shoutcast source: better encoder reinitialization, IRC channel support
    • FFT: more define options
    • convolution engine: fixed some bugs, added test app, _Div mode which allows high-cpu ZL operation
    • LICE: flipped surface support for arcs
  • WDL v2007.12.18
    • SWELL: BM_SETCHECK support for buttons, basic FindWindowEx() emulation, better control font size selection
    • SWELL: Basic ScrollWindow() emulation
    • LICE: Updated LICE_IBitmap to include getDC()
    • SWELL: GetDC(), GetWindowDC() improvements, GetSystemMetrics()
    • SWELL: better WM_MOUSEWHEEL, WM_CONTEXTMENU message propagation
    • SWELL: WM_NCCALCSIZE, WM_NCHITTEST etc support
    • SWELL: basic _controlfp() support for rounding control (on x86)
  • WDL v2007.12.09
    • SWELL: updated documentation in swell.h, GlobalAlloc supports GMEM_FIXED
  • WDL v2007.12.03
    • SWELL: GetProp API support, GetDC/GetWindowDC now usable during WM_PAINT/NCPAINT (they get the same HDC as BeginPaint)
    • SWELL: dialogs can now have their window procedures subclassed, WM_NCPAINT support
    • SWELL: fixed EnumClipboardFormats sometimes getting in an infinite loop
    • SWELL: big DrawText overhaul (now uses NSAttributedString to draw)
    • SWELL: added a bunch more compatibility defines to swell.h
  • WDL v2007.11.23
    • SWELL: tons of menu fixes, dialog fixes, API extensions, more. too much to list.
    • LICE: LICE_line supports flipped surfaces
    • SWELL: Owned window support, tons of updates
    • Virtwnd: support for controls eating mousedowns without capturing
  • WDL v2007.11.09
    • Fixed distribution making to include more docs/etc
    • LICE: Test app now uses SWELL to run on OS X, included OS X example test project
    • SWELL: Extensive updates for child dialogs, modal/modeless dialogs (mouse messages, painting, etc etc)
    • SWELL: Modal/Modeless windows now support having their own menus (via GetMenu/SetMenu)
    • SWELL: Added user-defined control classes for dialog template loading
    • Updated GIFlib config.h for OS X support
  • WDL v2007.10.30
    • LICE: Added bezier drawing (schwa)
    • LICE: GIF, JPEG loading (included JPEG library and GifLib)
    • SWELL: WM_PAINT/BeginPaint/EndPaint emulation for child dialogs
    • SWELL: SendMessage for windows that support it, made virtwnd use sendmessage
    • SWELL: 3-state checkboxes, SetWindowLong improvements, fake *Capture, more
    • SWELL: DialogBox/CreateDialog emulation, timer fixes, tons more
  • WDL v2007.10.24
    • SWELL: DialogBox emulation, timer fixes, more
    • LICE: scwha added LICE_ClipLine()
  • WDL v2007.09.18
    • virtual window system cleanups, sliders have mouse-hiding ctrl+ modifier mode
    • virtual window system listbox custom drawing
    • virtual window system, other improvements
    • filewrite recovers from asynchronous failures from threads quitting
    • pcmfmtcvt: corrected non-standard pcm format conversion
    • LICE: fixed circle drawing with vc6 (template bug)
    • LICE: faster rotating blit (fixed point)
  • WDL v2007.09.01
    • virtwnd: sliders can have centerline color defined in their skininfo
    • LICE: faster more-fixed-point mode for LICE_ScaledBlit
    • LICE: LICE_ScaledBlit properly obeys using a subimage source (and wont filter from outside)
    • added db2val.h for easy dB<-->linear scale conversion
    • virtwnd: stuff to let control bgs and window bg images have pink lines to define unstretched edges
    • virtwnd: added listbox control
    • LICE: defines for disabling Dodge, Add blend modes
    • LICE: updated deltablit, added transformblit
    • LICE: made LICE_FillRect support LICE_MODE_USE_ALPHA
  • WDL v2007.08.21
    • LICE: added LICE_BLIT_MODE_DODGE (thx schwa)
    • LICE: added LICE_Blur, overloaded LICE_Blit() with better parameters
    • LICE: added LICE_FillRect()
    • filewrite: fixed GetSize() after flushed and unflushed writes in async mode
    • virtwnd: made static text labels not refresh if text did not change
  • WDL v2007.08.01
  • WDL v2007.07.23
  • WDL v2007.07.09
  • WDL v2007.07.08
  • WDL v2007.07.03
  • WDL v2007.06.30
  • WDL v2007.06.27
  • WDL v2007.06.17
  • WDL v2007.05.09




Copyright © 2004-2009 Cockos Incorporated