Skip to content

Commit

Permalink
1) Extended the starter project in alignment with the wiki tutorial
Browse files Browse the repository at this point in the history
  • Loading branch information
hkbinaurics committed Feb 21, 2024
1 parent bd354d3 commit 90294c3
Show file tree
Hide file tree
Showing 7 changed files with 110 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Some common include files
set(PROJECT_NAME ayfstarterQt)
set(PROJECT_NAME ayfStarterQt)
include(${JVX_CMAKE_DIR}/common_local_head.cmake)

# Decide which host library to link with
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,37 @@ set(LOCAL_LIBS

set(IS_JVX_COMPONENT TRUE)

#================================= Step IV =================================
set(LOCAL_COMPILE_DEFINITIONS_COPY "${LOCAL_COMPILE_DEFINITIONS}")
set(LOCAL_COMPILE_DEFINITIONS "${LOCAL_COMPILE_DEFINITIONS_COPY};JVX_PROJECT_NAMESPACE=AYFSTARTER")

include(${JVX_CMAKE_DIR}/common_local_lib_foot.cmake)

#================================= Step IV =================================
if(JVX_USE_PART_MATLAB)

# Setup namespaces
set(LOCAL_COMPILE_DEFINITIONS "${LOCAL_COMPILE_DEFINITIONS_COPY};JVX_PROJECT_NAMESPACE=AYFSTARTERM")

# Run the Matlab property code generator
if(JVX_MATLAB_PROPERTY_GENERATOR)
jvx_genMatProperties(${JVX_TARGET_NAME} "JVX_COMPONENT_AUDIO_NODE" "node" "${LOCAL_PCG_FILES}" "${LOCAL_PCG_FILE_OPTIONS}")
endif()

# Install Matlab minimal framework
set(JVX_INSTALL_MATLAB_MINIMAL_FRAMEWORK TRUE)

## Generate startscript

# Add a path to start script
set(JVX_MATLAB_ORIGIN_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../jvxLibraries/jvx-matlab-testscripts")

# set the origin of the template
set(LOCAL_START_SCRIPT_MATLAB_SCRIPT_NAME "ayfStarter-mat")
set(LOCAL_START_SCRIPT_MATLAB ${CMAKE_CURRENT_SOURCE_DIR}/scripts/${JVX_OS}/start_mat)

# Activate the secondary Matlab project
JVX_ACTIVATE_VERSION_MATLAB(${PROJECT_NAME} JVX_EXTERNAL_CALL_ENABLED)
endif()


Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
function [hdl] = jvx_init_callback(hObject_parent, handle_parent)
hdl.parent_object = hObject_parent;
hdl.parent_handle = handle_parent;

% Add local processing path
global jvx_work_path;
jvx_work_path = '@JVX_LOC_MAT_PATH_PROJECT@';
addpath(jvx_work_path);

disp('<jvx_init_callback>: Setting path to use local matlab function in project stored at @JVX_LOC_MAT_PATH_PROJECT@');

Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
@ECHO OFF

REM ================================================================
REM ================================================================
set SYSTEM_JVX_MEX_PATH='%CD%/matlab/'
set SYSTEM_JVX_MATLAB_PATH={'%CD%/matlab/m-files' '%CD%/matlab/m-files/subprojects-audionode' '%CD%/matlab/m-files/audioProperties' '%CD%/matlab/m-files/profiling' '@JVX_MATLAB_ORIGIN_PATH@'}
set SYSTEM_JVX_MATLAB_DEMO={'Realtime Processing: jvxHost(''rt-audio'', ''--config'', ''%CD%/ayfstarter-mat.jvx'', ''--jvxdir'', ''%CD%/jvxComponents'');';'Offline Processing: jvxHost(''off-audio'', ''--config'', ''%CD%/ayfstarter-mat.jvx'', ''--jvxdir'', ''%CD%/jvxComponents'')'}
set COMMAND_SCRIPTING='jvxHost(''off-audio'', ''--config'', ''%CD%/ayfstarter-mat.jvx'', ''--jvxdir'', ''%CD%/jvxComponents'');'
set PATH=%PATH%;%CD%/bin

IF "%~1"=="" GOTO no_extra_matpath
GOTO extra_precommand
:no_extra_matpath
set JVX_MATLAB_START_MATPATH=
set JVX_MATLAB_START_COMMAND=jvx_start_rtproc
GOTO cont_extra_precommand
:extra_precommand
set JVX_MATLAB_START_MATPATH=addpath %~1;

IF "%~2"=="" GOTO no_extra_startcommand
GOTO extra_startcommand
:no_extra_startcommand
set JVX_MATLAB_START_COMMAND=jvx_start_rtproc
GOTO cont_extra_startcommand
:extra_startcommand
set JVX_MATLAB_START_COMMAND=%~2
:cont_extra_startcommand

:cont_extra_precommand


set JVX_MATLAB_START_ARGUMENT="%JVX_MATLAB_START_MATPATH% global jvx; jvx = %JVX_MATLAB_START_COMMAND%(%SYSTEM_JVX_MEX_PATH%, %SYSTEM_JVX_MATLAB_PATH%, %SYSTEM_JVX_MATLAB_DEMO%, '%CD%', [], %COMMAND_SCRIPTING%);"

REM ================================================================
REM Start Matlab
REM ================================================================
echo start "Jvx" "@MATLAB_PATH_CONFIG@/bin/matlab" -desktop -r %JVX_MATLAB_START_ARGUMENT%
start "Jvx" "@MATLAB_PATH_CONFIG@/bin/matlab" -desktop -r %JVX_MATLAB_START_ARGUMENT%
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
#include "jvx.h"
#include "CayfAuNStarter.h"

#ifdef JVX_PROJECT_NAMESPACE
namespace JVX_PROJECT_NAMESPACE {
#endif

CayfAuNStarter::CayfAuNStarter(JVX_CONSTRUCTOR_ARGUMENTS_MACRO_DECLARE):
AYF_AUDIO_NODE_BASE_CLASS(JVX_CONSTRUCTOR_ARGUMENTS_MACRO_CALL)
{
Expand Down Expand Up @@ -107,4 +111,9 @@ JVX_PROPERTIES_FORWARD_C_CALLBACK_EXECUTE_FULL(CayfAuNStarter, cb_async_set)
ayf_starter_update(&processing_lib, JVX_DSP_UPDATE_ASYNC, c_true);
}
return JVX_NO_ERROR;
}
}

#ifdef JVX_PROJECT_NAMESPACE
}
#endif

Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ extern "C"

