R2 2024 Release notes
  • 19 Sep 2024
  • 6 Minutes to read
  • Dark
    Light
  • PDF

R2 2024 Release notes

  • Dark
    Light
  • PDF

Article summary

News, updates, and changes in Composer R2 2024 ("Monza")

Composer R2 2024 
 

Release date 2024-09-13, version: 1.9.9017
Patch date 2024-09-18, version: 1.9.9027

One of the most exciting additions to Composer R2 2024 is the brand-new Script Engine. This powerful feature empowers users to write custom code that can be executed while rendering frames in Composer. This means you can control and customize nearly every aspect of the Composer runtime environment and your projects. Whether you're looking to automate tasks, create complex visual effects, or implement advanced logic, the Script Engine provides the tools to bring your creative ideas to life. This feature significantly expands the possibilities, allowing you to push the boundaries of what you can achieve with Composer. The potential is vast—imagination is your only limit.

News and Improvements:

  • Added a brand new Scripting Engine that allows you to write custom code executed on every frame, with programmatic access to all project properties. This new feature is a major new feature that opens up many new creative solutions.
  • Added support for locking GPU clocks to their maximum frequency. When activated, projects with low overall load will run at a more static load making the compute time more constant.
  • Added support for reducing CPU/GPU load during startup by introducing a new system setting: Reduce CPU/GPU load during project start.
  • Added support for batch-labeling of scene layers. Batches are useful when you need to hide or show multiple layers associated with, for example, a certain camera input.
  • IBK3D Keyer: added support for spill balance. This feature is can be used to compensate for non-pure clean plates, or to fine-tune the edges.
  • Channel Swap Operator: added support for two new options: MaxRGB and MinRGB, representing the maximum and minimum values of RGB.
  • Added a new setting for clearing all errors and warnings at project load.
  • Performance log: added processRAMUsageGBAvg10min, processRAMUsageGBMax10min and processRAMUsageGBMin10min
  • Performance report: added RAM Usage Average, RAM Usage Max, and RAM Usage Min last 10 minutes.
  • FFMpegTarget: added option to log frame information from the ffmpeg process.
  • Added a new operator: Replay Operator. This operator can be used for video replays, including slow motion.
  • Added a new operator: Histogram Operator. This new operator can be used analysing video content based on hue, saturation and color, and trigger events based on the outcome.
  • Added an Alignment Operator for precise alignment, positioning, and spacing of visual elements.
  • Settings: added support to activate ffmpeg subsystem logs.
  • Added a new target: HttpTarget allows you to call external API:s/systems, and fetch data into Composer.
  • Added a new type of license file for plugins: Enterprise Plugin License (enterprise.lic). This optional license file is a complement to the regular license file, and adds licenses for plugins. The Enterprice License can be used on multiple instances of Composer, and is not bound to a particular license.
  • Added a new high optional precision clock for the built-in renderer. To activate this clock, activate the "Use high performance system clock" in Settings.
  • Connectors:
    • Calling the api/connector/trigger api now support Name as the connector selector parameter. This means that you can trigger a connector by providing the name of the connector.
    • Added support for triggering multiple Connectors using a single API request. Example: http://localhost:44433/api/connector/trigger?name=One%2BTwo%2BThree. This example will trigger connectors One, Two and Three. Use %2B (+) as separator.
    • Added more tutorials.
  • API:
    • Added API-support for hiding and showing layers by batch name.
    • Addded API-support for switching input on a layer. Example: api/layer/setsource?scene=MyScene&Layer=MyImageLayer&Source=heligholmen.jpg
  • Prometheus endpoint/Metrics:
    • Added composer_ext_worker_queue_flushes
    • Added composer_ext_system_memory_usage_avg_10min, composer_ext_system_memory_usage_max_10min and composer_ext_system_memory_usage_min_10min
  • Desktop version:
    • Added support for importing multiple media assets. The Import Media function now supports selecting multiple media files (File/Import media...).
    • Added a Smart Search function for inputs. This function will search for matching names and tags.
    • Added support for adding TAGS to inputs.
    • Added support for re-ordering scenes by using drag-and-drop.
    • Added support for fullscreen mode. Toogle fullscreen mode by using the context menu of the scene preview window, or by pressing F11 while having the cursor positioned over the scene preview image.
    • Added support for copy/paste operators and operator properties using the computer clipboard. This makes it easier to copy operators between servers.
    • Added support for unloading unused media.
    • Added shortcut for panning in the preview window (CTRL+Space).
    • Added Average Processing Time (%) to Performance Mode view.
    • Scenes tab: Pressing CTRL+left mouse button on a scene will select the scene in the list of inputs.
    • Deleting an input will remove any Api Commands used in Connectors, referencing to the input.
    • Preview Zoom function changed from using a dropdown, to an input field (zoom %).
    • Checkboxes are now easier to operate/toggle.
    • When adding a connector, the new connector will be expanded automatically.
    • The default evaluation method for connectors have been changed to Equals instead of Contains.
    • Added support for vertical scrollbar in the scene layers section.
    • Added expandable GUI containers items in the right side panel (Live Preview, Performance et c). The setting for the expanders are saved into settings.
    • Inputs/Scenes list: 
      • Added support for scrolling using the middle mouse button.
      • Pressing CTRL+left mouse button on a scene will set the selected scene as the active scene
      • Scenes: added the option Set as active scene (popup menu)
    •  Added support for showing GPU Memory (Total/Usage/free).
    • Added menu items for Create and Edit Script.
    • UI improvements: 
      • Targets tab: added information on the selected scene.
      • Operators tab: added information on the selected scene layer.
      • Scene layers: the Show input context menu (and CTRL+left click on the layer) did not make sure that the Inputs tab was visible
    • Removed debug buttons for start, stop and pause.
  • RTMP-target
    • Added metric for average audio/video PTS difference
    • Added support for reconnecting on high audio/video PTS difference
    • Added monitoring metric composer_ext_rtmp_target_max_pts_diff that contains the highest PTS difference found in any RTMP-target within the project

Bugfixes:    

  •  Movie input
    • The end-of-file option "Hold last frame" did not allow the input to restart playback.
    • Restarting playback rendered a memory leak. For projects using many MovieInputs and continuous start/stop, this could lead to an exception caused by the system running out of memory.
  • Channel Swap Operator: the red and blue channels were swapped in the UI.
  • Desktop:
    • BlackMagicCaptureV3: the option "Use host pinned memory" was editable while capture was running. Changing the option caused an error. 
    • BlackMagicCapture: changing source resolution to a higher resolution, while capturing, could cause an exception.
    • Disabling the option "Load last project file on launch" could result in an error under rare circumstances.
  • The FFmpeg installer installed ffmpeg 7 instead of 6.1.1
  • The metric composer_ext_rtmp_target_nvenc_count included the Live Preview Rtmp Target, causing the value to be too high (+1).
  • The Video File Input: if nvdec was activated, repeated stop/start could render an exception.
  • WebPageRenderer (Ultralight): some webpages could cause high memory utilization and eventually the system could run out-of-memory.
  • The metrics endpoint (Prometheus) and the values for composer_ext_last_frame_processing_usage and composer_ext_average_processing_usage_10k_frames were wrong (100x too high)
  • Blend Mode Add did not work property on layers using a non-solid alpha channel.
  • The input Web Page Renderer (Ultralight) has been updated. The previous version could leak memory.
  • Calling the api/connector/trigger?value endpoint did not work as expected when using the Equals option: ""-characters in the query string was treated as part of the value itself

Extended Monitoring:

  • Added runtime state (composer_ext_runtime_state_enum)

Other changes:

  • Removed the setting for showing/hiding compute time. Compute time will always be shown.
  • The ProcessMemoryUsageGb metric (logs, prometheus) has been changed from using Process.WorkingSet64 to Process.PrivateMemorySize64. This provides a more accurate way of reading the actual memory usage across different platforms.
  • Video File Input: The SourceUrl property is now locked during playback.
  • Keyboard shortcut for saving a snapshot has been changed from CTRL+P to ALT+P
  • Removed the checkboxes for Log Performance and Use Extended logging. These options are now default for all new projects.Movie/Audio File: name changed to Video File Input.
  •      The inputs BlackMagicCapture and BlackMagicCaptureV2 has been removed from the UI. However, Composer can still run projects using these two inputs. When creating new projects, use the latest BlackMagicCaptureV3.
  • Fixed a webpage WebGL render issue (1.9.9027.29347)

Misc:

  • For all production environments, we have evaluated and stresstested a new server specification (Supermicro). This "baseline" server provides higher throughput and performance than the previous baseline server, DELL 3930. This new 1RU server specification is based on the AMD Epyc 7000 series of CPU:s, and the NVidia RTX 4000 Ada GPU. Please contact RealSprint for additional information.

Was this article helpful?