]> git.sesse.net Git - casparcg/commitdiff
[CHANGELOG] Updated for release of 2.1.0 Beta 1
authorHelge Norberg <helge.norberg@svt.se>
Tue, 15 Nov 2016 19:30:57 +0000 (20:30 +0100)
committerHelge Norberg <helge.norberg@svt.se>
Tue, 15 Nov 2016 19:30:57 +0000 (20:30 +0100)
CHANGELOG

index 104d7a5a809339511cb858bf5f2c3b3a500a4ebe..0afa3fed648b6cfe67630ac1a8025f2d18a69cef 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,16 +1,34 @@
 C H A N G E S\r
 \r
-CasparCG 2.1.0 (w.r.t 2.0 Stable)\r
-=================================\r
+CasparCG 2.1.0 Beta 1 (w.r.t 2.0.7 Stable)\r
+==========================================\r
 \r
 General\r
 -------\r
 \r
   o 64 bit!\r
+  o Linux support!\r
+    + Moved to CMake build system for better platform independence.\r
+      + Contributions before build system switch (not w.r.t 2.0.7 Stable):\r
+        + gitrev.bat adaptions for 2.1 (Thomas Kaltz III).\r
+    + Thanks to our already heavy use of the pimpl idiom, abstracting platform\r
+      specifics was easily done by having different versions of the .cpp files\r
+      included in the build depending on target platform. No #ifdef necessary,\r
+      except for in header only platform specific code.\r
+    + Flash, Bluefish and NewTek modules are not ported to the Linux build.\r
+    + Contributions during development (not w.r.t 2.0.7 Stable):\r
+      + Fixed compilation problems in Linux build (Dimitry Ishenko).\r
+      + Fixed compilation problem in GCC 5 (Krzysztof Pyrkosz).\r
+      + Fixed thumbnail image saving on Linux (Krzysztof Pyrkosz).\r
+      + Fixed compilation problem in PSD module (Krzysztof Pyrkosz).\r
   o Major code refactoring:\r
     + Mixer abstraction so different implementations can be created. Currently\r
-      CPU mixer and GPU mixer (previously the usage of the GPU was ) exists.\r
+      CPU mixer and GPU mixer (previously the usage of the GPU was mandatory)\r
+      exists.\r
     + Flattened folder structure for easier inclusion of header files.\r
+    + Many classes renamed to better describe the abstractions they provide.\r
+    + Sink parameters usually taken by value and moved into place instead of\r
+      taken by const reference as previously done.\r
     + Old Windows specific AsyncEventServer class has been replaced by platform\r
       independent implementation based on Boost.Asio.\r
     + Pimpl classes are now stack allocated with internal shared_ptr to\r
@@ -19,74 +37,186 @@ General
       of via safe_ptr/shared_ptr, because they are internally reference counted.\r
     + Protocol strategies are now easier to implement correctly, because of\r
       separation of state between different client connections.\r
