Mercurial > octave-nkf
annotate scripts/audio/@audiorecorder/set.m @ 19531:77b52b86b419
change @audiorecorder method docstrings to work with new texinfo
* audiorecorder.m, get.m, getaudiodata.m, play.m, record.m, set.m: change
stand-alone deftypefnx tags to deftypefn tags
author | Vytautas Jančauskas <unaudio@gmail.com> |
---|---|
date | Fri, 20 Sep 2013 00:51:21 +0300 |
parents | ee3ec3f02358 |
children | 8bb399569393 |
rev | line source |
---|---|
19510
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
1 ## -*- texinfo -*- |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
2 ## @deftypefn{Function File} set (@var{recorderObj}, @var{Name}, @var{Value}) |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
3 ## Set the value of property specified by @var{Name} to a given @var{Value}. |
19531
77b52b86b419
change @audiorecorder method docstrings to work with new texinfo
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19522
diff
changeset
|
4 ## @end deftypefn |
77b52b86b419
change @audiorecorder method docstrings to work with new texinfo
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19522
diff
changeset
|
5 ## @deftypefn{Function File} set (@var{recorderObj}, @var{CellOfNames}, @var{CellOfValues}) |
19510
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
6 ## Given a cell array of property names and a cell array of values, set each property to a corresponding value. |
19531
77b52b86b419
change @audiorecorder method docstrings to work with new texinfo
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19522
diff
changeset
|
7 ## @end deftypefn |
77b52b86b419
change @audiorecorder method docstrings to work with new texinfo
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19522
diff
changeset
|
8 ## @deftypefn{Function File} set (@var{recorderObj}, @var{StructOfProperties}) |
19510
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
9 ## Given a structure where fields are property names, set the value of those properties for an audiorecorder object to corresponding values. |
19531
77b52b86b419
change @audiorecorder method docstrings to work with new texinfo
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19522
diff
changeset
|
10 ## @end deftypefn |
77b52b86b419
change @audiorecorder method docstrings to work with new texinfo
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19522
diff
changeset
|
11 ## @deftypefn{Function File} @var{settableProperties} = set (@var{recorderObj}) |
19510
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
12 ## Returns a structure of settable properties. |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
13 ## @end deftypefn |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
14 |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
15 function settable = set (varargin) |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
16 if nargin < 1 || nargin > 3 |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
17 print_usage(); |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
18 endif |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
19 recorder = struct (varargin{1}).recorder; |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
20 if nargin == 1 |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
21 settable.SampleRate = {}; |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
22 settable.Tag = {}; |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
23 settable.UserData = {}; |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
24 elseif nargin == 2 |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
25 for [value, property] = varargin{2} |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
26 setproperty (recorder, property, value); |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
27 endfor |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
28 elseif nargin == 3 |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
29 if iscell (varargin{2}) |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
30 index = 1; |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
31 for property = varargin{2} |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
32 setproperty (recorder, char(property), varargin{3}{index}); |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
33 index = index + 1; |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
34 endfor |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
35 else |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
36 setproperty (recorder, varargin{2}, varargin{3}); |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
37 endif |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
38 else |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
39 error ('audiorecorder: wrong number of arguments to the set method'); |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
40 endif |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
41 endfunction |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
42 |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
43 function setproperty (recorder, property, value) |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
44 switch property |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
45 case 'SampleRate' |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
46 __recorder_set_fs__ (recorder, value); |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
47 case 'Tag' |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
48 __recorder_set_tag__ (recorder, value); |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
49 case 'UserData' |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
50 __recorder_set_userdata__ (recorder, value); |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
51 otherwise |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
52 error ('audiorecorder: no such property or the property specified is read-only'); |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
53 endswitch |
e1f98e402a7e
New files - @audiorecorder and @audioplayer classes
Vytautas Jančauskas <unaudio@gmail.com>
parents:
diff
changeset
|
54 endfunction |