{"id":12043,"date":"2020-12-03T09:03:37","date_gmt":"2020-12-03T08:03:37","guid":{"rendered":"https:\/\/demdlx704as001.ad.harman.com\/?p=12043"},"modified":"2020-12-03T10:16:24","modified_gmt":"2020-12-03T09:16:24","slug":"core-objects-design-details","status":"publish","type":"post","link":"https:\/\/audioworx.transfunnel.co\/old\/?p=12043","title":{"rendered":"Core Objects Design Details"},"content":{"rendered":"<p>The details given below are common to both the core objects:<\/p>\n<ul>\n<li>Float To Fixed<\/li>\n<li>Fixed To Float<\/li>\n<\/ul>\n<p><strong>Design Variables<\/strong><\/p>\n<ul style=\"list-style-type: disc;\">\n<li>Configurable number of channels<\/li>\n<li>Supports all sample rates and block lengths<\/li>\n<li>Floating point scalar value provided as Additional Variable<\/li>\n<\/ul>\n<p><strong>Platform Dependencies<\/strong><br \/>\nThis core object shall be accessed through the Audio Core class of the xAF framework. The platform shall not directly interact with this core object.<\/p>\n<p><strong>API<\/strong><\/p>\n<p><strong>During Initialization:<\/strong><\/p>\n<ul style=\"list-style-type: square;\">\n<li><em>coreObjectTypeID getType()<\/em><br \/>\nReturns the core object ID :CORE_OBJ_FLOAT2FIXED (5) or CORE_OBJ_FIXED2FLOAT (6)<\/li>\n<li><em>xFloat32 getProcTime()<\/em><br \/>\nReturns the duration (in seconds) of one block of data.<\/li>\n<li><em>xUInt32 getInputSampleRate()<\/em><br \/>\nReturns the sample rate the object operates at.<\/li>\n<li><em>xUInt32 getOutputSampleRate()<\/em><br \/>\nReturns the sample rate the object operates at.<\/li>\n<li><em>xUInt16 getInputBlockLength()<\/em><br \/>\nReturns the input block length of the object.<\/li>\n<li><em>xUInt16 getOutputBlockLength()<\/em><br \/>\nReturns the output block length of the object.<\/li>\n<li><em>xUInt16 getNumAudioInputs()<\/em><br \/>\nReturns the number of input channels of the object.<\/li>\n<li><em>xUInt16 getNumAudioOutputs()<\/em><br \/>\nReturns the number of output channels of the object.<\/li>\n<li><em>xAF_Error init(const CoreObjectInfo&amp; objInfo, memAllocRef allocator, xUInt32&amp; memoryAllocated)<\/em><br \/>\nobjInfo Struct that has base info and pointer to additional config data<br \/>\nallocator Allocator method<br \/>\nmemoryAllocated Variable to return the amount of memory allocated[bytes]<\/li>\n<\/ul>\n<p>CoreObjectInfo:<br \/>\n<em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 xUInt16 numInputs; \u00a0 \u00a0 \u00a0 \u00a0\u00a0 \/\/ Number of channels<\/em><br \/>\n<em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 xUInt16 inBlockLen;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ Input Block Length<\/em><br \/>\n<em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 xUInt32 inSampleRate;\u00a0\u00a0 \/\/ Operational sample rate<\/em><br \/>\n<em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 void* coreObjConfig;<\/em><\/p>\n<p>Pointer to additional configuration data<br \/>\nByte 0 \u2013 3: Scalar value (4 bytes)<\/p>\n<p><strong>Audio Interrupts (Algorithm Execution):<\/strong><\/p>\n<ul style=\"list-style-type: square;\">\n<li><em>xAF_Error calc(float** inputs, float** outputs)<\/em><br \/>\ninputs: Pointer to audio input buffers<br \/>\noutputs: Pointer to audio output buffers<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The details given below are common to both the core objects: Float To Fixed Fixed To Float Design Variables Configurable number of channels Supports all sample rates and block lengths Floating point scalar value provided as Additional Variable Platform Dependencies This core object shall be accessed through the Audio Core class of the xAF framework. [&hellip;]<\/p>\n","protected":false},"author":1,"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":[165],"_links":{"self":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/12043"}],"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=12043"}],"version-history":[{"count":4,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/12043\/revisions"}],"predecessor-version":[{"id":12064,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/12043\/revisions\/12064"}],"wp:attachment":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12043"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12043"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12043"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcoauthors&post=12043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}