-    + Much more...\r
-  o Data files are now stored in UTF-8 with BOM. Latin1 files are still\r
-    supported for backwards compatibility\r
-  o Commands written in UTF-8 to log file but only ascii characters to console.\r
-  o Added supported video formats:\r
-    + 720p2398 (not supported by decklink)\r
-    + 720p2400 (not supported by decklink)\r
-    + 1080p5994\r
-    + 1080p6000\r
-    + 720p30 (not supported by decklink)\r
-    + 720p29.976 (not supported by decklink)\r
+    + Complete AMCP command refactoring.\r
+    + On-line help system that forces the developer to document AMCP commands,\r
+      producer syntaxes and consumer syntaxes making the documentation coupled\r
+      to the code, which is great.\r
+      + Added missing help for VERSION command (Jesper Stærkær).\r
+    + Upgraded Windows build to target Visual Studio 2015 making it possible to\r
+      use the C++11 features also supported by GCC 4.8 which is targeted on\r
+      Linux.\r
+      + Fixed compilation problems in Visual Studio 2015 Update 1\r
+        (Roman Tarasov)\r
+    + Created abstraction of the different forms of templates (flash, html, psd\r
+      and scene). Each module registers itself as a CG producer provides. All CG\r
+      commands transparently works with all of them.\r
+    + Audio mixer now uses double samples instead of float samples to fully\r
+      accommodate all int32 samples.\r
+    + Reduced coupling between core and modules (and modules and modules):\r
+      + Modules can register system info providers to contribute to INFO SYSTEM.\r
+      + XML configuration factories for adding support for new consumer elements\r
+        in casparcg.config.\r
+      + Server startup hooks can be registered (used by HTML producer to fork\r
+        its sub process).\r
+      + Version providers can contribute content to the VERSION command.\r
+  o Refactored multichannel audio support to use FFmpeg's PAN filter and\r
+    simplified the configuration a lot.\r
+  o Upgraded most third party libraries we depend on.\r
+  o Some unit tests have been created.\r
+  o Renamed README.txt to README, CHANGES.txt to CHANGELOG and LICENSE.txt to\r
+    LICENSE\r
+  o Created README.md for github front page in addition to README which is\r
+    distributed with builds.\r
+  o README file updates (Jonas Hummelstrand).\r
+  o Created BUILDING file describing how to build the server on Windows and\r
+    Linux.\r
+  o Diagnostics:\r
+    + Now also sent over OSC.\r
+    + Diag window is now scrollable and without squeezing of graphs.\r
+    + Contextual information such as video channel and video layer now included\r
+      in graphs.\r
+  o Logging:\r
+    + Implemented a TCP server, simply sending every log line to each connected\r
+      client. Default port is 3250.\r
+    + Changed default log level to info and moved debug statements that are\r
+      interesting in a production system to info.\r
+    + Try to not log full stack traces when user error is the cause. Stacktraces\r
+      should ideally only be logged when a system error or a programming error\r
+      has occurred.\r
+    + More contextual information about an error added to exceptions. An example\r
+      of this is that XML configuration errors now cause the XPath of the error\r
+      is logged.\r
+    + Improved the readability of the log format.\r
+    + Added optional calltrace.log for logging method calls. Allows for trace\r
+      logging to be enabled while calltracing is disabled etc.\r
 \r
 OSC\r
 ---\r
 \r
-  o Technical information about the current state of the server is published via\r
-    the OSC protocol via different subjects.\r
-  o Examples of information published:\r
-    + Different performance metrics.\r
-    + Producer names\r
-    + Producer specific information\r
-    + Consumer names.\r
-    + Consumer specific information.\r
-\r
-CLK\r
----\r
-\r
-  o CLK protocol implementation can now serve more than one connection at a time\r
-    safely.\r
-  o Added timeline support to the CLK protocol.\r
-  o Refactored parts of the CLK parser implementation.\r
+  o Improved message formatting performance.\r
+  o Added possibility to disable sending OSC to connected AMCP clients.\r
+  o Fixed inconsistent element name predefined_client to predefined-client in\r
+    casparcg.config (Krzysztof Pyrkosz).\r
 \r
 Consumers\r
 ---------\r
 \r
-  o Consumers on same channel now invoked asynchronously to allow for proper\r
-    sync of multiple consumers.\r
   o System audio consumer:\r
-    + No longer provides sync to caspar.\r
     + Pushes data to openal instead of being callbacked by SFML when data is\r
       needed.\r
+    + Added possibility to specify the expected delay in the sound card. Might\r
+      help get better consumer synchronization.\r
   o Screen consumer:\r
-    + Support for multiple screen consumers on the same channel\r
-    + No longer spin-waits for vsync\r
-    + Now deinterlaces to two separate frames so for example 50i will no longer\r
-      be converted to 25p but instead to 50p for smooth playback of interlaced\r
-      content.\r
-\r
+    + Added mouse interaction support, usable by the producers running on the\r
+      video channel.\r
+  o FFmpeg consumer:\r
+    + Replaced by Streaming Consumer after it was adapted to support everything\r
+      that FFmpeg Consumer did.\r
+    + Added support for recording all audio channels into separate mono audio\r
+      streams.\r
+    + Now sends recording progress via OSC.\r
+  o SyncTo consumer:\r
+    + New in 2.1.0.\r
+    + Allows the pace of a channel to follow another channel. This is useful for\r
+      virtual "precomp" channels without a DeckLink consumer to pace it.\r
+  o DeckLink consumer:\r
+    + Added workaround for timescale bug found in Decklink SDK 10.7.\r
+    + Now ScheduledFrameCompleted is no longer only used for video scheduling\r
+      but for audio as well, simplifying the code a lot.\r
+  o iVGA consumer:\r
+    + No longer provides sync to the video channel.\r
+    + Supports NewTek NDI out of the box just by upgrading the\r
+      Processing.AirSend library.\r
+  \r
 Producers\r
 ---------\r
 \r
