diff --git a/sources/jvxComponents/jvxAudioNodes/jvxAuNForwardBuffer/codeGen/exports_node.pcg b/sources/jvxComponents/jvxAudioNodes/jvxAuNForwardBuffer/codeGen/exports_node.pcg index 694e3737..440de37b 100644 --- a/sources/jvxComponents/jvxAudioNodes/jvxAuNForwardBuffer/codeGen/exports_node.pcg +++ b/sources/jvxComponents/jvxAudioNodes/jvxAuNForwardBuffer/codeGen/exports_node.pcg @@ -59,8 +59,7 @@ SECTION PROPERTIES GENERATE_ENTRIES_CONFIG_FILE = "no"; // Defaults to "no" if not present GENERATE_ENTRIES_LINK_OBJECTS = "yes"; // Defaults to "no" if not present ALLOWED_STATE_MASK = {"JVX_STATE_SELECTED", "JVX_STATE_ACTIVE", "JVX_STATE_PREPARED", "JVX_STATE_PROCESSING"}; - CALLBACKS = {"get_processing_monitor"}; - CALLBACK_GET_PREHOOK = "get_processing_monitor"; + READ_WRITE_ACCESS = "JVX_PROPERTY_ACCESS_READ_ONLY"; SECTION number_overflows { @@ -99,6 +98,12 @@ SECTION PROPERTIES TYPE = "JVX_DATAFORMAT_DATA"; INIT_SET = 0; }; + SECTION size_buffer + { + DESCRIPTION = "Size of the involved buffer [samples]"; // Defaults to NAME if not present + TYPE = "JVX_DATAFORMAT_SIZE"; + INIT_SET = 0; + }; }; SECTION convert diff --git a/sources/jvxComponents/jvxAudioNodes/jvxAuNForwardBuffer/src/CjvxAuNForwardBuffer.cpp b/sources/jvxComponents/jvxAudioNodes/jvxAuNForwardBuffer/src/CjvxAuNForwardBuffer.cpp index 97ae1beb..a8f57ade 100644 --- a/sources/jvxComponents/jvxAudioNodes/jvxAuNForwardBuffer/src/CjvxAuNForwardBuffer.cpp +++ b/sources/jvxComponents/jvxAudioNodes/jvxAuNForwardBuffer/src/CjvxAuNForwardBuffer.cpp @@ -60,7 +60,7 @@ CjvxAuNForwardBuffer::activate() genForwardBuffer_node::register_all(static_cast(this)); genForwardBuffer_node::register_callbacks(static_cast(this), - set_bypass_buffer, set_buffer_mode, get_processing_monitor, this, nullptr); + set_bypass_buffer, set_buffer_mode, this, nullptr); // Obtain the thread handle here refThreads = reqInstTool( _common_set.theToolsHost, @@ -386,6 +386,10 @@ CjvxAuNForwardBuffer::prepare_connect_icon(JVX_CONNECTION_FEEDBACK_TYPE(fdb)) JVX_MAX(node_inout._common_set_node_params_a_1io.buffersize, node_output._common_set_node_params_a_1io.buffersize) * 4, bs); */ bs = JVX_MAX(node_inout._common_set_node_params_a_1io.buffersize + node_output._common_set_node_params_a_1io.buffersize, bs); + + // View buffersize in samples + genForwardBuffer_node::monitor.size_buffer.value = bs; + start_audiostack( bs, node_output._common_set_node_params_a_1io.number_channels, @@ -1304,11 +1308,6 @@ CjvxAuNForwardBuffer::update_output_params() // ================================================================================= -JVX_PROPERTIES_FORWARD_C_CALLBACK_EXECUTE_FULL(CjvxAuNForwardBuffer, get_processing_monitor) -{ - return JVX_NO_ERROR; -} - JVX_PROPERTIES_FORWARD_C_CALLBACK_EXECUTE_FULL(CjvxAuNForwardBuffer, set_bypass_buffer) { if (JVX_PROPERTY_CHECK_ID_CAT(ident.id, ident.cat, genForwardBuffer_node::config_select.bypass_buffer)) diff --git a/sources/jvxComponents/jvxAudioNodes/jvxAuNForwardBuffer/src/CjvxAuNForwardBuffer.h b/sources/jvxComponents/jvxAudioNodes/jvxAuNForwardBuffer/src/CjvxAuNForwardBuffer.h index 1b3b2607..f1d19e41 100644 --- a/sources/jvxComponents/jvxAudioNodes/jvxAuNForwardBuffer/src/CjvxAuNForwardBuffer.h +++ b/sources/jvxComponents/jvxAudioNodes/jvxAuNForwardBuffer/src/CjvxAuNForwardBuffer.h @@ -141,7 +141,6 @@ class CjvxAuNForwardBuffer: public CjvxBareNode1ioRearrange, jvxErrorType transfer_backward_ocon(jvxLinkDataTransferType tp, jvxHandle* data JVX_CONNECTION_FEEDBACK_TYPE_A(fdb))override; - JVX_PROPERTIES_FORWARD_C_CALLBACK_DECLARE(get_processing_monitor); JVX_PROPERTIES_FORWARD_C_CALLBACK_DECLARE(set_bypass_buffer); JVX_PROPERTIES_FORWARD_C_CALLBACK_DECLARE(set_buffer_mode); diff --git a/sources/jvxLibraries/jvx-helpers/src/HjvxHostsAndProperties.cpp b/sources/jvxLibraries/jvx-helpers/src/HjvxHostsAndProperties.cpp index d18468da..d205eee5 100644 --- a/sources/jvxLibraries/jvx-helpers/src/HjvxHostsAndProperties.cpp +++ b/sources/jvxLibraries/jvx-helpers/src/HjvxHostsAndProperties.cpp @@ -34,6 +34,9 @@ jvxErrorType jvx_getReferencePropertiesObject(IjvxHost* theHost, jvx_propertyRef case JVX_COMPONENT_PROCESSING_GROUP: resL = ((IjvxDataConnectionGroup*)theTriple->theHdl)->request_hidden_interface(JVX_INTERFACE_PROPERTIES, reinterpret_cast(&theTriple->theProps)); break; + case JVX_COMPONENT_SYSTEM_AUTOMATION: + resL = ((IjvxSimpleComponent*)theTriple->theHdl)->request_hidden_interface(JVX_INTERFACE_PROPERTIES, reinterpret_cast(&theTriple->theProps)); + break; default: resL = JVX_ERROR_ELEMENT_NOT_FOUND; break; @@ -91,7 +94,12 @@ jvxErrorType jvx_returnReferencePropertiesObject(IjvxHost* theHost, jvx_property break; case JVX_COMPONENT_PROCESSING_GROUP: res = ((IjvxDataConnectionGroup*)theTriple->theHdl)->return_hidden_interface(JVX_INTERFACE_PROPERTIES, reinterpret_cast(theTriple->theProps)); - break; default: + break; + case JVX_COMPONENT_SYSTEM_AUTOMATION: + res = ((IjvxSimpleComponent*)theTriple->theHdl)->return_hidden_interface(JVX_INTERFACE_PROPERTIES, reinterpret_cast(theTriple->theProps)); + break; + + default: res = JVX_ERROR_ELEMENT_NOT_FOUND; } }