#include "pcg_exports_node.h"

#ifdef JVX_PROJECT_NAMESPACE
namespace JVX_PROJECT_NAMESPACE {
#endif

class CayfAuNStarter: public AYF_AUDIO_NODE_BASE_CLASS, public genStarter_node
{
protected:
Expand All @@ -41,4 +45,8 @@ class CayfAuNStarter: public AYF_AUDIO_NODE_BASE_CLASS, public genStarter_node

};

#ifdef JVX_PROJECT_NAMESPACE
}
#endif

#endif
Original file line number Diff line number Diff line change
@@ -1,7 +1,18 @@
#include "CayfAuNStarter.h"

#ifdef JVX_EXTERNAL_CALL_ENABLED
#define COMPONENT_DESCRIPTION "AudYoFlo Starter Project - matlab"
#define COMPONENT_DESCRIPTOR Quotes(JVX_MODULE_NAME) Quotes(m)
#else
#define COMPONENT_DESCRIPTION "AudYoFlo Starter Project"
#endif

#ifdef JVX_PROJECT_NAMESPACE
#define COMPONENT_TYPE JVX_PROJECT_NAMESPACE::CayfAuNStarter
#else
#define COMPONENT_TYPE CayfAuNStarter
#endif

#define FEATURE_CLASS JVX_FEATURE_CLASS_EXTERNAL_CALL | JVX_FEATURE_CLASS_HOOKUP_CALL
#define _JVX_ALLOW_MULTIPLE_INSTANCES

Expand Down

0 comments on commit 90294c3

Please sign in to comment.