+  o Scene producer:\r
+    + New in 2.1.0.\r
+    + Utilizes CasparCG concepts such as producers, mixer transforms and uses\r
+      them in a nested way to form infinite number of sub layers. Think movie\r
+      clip in Flash.\r
+    + A scene consists of variables, layers, timelines and marks (intro and\r
+      outro for example).\r
+    + Mostly for use by other producers but comes with a XML based producer that\r
+      is a registered CG producer and shows up in TLS.\r
+    + Enables frame accurate compositions and animations.\r
+    + Has a powerful variable binding system (think expressions in After Effects\r
+      or JavaFX Bindings).\r
+  o PSD producer:\r
+    + New in 2.1.0.\r
+    + Parses PSD files and sets up a scene for the Scene producer to display.\r
+    + Text layers based on CG parameters.\r
+    + Supports Photoshop timeline.\r
+    + Uses Photoshop comment key-frames to describe where intro and outro (CG\r
+      PLAY and CG STOP) should be in the timeline.\r
+    + Shows up as regular templates in TLS.\r
+  o Text producer:\r
+    + New in 2.1.0.\r
+    + Renders text using FreeType library.\r
+    + Is used by the PSD producer for dynamic text layers.\r
   o Image scroll producer:\r
-    + Field-rate motion instead of frame-rate motion with interlaced video\r
-      formats. This can be overridden by giving the PROGRESSIVE parameter.\r
-    + SPEED parameter now defines pixels per frame/field instead of half pixels\r
-      per frame. The scrolling direction is also reversed so SPEED 0.5 is the\r
-      previous equivalent of SPEED -1. Movements are done with subpixel accuracy\r
-    + Fixed incorrect starting position of image.\r
-    + Rounding error fixes to allow for more exact scrolling.\r
-    + Added support for motion blur via a new BLUR parameter\r
-    + Added PREMULTIPLY parameter to support images stored with straight alpha.\r
+    + Speed can be changed while running using a CALL. The speed change can be\r
+      tweened.\r
+    + Added support for an absolute end time so that the duration is calculated\r
+      based on when PLAY is called for shows when an exact end time is\r
+      important.\r
+  o Image producer:\r
+    + Fixed bug where too large (OpenGL limit) images were accepted, causing\r
+      problems during thumbnail generation.\r
+  o Framerate producer:\r
+    + New in 2.1.0.\r
+    + Wraps a producer with one framerate and converts it to another. It is not\r
+      usable on its own but is utilized in the FFmpeg producer and the DeckLink\r
+      consumer.\r
+    + Supports different interpolation algorithms. Currently a no-op\r
+      drop-and-repeat mode and a two different frame blending modes.\r
+    + It also supports changing the speed on demand with tweening support.\r
+  o FFmpeg producer:\r
+    + Supports decoding all audio streams from a clip. Useful with .mxf files\r
+      which usually have separate mono streams for every audio channel.\r
+    + No longer do framerate conversion (half or double), but delegates that\r
+      task to the Framerate producer.\r
+    + Added support for v4l2 devices.\r
+    + Added relative and "from end" seeking (Dimitry Ishenko).\r
+    + Contributions during development (not w.r.t 2.0.7 Stable):\r
+      + Fixed 100% CPU problem on clip EOF (Peter Keuter, Robert Nagy).\r
+      + Constrained SEEK within the length of a clip (Dimitry Ishenko).\r
+      + Fixed a regular expression (Dimitry Ishenko).\r
+  o DeckLink producer:\r
+    + No longer do framerate conversion (half or double), but delegates that\r
+      task to the Framerate producer.\r
+  o Route producer:\r
+    + Added possibility to delay frames routed from a layer or a channel.\r
+  o HTML Producer:\r
+    + Disabled web security in HTML Producer (Robert Nagy).\r
+    + Reimplemented requestAnimationFrame handling in Javascript instead of C++.\r
+    + Implemented cancelAnimationFrame.\r
+    + Increased animation smoothness in HTML Producer with interlaced video\r
+      modes.\r
+    + Added remote debugging support.\r
+    + Added mouse interaction support by utilizing the Screen consumer's new\r
+      interaction support.\r
+  o Flash Producer:\r
+    + Contributions during development (not w.r.t 2.0.7 Stable):\r
+      + Workaround for flickering with high CPU usage and CPU accelerator\r
+        (Robert Nagy)\r
 \r
 AMCP\r
 ----\r
 \r
-  o DATA STORE now supports creating folders of path specified if they does not\r
-    exist.\r
-  o DATA REMOVE command was added.\r
+  o TLS has a new column for "template type" for clients that want to\r
+    differentiate between html and flash for example.\r
+  o SET CHANNEL_LAYOUT added to be able to change the audio channel layout of a\r
+    video channel at runtime.\r
+  o HELP command added for accessing the new on-line help system.\r
+  o FLS added to list the fonts usable by the Text producer.\r
+  o LOCK command added for controlling/gaining exclusive access to a video\r
+    channel.\r
+  o LOG CATEGORY command added to enable/disable the new log categories.\r
+  o SWAP command now optionally supports swapping the transforms as well as the\r
+    layers.\r
+  o VERSION command can now provide CEF version.\r
 \r
 \r
 \r
@@ -105,8 +235,8 @@ General
     empty/late first frame when the producer is called before the consumer in\r
     the other end has received the first frame.\r
   o Added rudimentary support for audio for layer_producer and channel_producer.\r
-  o Upgraded Decklink SDK to 10.1.4, bringing new 2K and 4K DCI video modes. New\r
-    template hosts also availble for those modes.\r
+  o Upgraded DeckLink SDK to 10.1.4, bringing new 2K and 4K DCI video modes. New\r
+    template hosts also available for those modes.\r
   o General bug fixes (mostly memory and resource leaks, some serious).\r
   o Updated Boost to version 1.57\r
   o Frontend no longer maintained and therefore not included in the release.\r
@@ -129,27 +259,27 @@ AMCP
   o Added RESUME command to complement PAUSE. (Peter Keuter)\r
   o To support the new mixer features the following commands has been added:\r
 \r
-    - MIXER ANCHOR -- will return or modify the anchor point for a layer\r
+    + MIXER ANCHOR -- will return or modify the anchor point for a layer\r
       (default is 0 0 for backwards compatibility). Example:\r
       MIXER 1-10 ANCHOR 0.5 0.5\r
       ...for changing the anchor to the middle of the layer\r
       (a MIXER 1-10 FILL 0.5 0.5 1 1 will be necessary to place the layer at the\r
       same place on screen as it was before).\r
 \r
-    - MIXER ROTATION -- will return or modify the angle of which a layer is\r
+    + MIXER ROTATION -- will return or modify the angle of which a layer is\r
       rotated by (clockwise degrees) around the point specified by ANCHOR.\r
 \r
-    - MIXER PERSPECTIVE -- will return or modify the corners of the perspective\r
+    + MIXER PERSPECTIVE -- will return or modify the corners of the perspective\r
       transformation of a layer. One X Y pair for each corner (order upper left,\r
       upper right, lower right and lower left). Example:\r
       MIXER 1-10 PERSPECTIVE 0.4 0.4 0.6 0.4 1 1 0 1\r
 \r
-    - MIXER MIPMAP -- will return or modify whether to enable mipmapping of\r
+    + MIXER MIPMAP -- will return or modify whether to enable mipmapping of\r
       textures produced on a layer. Only frames produced after a change will be\r
       affected. So for example image_producer will not be affected while the\r
       image is displayed.\r
 \r
-    - MIXER CROP -- will return or modify how textures on a layer will be\r
+    + MIXER CROP -- will return or modify how textures on a layer will be\r
       cropped. One X Y pair each for the upper left corner and for the lower\r
       right corner.\r
 \r
@@ -196,7 +326,7 @@ CasparCG Server 2.0.7 Beta 2 (as compared to CasparCG Server 2.0.7 Beta 1)
 General\r
 -------\r
 \r
-  o Added sendings of OSC messages for channel_grid channel in addition to\r
+  o Added sending of OSC messages for channel_grid channel in addition to\r
     regular channels.\r
 \r
 Producers\r
@@ -211,7 +341,7 @@ Consumers
   o channel_consumer: Added support for more than one channel_consumer per\r
     channel.\r
   o decklink_consumer: Added support for a single instance of the consumer to\r
-    manage a separate key output for use with decklink duo/quad cards:\r
+    manage a separate key output for use with DeckLink Duo/Quad cards:\r
 \r
     <decklink>\r
       <device>1</device>\r
@@ -293,7 +423,7 @@ General
   o Frontend: Only writes elements to casparcg.config which overrides a default\r
     value to keep the file as compact as possible.\r
   o System audio: Patched sfml-audio to work better with oal-consumer and\r
-    therefore removed portaudio as the system audio implementation and went back\r
+    therefore removed PortAudio as the system audio implementation and went back\r
     to oal.\r
   o Flash: Changed so that the initial buffer fill of frames is rendered at a\r
     frame-duration pace instead of as fast as possible. Otherwise time based\r
@@ -340,7 +470,7 @@ Consumers
     requiring video card(s) in the CasparCG Server machine, or taking up inputs\r
     in the TriCaster. <newtek-ivga /> element in config enables iVGA on a\r
     channel. (Robert Nagy sponsored by NewTek)\r
-  o Decklink: Created custom decklink allocator to reduce the memory footprint.\r
+  o DeckLink: Created custom decklink allocator to reduce the memory footprint.\r
   o Replaced usage of SFML for <system-audio /> with PortAudio, because of\r
     problems with SFML since change to static linkage. Also PortAudio seems to\r
     give lower latency.\r
@@ -360,7 +490,7 @@ Producers
 OSC\r
 ---\r
   o Performance improvements. (Robert Nagy sponsored by Boffins Technologies)\r
-  o Never sends old values to OSC reveivers. Collects the latest value of each\r
+  o Never sends old values to OSC receivers. Collects the latest value of each\r
     path logged since last UDP send, and sends the new UDP packet (to each\r
     subscribing OSC receiver) with the values collected. (Robert Nagy sponsored\r
     by Boffins Technologies)\r
@@ -490,7 +620,7 @@ AMCP
     MIXER 1-1 CHROMA GREEN|BLUE 0.10 0.04\r
     (Cambell Prince)\r
   o Fixed bug where MIXER FILL overrides any previous MIXER CLIP on the same\r
-    layer. The bugfix also has the side effect of supporting negative scale on\r
+    layer. The bug-fix also has the side effect of supporting negative scale on\r
     MIXER FILL, causing the image to be flipped.\r
   o MIXER <ch> STRAIGHT_ALPHA_OUTPUT added to control whether to output straight\r
     alpha or not.\r
@@ -573,14 +703,14 @@ Consumers
   o Consumers on same channel now invoked asynchronously to allow for proper\r
     sync of multiple consumers.\r
   o System audio consumer:\r
-    + no longer provides sync to caspar.\r
+    + no longer provides sync to the video channel.\r
   o Screen consumer:\r
     + Support for multiple screen consumers on the same channel\r
-    + No longer spin-waits for vsync\r
+    + No longer spin-waits for vsync.\r
     + Now deinterlaces to two separate frames so for example 50i will no longer\r
       be converted to 25p but instead to 50p for smooth playback of interlaced\r
       content.\r
-  o Decklink consumer now logs whether a reference signal is detected or not.\r
+  o DeckLink consumer now logs whether a reference signal is detected or not.\r
 \r
 Producers\r
 ---------\r
@@ -590,7 +720,8 @@ Producers
       formats. This can be overridden by giving the PROGRESSIVE parameter.\r
     + SPEED parameter now defines pixels per frame/field instead of half pixels\r
       per frame. The scrolling direction is also reversed so SPEED 0.5 is the\r
-      previous equivalent of SPEED -1. Movements are done with subpixel accuracy\r
+      previous equivalent of SPEED -1. Movements are done with sub-pixel\r
+      accuracy.\r
     + Fixed incorrect starting position of image.\r
     + Rounding error fixes to allow for more exact scrolling.\r
     + Added support for motion blur via a new BLUR parameter\r
@@ -636,12 +767,12 @@ Consumers
   o File Consumer added\r
     + See updated wiki or ask in forum for more information.\r
     + Should support anything FFmpeg supports. However, we will work mainly with\r
-      DNXHD, PRORES and H264.\r
+      DNxHD, PRORES and H264.\r
     - Key-only is not supported.\r
   o Bluefish Consumer\r
     + 24 bit audio support.\r
     - Embedded-audio does not work with Epoch cards.\r
