{"id":18671,"date":"2022-11-16T05:41:24","date_gmt":"2022-11-16T04:41:24","guid":{"rendered":"https:\/\/demdlx704as001.ad.harman.com\/?p=18671"},"modified":"2022-11-16T09:08:13","modified_gmt":"2022-11-16T08:08:13","slug":"t-release","status":"publish","type":"post","link":"https:\/\/audioworx.transfunnel.co\/old\/?p=18671","title":{"rendered":"Block Control API"},"content":{"rendered":"<p>Block Control API is added in this release to enable sending multiple control signals from one audio object (AO) to another in one functional call.<\/p>\n<div>\n<div>added APIs in AudioObject.h<\/div>\n<ul>\n<li><strong><em>\u00a0 \u00a0 virtual xAF_Error controlSet(xSInt32 index, xUInt32 sizeBytes, const void * const pValues);<\/em><\/strong><\/li>\n<\/ul>\n<div>\n<div>\n<ul>\n<li><strong><em>\u00a0 \u00a0 void setControlOut(xSInt32 index, xUInt32 sizeBytes, const void * const pValues);<\/em><\/strong><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<p>In GTT&#8217;s SFD, when an AO implements Block Control API, Block Control inputs and outputs are shown as dark orange dots. Block Control connections between two AOs are represented by think orange lines. Regular control inputs and outputs continue to be in light orange color. Regular control connections between two AOs continue to be in light orange colors.<\/p>\n<p>Integration involves these steps. Please refer ControlGrouper implementation for reference<\/p>\n<ul>\n<li>declare support for Block Control in static meta data and dynamic metadata<\/li>\n<li>in the <em>getObjectIo <\/em>implementation specify control group as one control input<\/li>\n<li>in the createDynamicMetadata API, fill-in Group number appropriately.\n<ul>\n<li>\n<div>\n<div><em>typedef struct <\/em><em>{<\/em><\/div>\n<div><em>\u00a0 \u00a0 \u00a0 \u00a0 xFloat32 Min; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/\/&lt; min value for control signals for the selected mode<\/em><\/div>\n<div><em>\u00a0 \u00a0 \u00a0 \u00a0 xFloat32 Max; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/\/&lt; max value for control signals for the selected mode<\/em><\/div>\n<div><em>\u00a0 \u00a0 \u00a0 \u00a0 std::string \u00a0Label; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/\/&lt; label for current control<\/em><\/div>\n<div><em><strong>\u00a0 \u00a0 \u00a0 \u00a0 xSInt32 \u00a0 Group; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/\/&lt; group number<\/strong><\/em><\/div>\n<div><em>\u00a0 \u00a0 } metaDataControlDescription;<\/em><\/div>\n<\/div>\n<\/li>\n<\/ul>\n<\/li>\n<li>to received Block Control input, use <em>controlSet(xSInt32 index, xUInt32 sizeBytes, const void * const pValues)<\/em> API in the implementation<\/li>\n<li>to send Block Control output, use <em>setControlOut(xSInt32 index, xUInt32 sizeBytes, const void * const pValues)<\/em>\u00a0API in the implementation<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Block Control API is added in this release to enable sending multiple control signals from one audio object (AO) to another in one functional call. added APIs in AudioObject.h \u00a0 \u00a0 virtual xAF_Error controlSet(xSInt32 index, xUInt32 sizeBytes, const void * const pValues); \u00a0 \u00a0 void setControlOut(xSInt32 index, xUInt32 sizeBytes, const void * const pValues); In [&hellip;]<\/p>\n","protected":false},"author":93,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"","footnotes":"","ocean_post_oembed":"","ocean_post_self_hosted_media":"","ocean_post_video_embed":"","ocean_link_format":"","ocean_link_format_target":"self","ocean_quote_format":"","ocean_quote_format_link":"post","ocean_gallery_link_images":"off","ocean_gallery_id":[]},"categories":[1],"tags":[],"coauthors":[291],"_links":{"self":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/18671"}],"collection":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/users\/93"}],"replies":[{"embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=18671"}],"version-history":[{"count":6,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/18671\/revisions"}],"predecessor-version":[{"id":18681,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/18671\/revisions\/18681"}],"wp:attachment":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=18671"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=18671"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=18671"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcoauthors&post=18671"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}