From 5564e643af65a6a5d85c5339ba3c95bd47a9c5ca Mon Sep 17 00:00:00 2001 From: Jonas Stienen Date: Fri, 24 Mar 2017 15:28:16 +0100 Subject: [PATCH] Fixing some bugs in itaVA experimental GUI --- .../VA/itaVA_experimental_gui.fig | Bin 17931 -> 17935 bytes .../VA/itaVA_experimental_gui.m | 68 +++++++++++++++--- 2 files changed, 59 insertions(+), 9 deletions(-) diff --git a/applications/VirtualAcoustics/VA/itaVA_experimental_gui.fig b/applications/VirtualAcoustics/VA/itaVA_experimental_gui.fig index b72442fd5ab0d3d2764ed0917abcd371f2ff0a31..da369f306886d68ca166b312939d647cd2fce7c1 100644 GIT binary patch delta 6777 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 b593H+?{g6JPG5!E{|mDzINl8eulP~&7Zt<7 delta 6741 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 diff --git a/applications/VirtualAcoustics/VA/itaVA_experimental_gui.m b/applications/VirtualAcoustics/VA/itaVA_experimental_gui.m index 78995d47..24a60c9f 100644 --- a/applications/VirtualAcoustics/VA/itaVA_experimental_gui.m +++ b/applications/VirtualAcoustics/VA/itaVA_experimental_gui.m @@ -55,12 +55,17 @@ function itaVA_experimental_gui_OpeningFcn(hObject, eventdata, handles, varargin % Choose default command line output for itaVA_experimental_gui handles.output = hObject; handles.va = itaVA; +handles.module_id = 'PrototypeGenericPath:MyGenericRenderer'; +handles.va_source_id = 1; +handles.va_signal_id = ''; +handles.va_listener_id = 1; + +refresh_workspace_vars( hObject, handles ); +refresh_sourcesignals( hObject, handles ); % Update handles structure guidata(hObject, handles); -refresh_workspace_vars( hObject, handles ); -refresh_sourcesignals( hObject, handles ); % UIWAIT makes itaVA_experimental_gui wait for user response (see UIRESUME) @@ -103,18 +108,22 @@ else end % Classic VA module call with input and output arguments -handles.mod_id = [ gpg_renderer.class ':' gpg_renderer.id ]; +handles.module_id = [ gpg_renderer.class ':' gpg_renderer.id ]; in_args.info = true; -out_args = handles.va.callModule( handles.mod_id, in_args ); -disp( [ 'Your experimental renderer has ' num2str( out_args.numchannels ) ' channels and an FIR filter length of ' num2str( out_args.irfilterlengthsamples ) ' samples' ] ) +out_args = handles.va.callModule( handles.module_id, in_args ); +disp( [ 'Your experimental renderer "' handles.module_id '" has ' num2str( out_args.numchannels ) ' channels and an FIR filter length of ' num2str( out_args.irfilterlengthsamples ) ' samples' ] ) handles.edit_va_channels.String = out_args.numchannels; handles.edit_va_fir_taps.String = out_args.irfilterlengthsamples; handles.edit_va_fs.String = '44.100'; +% example +global ita_impulse; +ita_impulse = ita_merge( ita_generate_impulse, ita_generate_impulse ); + % Very simple scene with one path -L = handles.va.createListener( 'itaVA_ExperimentalListener' ); -S = handles.va.createSoundSource( 'itaVA_ExperimentalListener' ); +handles.va_listener_id = handles.va.createListener( 'itaVA_ExperimentalListener' ); +handles.va_source_id = handles.va.createSoundSource( 'itaVA_ExperimentalSource' ); function edit_va_channels_CreateFcn(hObject, eventdata, handles) @@ -128,7 +137,30 @@ function listbox_filters_Callback(hObject, eventdata, handles) % Hints: contents = cellstr(get(hObject,'String')) returns listbox_filters contents as cell array % contents{get(hObject,'Value')} returns selected item from listbox_filters +index_selected = handles.listbox_filters.Value; +filter_list = handles.listbox_filters.String; +filter_selected = filter_list{ index_selected }; + +if handles.va.isConnected + + num_channels = str2double( handles.edit_va_channels.String ); + + mStruct = struct; + mStruct.listener = handles.va_listener_id; + mStruct.source = handles.va_source_id; + mStruct.verbose = true; + + newfilter = evalin( 'base', filter_selected ); + + for n=1:num_channels + idx_channel_name = [ 'ch' num2str( n ) ]; + mStruct.( idx_channel_name ) = double( newfilter.ch( n ).timeData )'; + end + + mRes = handles.va.callModule( handles.module_id, mStruct ); + %disp( mRes ) +end % --- Executes during object creation, after setting all properties. function listbox_filters_CreateFcn(hObject, eventdata, handles) @@ -151,6 +183,24 @@ function listbox_sourcesignals_Callback(hObject, eventdata, handles) % Hints: contents = cellstr(get(hObject,'String')) returns listbox_sourcesignals contents as cell array % contents{get(hObject,'Value')} returns selected item from listbox_sourcesignals +index_selected = handles.listbox_sourcesignals.Value; +filename_list = handles.listbox_sourcesignals.String; +filepath_list = handles.listbox_sourcesignals.UserData; +filepath_selected = filepath_list{ index_selected }; +filename_selected = filename_list{ index_selected }; + +if handles.va.isConnected + ss_infos = handles.va.getSignalSourceInfos; + + for i=1:numel( ss_infos ) + + end + + handles.va_signal_id = handles.va.createAudiofileSignalSource( filepath_selected, filename_selected ); + handles.va.setSoundSourceSignalSource( handles.va_source_id, handles.va_signal_id ); + handles.va.setAudiofileSignalSourceIsLooping( handles.va_signal_id, true ); + handles.va.setAudiofileSignalSourcePlaybackAction( handles.va_signal_id, 'play' ); +end % --- Executes during object creation, after setting all properties. @@ -193,7 +243,7 @@ stringlist = ''; fullfile_stringlist = ''; for i=1:numel( filelist ) filepath_abs = fullfile( pwd, filelist( i ).name ); - [ ~, fbn, ft ] = fileparts( ); + [ ~, fbn, ft ] = fileparts( filepath_abs ); if( strcmpi( ft, '.wav' ) ) stringlist = [ stringlist; { fbn } ]; fullfile_stringlist = [ fullfile_stringlist; { filepath_abs } ]; @@ -201,7 +251,7 @@ for i=1:numel( filelist ) end handles.listbox_sourcesignals.String = stringlist; -handles.listbox_sourcesignals.Userdata = fullfile_stringlist; +handles.listbox_sourcesignals.UserData = fullfile_stringlist; % --- Executes on button press in pushbutton_refresh_workspace_vars. -- GitLab