-  o Decklink Consumer\r
+  o DeckLink Consumer\r
     + Low latency enabled by default.\r
     + Added graphs for driver buffers.\r
   o Screen Consumer\r
@@ -653,8 +784,8 @@ Consumers
 Producers\r
 ---------\r
 \r
-  o Decklink Producer\r
-    + Improved color quality be avoiding uneccessary conversion to BGRA.\r
+  o DeckLink Producer\r
+    + Improved color quality be avoiding unnecessary conversion to BGRA.\r
   o FFMPEG Producer\r
     + Fixed missing alpha for (RGB)A formats when deinterlacing.\r
     + Updated buffering to work better with files with long audio/video\r
@@ -672,7 +803,7 @@ Producers
   o Flash Producer\r
     + Release Flash Player when empty.\r
     + Use native resolution TemplateHost.\r
-    + TemplateHosts are now choosen automatically if not configured. The\r
+    + TemplateHosts are now chosen automatically if not configured. The\r
       TemplateHost with the corresponding video-mode name is now chosen.\r
     + Use square pixel dimensions.\r
 \r
@@ -728,7 +859,7 @@ CasparCG Server 2.0 Beta 1 (as compared to Alpha)
     + multiply\r
     + and many more.\r
   o Added additive keyer in addition to linear keyer.\r
-  o Image adjustements\r
+  o Image adjustments\r
     + saturation\r
     + brightness\r
     + contrast\r
@@ -744,14 +875,14 @@ CasparCG Server 2.0 Beta 1 (as compared to Alpha)
     + box blur\r
     + and many more\r
   o 32-bit SSE optimized audio pipeline.\r
-  o Decklink-Consumer uses external-key by default.\r
-  o Decklink-Consumer has 24 bit embedded-audio support.\r
-  o Decklink-Producer has 24 bit embedded-audio support.\r
-  o LOADBG with AUTO feature which automatically playes queued clip when\r
+  o DeckLink-Consumer uses external-key by default.\r
+  o DeckLink-Consumer has 24 bit embedded-audio support.\r
+  o DeckLink-Producer has 24 bit embedded-audio support.\r
+  o LOADBG with AUTO feature which automatically plays queued clip when\r
     foreground clip has ended.\r
   o STATUS command for layers.\r
   o LOG LEVEL command for log filtering.\r
-  o MIX transitation work with transparent clips.\r
+  o MIX transition works with transparent clips.\r
   o Freeze on last frame.\r
   o Producer buffering is now configurable.\r
   o Consumer buffering is now configurable.\r
@@ -765,7 +896,7 @@ CasparCG Server 2.0 Beta 1 (as compared to Alpha)
     + doubling (25p -> 50p)\r
     + halfing (50p -> 25p)\r
     + field-order swap (upper <-> lower)\r
-  o Screen consumer now automatically deinterlaces when receiveing interlaced\r
+  o Screen consumer now automatically deinterlaces when receiving interlaced\r
     content.\r
   o Optimized renderer.\r
   o Renderer can now be run asynchronously with producer by using a\r
@@ -775,17 +906,17 @@ CasparCG Server 2.0 Beta 1 (as compared to Alpha)
   o Added Image-Scroll-Producer.\r
   o Key-only has now near zero performance overhead.\r
   o Reduced memory requirements.\r
-  o Removed "warm up lag" which occured when playing the first media clip after\r
+  o Removed "warm up lag" which occurred when playing the first media clip after\r
     the server has started.\r
   o Added read-back fence for OpenGL device for improved multi-channel\r
     performance.\r
   o Memory support increased from standard 2 GB to 4 GB on 64 bit Win 7 OS.\r
-  o Added support for 2* Decklink cards in FullHD.\r
+  o Added support for 2* DeckLink cards in Full HD.\r
   o Misc bugs fixes and performance improvements.\r
   o Color producer now support some color codes in addition to color codes, e.g.\r
     EMPTY, BLACK, RED etc...\r
   o Alpha value in color codes is now optional.\r
-  o More than 2 Decklink cards might be possible but have not yet been tested.\r
+  o More than 2 DeckLink cards might be possible but have not yet been tested.\r
 \r
 \r
 \r
@@ -795,12 +926,12 @@ CasparCG Server 2.0 Alpha (as compared to 1.8)
 General\r
 -------\r
 \r
