{"id":4703,"date":"2019-06-17T03:27:16","date_gmt":"2019-06-17T01:27:16","guid":{"rendered":"https:\/\/demdlx704as001.ad.harman.com\/index.php\/section\/static-metadata\/"},"modified":"2024-05-08T16:16:03","modified_gmt":"2024-05-08T14:16:03","slug":"static-metadata","status":"publish","type":"post","link":"https:\/\/audioworx.transfunnel.co\/old\/?p=4703","title":{"rendered":"Static Metadata"},"content":{"rendered":"<p>The Static Metadata represents data that will not change based on configuration. It is provided as is.<\/p>\n<p>There are two API methods related to this feature.<\/p>\n<ul>\n<li>createStaticMetadata<\/li>\n<li>getStaticMetadata<\/li>\n<\/ul>\n<pre class=\"text\">virtual void createStaticMetadata();\r\nstaticMetadata getStaticMetadata() { return m_StaticMetadata; }<\/pre>\n<p class=\"heading\"><strong>Create Static Metadata<\/strong><\/p>\n<p>This method is intended to be overwritten by each instance of <strong>AudioObject<\/strong>. The goal is to populate the protected member <strong>m_StaticMetadata<\/strong>. There is an example of how to do this in <strong>AudioObject.cpp<\/strong>. The basic audio objects included within xAF also implement this method appropriately.<\/p>\n<p>This method should be overridden by any object updating to the new API. Here are the relevant details:<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"size-full wp-image-23310 alignnone\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2019\/06\/static_metadata_structure.jpg\" alt=\"\" width=\"878\" height=\"524\" \/><\/p>\n<ul>\n<li><strong>minReqXafVersion<\/strong> \u2013 set this to an integer which is related to the major version of xAF. (ACDC == 1, Beatles == 2, etc)<\/li>\n<li><strong>isExtendedObjIdRequired<\/strong> \u2013 false for most objects. This flag enables support for more than 256 subblocks.<\/li>\n<li><strong>supSampleRates<\/strong> \u2013 list of all supported samples rates (leave blank if there are no restrictions)<\/li>\n<li><strong>supBlockSizes<\/strong> \u2013 list of all supported block sizes (leave blank if there are no restrictions)<\/li>\n<li><strong>supDataFormats<\/strong> \u2013 list of supported calcObject data formats (leave blank if there are no restrictions)<\/li>\n<li><strong>audioObjectVersion<\/strong> \u2013 Condensed three part version number. Created with helper method :\n<ul>\n<li>void setAudioObjectVersion(unsigned char major, unsigned char minor, unsigned char revision)<\/li>\n<li>It is up to audio object to determine how to manage these versions.<\/li>\n<\/ul>\n<\/li>\n<li><strong>tuningVersion<\/strong> \u2013 Condensed two part version number. Created with helper method :\n<ul>\n<li>Void setTuningVersion(unsigned char major, unsigned char minor)<\/li>\n<li>These version numbers must only be changed when appropriate!!<\/li>\n<li>Follow these rules:\n<ul>\n<li>Increment minor version when new release has *additional* tuning but previous tuning data can still be loaded successfully.<\/li>\n<li>Increment major reversion when the new release is not compatible at all with previous tuoid setTuning data.<\/li>\n<li>If tuning structure does not change, do not change this version<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li><strong>authorList<\/strong> \u2013 fill with list of authors if desired<\/li>\n<li><strong>creationDay<\/strong> \u2013 date of creation for the object<\/li>\n<li><strong>certified<\/strong> \u2013 whether this object has undergone certification<\/li>\n<li><strong>inPlaceComputationEnabled<\/strong> \u2013 whether this object requires input and output buffers to be the same (see below)<\/li>\n<li><strong>isAddVarUpdateRequired<\/strong> \u2013 whether the tuning tool should assume additional vars can change any time main object parameters are updated.\n<ul>\n<li>Set this to true if your additional variable sizes are based in some way on inputs.<\/li>\n<li>Example: Number of Input channels is configurable by the user &#8211; and the first additional variable size is always equal to the number of input channels.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p class=\"heading\"><strong>Get Static Metadata<\/strong><\/p>\n<p class=\"text\">This method simply returns a copy of <strong><em>m_StaticMetadata<\/em><\/strong>. It is not virtual.<\/p>\n<p class=\"heading\"><strong>In-Place Computation<\/strong><\/p>\n<p class=\"note\">This will be deprecated here and moved to dynamic metadata, to support a target\/core specific implementation. The static member will be kept for backward compatibility reasons only and will be deprecated after some time.<br \/>\n<span class=\"emph\">Do not use this struct member in future implementations!<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Static Metadata represents data that will not change based on configuration. It is provided as is. There are two API methods related to this feature. createStaticMetadata getStaticMetadata virtual void createStaticMetadata(); staticMetadata getStaticMetadata() { return m_StaticMetadata; } Create Static Metadata This method is intended to be overwritten by each instance of AudioObject. The goal is [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","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":"on","ocean_gallery_id":[]},"categories":[],"tags":[],"coauthors":[165],"_links":{"self":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/4703"}],"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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4703"}],"version-history":[{"count":14,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/4703\/revisions"}],"predecessor-version":[{"id":27961,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/4703\/revisions\/27961"}],"wp:attachment":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4703"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4703"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4703"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcoauthors&post=4703"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}