0001 function [is_ready] = vb_signal_processor_confirm_output_dir(data, mode)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 if ~exist('data', 'var')
0025 error('data is a required parameter.');
0026 end
0027 if ~exist('mode', 'var')
0028 error('mode is a required parameter.');
0029 end
0030
0031
0032
0033
0034
0035 outdir_list = vb_signal_processor_get_output_dir_list(data);
0036
0037
0038 ix_not_exist = [];
0039 for k=1:length(outdir_list)
0040 if exist(outdir_list{k}, 'dir') ~= 7
0041 ix_not_exist = [ix_not_exist; k];
0042 end
0043 end
0044
0045
0046 if ~isempty(ix_not_exist)
0047 if mode == 0
0048 reply = '';
0049 while(isempty(reply))
0050 for k=1:length(ix_not_exist)
0051 fprintf('%s\n', outdir_list{ix_not_exist(k)});
0052 end
0053 reply = input('does not exist. create? (Yes/No):', 's');
0054 switch(lower(reply))
0055 case {'no', 'n'}
0056 is_ready = false;
0057 return;
0058 end
0059 end
0060 elseif mode == 1
0061 dlgTitle = 'Those directories will be created. OK?';
0062 [selection, IsOK] = listdlg('Name', dlgTitle, ...
0063 'SelectionMode', 'single', ...
0064 'ListString', outdir_list(ix_not_exist), ...
0065 'ListSize', [300, 300]);
0066 if ~IsOK
0067 is_ready = false;
0068 return;
0069 end
0070 elseif mode == 2
0071
0072 else
0073 error('Unknown mode was specified.');
0074 end
0075
0076
0077 for k=1:length(ix_not_exist)
0078 d_ = outdir_list{ix_not_exist(k)};
0079 result = vb_mkdir(d_);
0080 if result == false
0081 errmsg = sprintf('Failed to create directory : %s', d_);
0082 if mode == 1
0083 h = errordlg(errmsg, 'Create directory');
0084 end
0085 error(errmsg);
0086 end
0087 end
0088 end
0089
0090 is_ready = true;