-  o Mayor refactoring for improved readability and mainainability.\r
-  o Some work towards platorm-independence. Currently the greatest challenge for\r
-    full platform-independence is flash-producer.\r
+  o Mayor refactoring for improved readability and maintainability.\r
+  o Some work towards platform-independence. Currently the greatest challenge\r
+    for full platform-independence is flash-producer.\r
   o Misc improved scalability.\r
   o XML-configuration.\r
-  o Decklink\r
+  o DeckLink\r
     + Support for multiple DeckLink cards.\r
 \r
 Core\r
@@ -825,71 +956,71 @@ Mixer
 \r
   o Animated tween transforms.\r
   o Image-Mixer\r
-    + Fully GPU accelerated (all features listed below are done on the gpu),\r
+    + Fully GPU accelerated (all features listed below are done on the GPU),\r
     + Layer composition.\r
-    + Colorspaces (rgba, bgra, argb, yuv, yuva, yuv-hd, yuva-hd).\r
+    + Color spaces (rgba, bgra, argb, yuv, yuva, yuv-hd, yuva-hd).\r
     + Interlacing.\r
-    + Per-layer image-transforms:\r
+    + Per-layer image transforms:\r
       + Opacity\r
       + Gain\r
       + Scaling\r
       + Clipping\r
       + Translation\r
-  o Audio-Mixer\r
-    + Per-layer and per-sample audio-transforms:\r
+  o Audio Mixer\r
+    + Per-layer and per-sample audio transforms:\r
         + Gain\r
-    + Fully internal audio-mixing. Single output-video_channel.\r
+    + Fully internal audio mixing. Single output video_channel.\r
 \r
 Consumers\r
 ---------\r
 \r
-  o Decklink-Consumer\r
+  o DeckLink Consumer\r
     + Embedded audio.\r
     + HD support.\r
     + Hardware clock.\r
-  o Bluefish-Consumer\r
+  o Bluefish Consumer\r
     + Drivers are loaded on-demand (server now runs on computers without\r
-      installed bluefish-drivers).\r
-    + Embedded-audio.\r
+      installed Bluefish drivers).\r
+    + Embedded audio.\r
     + Allocated frames are no longer leaked.\r
 \r
 Producers\r
 ---------\r
 \r
-  o Decklink-Producer\r
+  o Decklink Producer\r
     + Embedded audio.\r
     + HD support.\r
-  o Color-Producer\r
+  o Color Producer\r
     + GPU accelerated.\r
-  o FFMPEG-Producer\r
+  o FFMPEG Producer\r
     + Asynchronous file IO.\r
     + Parallel decoding of audio and video.\r
-    + Colorspace transform are moved to gpu.\r
-  o Transition-Producer\r
-    + Fully interlaced transition (previsously only progressive, even when\r
+    + Color space transform are moved to GPU.\r
+  o Transition Producer\r
+    + Fully interlaced transition (previously only progressive, even when\r
       running in interlaced mode).\r
     + Per-sample mixing between source and destination clips.\r
     + Tween transitions.\r
-  o Flash-Producer\r
-    + DirectDraw access (sligthly improved performance).\r
+  o Flash Producer\r
+    + DirectDraw access (slightly improved performance).\r
     + Improved time-sync. Smoother animations and proper interlacing.\r
-  o Image-Producer\r
-    + Support for various imageformats through FreeImage library.\r
+  o Image Producer\r
+    + Support for various image formats through FreeImage library.\r
 \r
 Diagnostics\r
 -----------\r
 \r
   o Graphs for monitoring performance and events.\r
   o Misc logging improvements.\r
-  o Seperate log-file for every run of the server.\r
+  o Separate log file for every run of the server.\r
   o Error logging provides full exception details, instead of only printing that\r
-    an error has occured.\r
+    an error has occurred.\r
   o Console with real-time logging output.\r
   o Console with AMCP input.\r
 \r
 Removed\r
 -------\r
 \r
-  o Registry-configuration (replaced by XML-Configuration).\r
-  o TGA-Producer (replaced by Image-Producer).\r
-  o TGA-Scroll-Producer\r
+  o Registry configuration (replaced by XML Configuration).\r
+  o TGA Producer (replaced by Image Producer).\r
+  o TGA Scroll Producer\r