tomwalters@0: % procedure for 'aim-mat' tomwalters@0: % tomwalters@0: % function handles=aim_saveparameters(handles,filename,all_parameters) tomwalters@0: % tomwalters@0: % INPUT VALUES: tomwalters@0: % handles: all relevant information tomwalters@0: % filename: which file tomwalters@0: % all_parameters: switch, whether all parameters shell be saved or only the relevant ones tomwalters@0: % RETURN VALUE: tomwalters@0: % handles: the updated handles tomwalters@0: % bleeck@3: % tomwalters@0: % (c) 2011, University of Southampton bleeck@3: % Maintained by Stefan Bleeck (bleeck@gmail.com) bleeck@3: % download of current version is on the soundsoftware site: bleeck@3: % http://code.soundsoftware.ac.uk/projects/aimmat bleeck@3: % documentation and everything is on http://www.acousticscale.org tomwalters@0: tomwalters@0: tomwalters@0: function handles=aim_saveparameters(handles,filename,all_parameters) tomwalters@0: tomwalters@0: if nargin < 3 tomwalters@0: all_parameters=1; % save all parameters, not only the project relevant tomwalters@0: end tomwalters@0: tomwalters@0: tomwalters@0: id=fopen(filename,'wt'); tomwalters@0: lines=struct2stringarray(handles.all_options.bmm,'all_options.bmm'); tomwalters@0: fprintf(id,'\n%% Parameters'); tomwalters@0: fprintf(id,'\n%% for the project: \n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: fprintf(id,'\n%%'); tomwalters@0: filename=sprintf(' %s\n',handles.info.uniqueworkingname); tomwalters@0: fprintf(id,filename); tomwalters@0: fprintf(id,'%% %s',date); tomwalters@0: fprintf(id,'\n%% produced by '); tomwalters@0: result = license('inuse'); tomwalters@0: cuser=result(1).user; tomwalters@0: fprintf(id,'%s',cuser); tomwalters@0: fprintf(id,'\n'); tomwalters@0: fprintf(id,'\n\n%% Dont write anything in this file except for parameter values, \n%% since all other changes will be lost'); tomwalters@0: fprintf(id,'\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: % fprintf(id,'\nclear all_options; %% clear the options initially to remove any old entries'); tomwalters@0: % fprintf(id,'\n'); tomwalters@0: tomwalters@0: if all_parameters==1 % save all parameters tomwalters@0: lines=struct2stringarray(handles.all_options.signal,'all_options.signal'); tomwalters@0: fprintf(id,'\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: fprintf(id,'\n%% Signaloptions\n'); tomwalters@0: for i=1:length(lines) tomwalters@0: fprintf(id,lines{i}); tomwalters@0: fprintf(id,';\n'); tomwalters@0: end tomwalters@0: tomwalters@0: lines=struct2stringarray(handles.all_options.pcp,'all_options.pcp'); tomwalters@0: fprintf(id,'\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: fprintf(id,'\n%% outer/middle ear filter function\n'); tomwalters@0: for i=1:length(lines) tomwalters@0: text=lines{i}; tomwalters@0: % if isempty(strfind(text,'generatingfunction')) && isempty(strfind(text,'displayname')) && isempty(strfind(text,'displayfunction')) tomwalters@0: fprintf(id,text); tomwalters@0: fprintf(id,';\n'); tomwalters@0: % end tomwalters@0: end tomwalters@0: tomwalters@0: lines=struct2stringarray(handles.all_options.bmm,'all_options.bmm'); tomwalters@0: fprintf(id,'\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: fprintf(id,'\n%% bmm\n'); tomwalters@0: for i=1:length(lines) tomwalters@0: text=lines{i}; tomwalters@0: % if isempty(strfind(text,'generatingfunction')) && isempty(strfind(text,'displayname')) && isempty(strfind(text,'displayfunction')) tomwalters@0: fprintf(id,text); tomwalters@0: fprintf(id,';\n'); tomwalters@0: % end tomwalters@0: end tomwalters@0: lines=struct2stringarray(handles.all_options.nap,'all_options.nap'); tomwalters@0: fprintf(id,'\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: fprintf(id,'\n%% nap\n'); tomwalters@0: for i=1:length(lines) tomwalters@0: text=lines{i}; tomwalters@0: % if isempty(strfind(text,'generatingfunction')) && isempty(strfind(text,'displayname')) && isempty(strfind(text,'displayfunction')) tomwalters@0: fprintf(id,text); tomwalters@0: fprintf(id,';\n'); tomwalters@0: % end tomwalters@0: end tomwalters@0: lines=struct2stringarray(handles.all_options.strobes,'all_options.strobes'); tomwalters@0: fprintf(id,'\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: fprintf(id,'\n%% strobes\n'); tomwalters@0: for i=1:length(lines) tomwalters@0: text=lines{i}; tomwalters@0: % if isempty(strfind(text,'generatingfunction')) && isempty(strfind(text,'displayname')) && isempty(strfind(text,'displayfunction')) tomwalters@0: fprintf(id,text); tomwalters@0: fprintf(id,';\n'); tomwalters@0: % end tomwalters@0: end tomwalters@0: lines=struct2stringarray(handles.all_options.sai,'all_options.sai'); tomwalters@0: fprintf(id,'\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: fprintf(id,'\n%% sai\n'); tomwalters@0: for i=1:length(lines) tomwalters@0: text=lines{i}; tomwalters@0: % if isempty(strfind(text,'generatingfunction')) && isempty(strfind(text,'displayname')) && isempty(strfind(text,'displayfunction')) tomwalters@0: fprintf(id,text); tomwalters@0: fprintf(id,';\n'); tomwalters@0: % end tomwalters@0: end tomwalters@0: lines=struct2stringarray(handles.all_options.usermodule,'all_options.usermodule'); tomwalters@0: fprintf(id,'\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: fprintf(id,'\n%% user defined module\n'); tomwalters@0: for i=1:length(lines) tomwalters@0: text=lines{i}; tomwalters@0: % if isempty(strfind(text,'generatingfunction')) && isempty(strfind(text,'displayname')) && isempty(strfind(text,'displayfunction')) tomwalters@0: fprintf(id,text); tomwalters@0: fprintf(id,';\n'); tomwalters@0: % end tomwalters@0: end tomwalters@0: lines=struct2stringarray(handles.all_options.movie,'all_options.movie'); tomwalters@0: fprintf(id,'\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: fprintf(id,'\n%% movies\n'); tomwalters@0: for i=1:length(lines) tomwalters@0: text=lines{i}; tomwalters@0: % if isempty(strfind(text,'generatingfunction')) && isempty(strfind(text,'displayname')) && isempty(strfind(text,'displayfunction')) tomwalters@0: fprintf(id,text); tomwalters@0: fprintf(id,';\n'); tomwalters@0: % end tomwalters@0: end tomwalters@0: tomwalters@0: tomwalters@0: else % save only the parameters, that are relevant for the current project tomwalters@0: tomwalters@0: % if handles.info.signal_loaded==1 tomwalters@0: lines=struct2stringarray(handles.all_options.signal,'all_options.signal'); tomwalters@0: fprintf(id,'\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: fprintf(id,'\n%% Signaloptions\n'); tomwalters@0: for i=1:length(lines) tomwalters@0: text=lines{i}; tomwalters@0: % if isempty(strfind(text,'generatingfunction')) && isempty(strfind(text,'displayname')) && isempty(strfind(text,'displayfunction')) tomwalters@0: fprintf(id,text); tomwalters@0: fprintf(id,';\n'); tomwalters@0: % end tomwalters@0: end tomwalters@0: % end tomwalters@0: tomwalters@0: if handles.info.pcp_loaded==1 tomwalters@0: lines=struct2stringarray(handles.all_options.pcp,'all_options.pcp'); tomwalters@0: fprintf(id,'\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: fprintf(id,'\n%% outer/middle ear filter function\n'); tomwalters@0: module_name=['.pcp.' handles.info.current_pcp_module '.']; tomwalters@0: for i=1:length(lines) tomwalters@0: if ~isempty(strfind(lines{i},module_name)) tomwalters@0: text=lines{i}; tomwalters@0: % if isempty(strfind(text,'generatingfunction')) && isempty(strfind(text,'displayname')) && isempty(strfind(text,'displayfunction')) tomwalters@0: fprintf(id,text); tomwalters@0: fprintf(id,';\n'); tomwalters@0: % end tomwalters@0: end tomwalters@0: end tomwalters@0: end tomwalters@0: tomwalters@0: if handles.info.bmm_loaded==1 tomwalters@0: lines=struct2stringarray(handles.all_options.bmm,'all_options.bmm'); tomwalters@0: fprintf(id,'\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: fprintf(id,'\n%% bmm\n'); tomwalters@0: module_name=['.bmm.' handles.info.current_bmm_module '.']; tomwalters@0: for i=1:length(lines) tomwalters@0: if ~isempty(strfind(lines{i},module_name)) tomwalters@0: text=lines{i}; tomwalters@0: % if isempty(strfind(text,'generatingfunction')) && isempty(strfind(text,'displayname')) && isempty(strfind(text,'displayfunction')) tomwalters@0: fprintf(id,text); tomwalters@0: fprintf(id,';\n'); tomwalters@0: % end tomwalters@0: end tomwalters@0: end tomwalters@0: end tomwalters@0: tomwalters@0: if handles.info.nap_loaded==1 tomwalters@0: lines=struct2stringarray(handles.all_options.nap,'all_options.nap'); tomwalters@0: fprintf(id,'\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: fprintf(id,'\n%% nap\n'); tomwalters@0: module_name=['.nap.' handles.info.current_nap_module '.']; tomwalters@0: for i=1:length(lines) tomwalters@0: if ~isempty(strfind(lines{i},module_name)) tomwalters@0: text=lines{i}; tomwalters@0: % if isempty(strfind(text,'generatingfunction')) && isempty(strfind(text,'displayname')) && isempty(strfind(text,'displayfunction')) tomwalters@0: fprintf(id,text); tomwalters@0: fprintf(id,';\n'); tomwalters@0: % end tomwalters@0: end tomwalters@0: end tomwalters@0: end tomwalters@0: tomwalters@0: if handles.info.strobes_loaded==1 tomwalters@0: lines=struct2stringarray(handles.all_options.strobes,'all_options.strobes'); tomwalters@0: fprintf(id,'\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: fprintf(id,'\n%% strobes\n'); tomwalters@0: module_name=['.strobes.' handles.info.current_strobes_module '.']; tomwalters@0: for i=1:length(lines) tomwalters@0: if ~isempty(strfind(lines{i},module_name)) tomwalters@0: text=lines{i}; tomwalters@0: % if isempty(strfind(text,'generatingfunction')) && isempty(strfind(text,'displayname')) && isempty(strfind(text,'displayfunction')) tomwalters@0: fprintf(id,text); tomwalters@0: fprintf(id,';\n'); tomwalters@0: % end tomwalters@0: end tomwalters@0: end tomwalters@0: end tomwalters@0: tomwalters@0: if handles.info.sai_loaded==1 tomwalters@0: lines=struct2stringarray(handles.all_options.sai,'all_options.sai'); tomwalters@0: fprintf(id,'\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: fprintf(id,'\n%% sai\n'); tomwalters@0: module_name=['.sai.' handles.info.current_sai_module '.']; tomwalters@0: for i=1:length(lines) tomwalters@0: if ~isempty(strfind(lines{i},module_name)) tomwalters@0: text=lines{i}; tomwalters@0: % if isempty(strfind(text,'generatingfunction')) && isempty(strfind(text,'displayname')) && isempty(strfind(text,'displayfunction')) tomwalters@0: fprintf(id,text); tomwalters@0: fprintf(id,';\n'); tomwalters@0: % end tomwalters@0: end tomwalters@0: end tomwalters@0: end tomwalters@0: tomwalters@0: tomwalters@0: if handles.info.usermodule_loaded==1 tomwalters@0: lines=struct2stringarray(handles.all_options.usermodule,'all_options.usermodule'); tomwalters@0: fprintf(id,'\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: fprintf(id,'\n%% user defined module\n'); tomwalters@0: module_name=['.usermodule.' handles.info.current_usermodule_module '.']; tomwalters@0: for i=1:length(lines) tomwalters@0: if ~isempty(strfind(lines{i},module_name)) tomwalters@0: text=lines{i}; tomwalters@0: % if isempty(strfind(text,'generatingfunction')) && isempty(strfind(text,'displayname')) && isempty(strfind(text,'displayfunction')) tomwalters@0: fprintf(id,text); tomwalters@0: fprintf(id,';\n'); tomwalters@0: % end tomwalters@0: end tomwalters@0: end tomwalters@0: end tomwalters@0: tomwalters@0: if handles.info.movie_loaded==1 tomwalters@0: lines=struct2stringarray(handles.all_options.movie,'all_options.movie'); tomwalters@0: fprintf(id,'\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: fprintf(id,'\n%% movies\n'); tomwalters@0: module_name=['.movie.' handles.info.current_movie_module '.']; tomwalters@0: for i=1:length(lines) tomwalters@0: if ~isempty(strfind(lines{i},module_name)) tomwalters@0: text=lines{i}; tomwalters@0: % if isempty(strfind(text,'generatingfunction')) && isempty(strfind(text,'displayname')) && isempty(strfind(text,'displayfunction')) tomwalters@0: fprintf(id,text); tomwalters@0: fprintf(id,';\n'); tomwalters@0: % end tomwalters@0: end tomwalters@0: end tomwalters@0: end tomwalters@0: tomwalters@0: tomwalters@0: end tomwalters@0: tomwalters@0: % and the graphic options. Important for the movies tomwalters@0: lines=struct2stringarray(handles.all_options.graphics,'all_options.graphics'); tomwalters@0: fprintf(id,'\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%'); tomwalters@0: fprintf(id,'\n%% graphics\n'); tomwalters@0: for i=1:length(lines) tomwalters@0: text=lines{i}; tomwalters@0: fprintf(id,text); tomwalters@0: fprintf(id,';\n'); tomwalters@0: end tomwalters@0: tomwalters@0: err=fclose(id); tomwalters@0: if err~=0 tomwalters@0: ferror(id) tomwalters@0: end tomwalters@0: % pause(1) tomwalters@0: