Helge Norberg [Wed, 4 Mar 2015 14:12:28 +0000 (15:12 +0100)]
- Fixed diag to work with new SFML version.
- Added thread local contextual information which currently include channel and layer where applicable (used by diag).
- Created graph_sink abstraction, separating diag backend from diag API.
- Bundled liberation fonts for use with SFML font rendering.
- In addition to ordinary diag OSD window backend an OSC backend has also been implemented:
/diag/[graph_id]/text <string> for the name of the graph
/diag/[graph_id]/color/[value-name] <int> for the 32-bit rgba value of the color for the tag or value with the a given name.
/diag/[graph_id]/context/channel <int> for the channel that the graph concerns (if any)
/diag/[graph_id]/context/layer <int> for the layer that the graph concerns (if any)
/diag/[graph_id]/value/[value-name] <float> for the value generally within 0.0 <= n <= 1.0
/diag/[graph_id]/tag/[value-name] only sent when an "event" happens, like a dropped frame or similar. Generally no values are sent for value-names dedicated for tagging.
Helge Norberg [Fri, 20 Feb 2015 20:47:19 +0000 (21:47 +0100)]
Created template alias for std::vector<T, tbb::cache_aligned_allocator<T>> to caspar::cache_aligned_vector<T> which we use heavily throughout the code.
Helge Norberg [Thu, 12 Feb 2015 15:52:55 +0000 (16:52 +0100)]
* Upgraded to Visual Studio 2013
* Notable changes needed because of boost upgrade:
- custom async implementation removed in favor of std::async. (boost::async still does not have support for deferred launch policy).
- std::future instead of boost::future throughout the code because of above change.
- std::future requires default constructibility, so for example caspar::array has been affected. spl::shared_ptr has been changed to std::shared_ptr in cases where required.
- boost.log changes adopted from 2.0.7.
* Fixed bugs where some OpenGL resources was not destructed on ogl thread.
* Fixed audio cadence issues in ffmpeg producer.
Helge Norberg [Wed, 11 Feb 2015 11:55:39 +0000 (12:55 +0100)]
Updated some libraries to newer versions and/or versions compiled for vc12 (freeimage, gtest, sfml and tbb). The changes in our code will come in a separate commit for easier viewing of changes.
Helge Norberg [Wed, 11 Feb 2015 10:21:37 +0000 (11:21 +0100)]
Updated boost. Separate commit from the code changes. (So this revision will not compile, but it will be easier to view the actual code changes in the separate commit)
Misc modifications to fix problems found by static code analysis and some simplifications, like removal of copy constructors and copy assignment operators where the default would do the same. Also some resource handling improvements
niklaspandersson [Fri, 30 Aug 2013 09:54:14 +0000 (11:54 +0200)]
Manually merged 77fbc02 from master
Manually merged 597805e from master
Manually merged 78c8a30 from master
Manually merged 306459b from master
Manually merged 55a287b from master
Manually merged 50fa7a3 from master
Manually merged 0f3ee44 from master
Manually merged 1cdee8b from master
niklaspandersson [Fri, 30 Aug 2013 09:54:14 +0000 (11:54 +0200)]
Manually merged 77fbc02 from master
Manually merged 597805e from master
Manually merged 78c8a30 from master
Manually merged 306459b from master
Manually merged 55a287b from master
Manually merged 50fa7a3 from master
Manually merged 0f3ee44 from master
Manually merged 1cdee8b from master
niklaspandersson [Mon, 19 Aug 2013 08:17:30 +0000 (10:17 +0200)]
* new way of mapping font-name to font-file. Using postscript font-name instead of the mapping found i the registry.
* extracting unicode layer-name from psd-files.
* implemented lifecycle-bound functions in caspar::io::connection
* refactored caspar::io::connection to avoid circular references
* moved delimiter-chunking logic out from AMCPProtocolStrategy and CIIProtocolStrategy. They now depend on being wrapped by a delimiter_based_chunking_strategy
preparing for allowing producers to supply own geometry:
* moved generation of texture coordinates for background-texture to vertex-shader
* using modelview-matrix for translations and scaling instead of manually multiplying coordinates