tomwalters@0
|
1 % tool
|
tomwalters@0
|
2 %
|
tomwalters@0
|
3 % INPUT VALUES:
|
tomwalters@0
|
4 %
|
tomwalters@0
|
5 % RETURN VALUE:
|
tomwalters@0
|
6 %
|
tomwalters@0
|
7 %
|
bleeck@3
|
8 % This external file is included as part of the 'aim-mat' distribution package
|
bleeck@3
|
9 % (c) 2011, University of Southampton
|
bleeck@3
|
10 % Maintained by Stefan Bleeck (bleeck@gmail.com)
|
bleeck@3
|
11 % download of current version is on the soundsoftware site:
|
bleeck@3
|
12 % http://code.soundsoftware.ac.uk/projects/aimmat
|
bleeck@3
|
13 % documentation and everything is on http://www.acousticscale.org
|
bleeck@3
|
14
|
tomwalters@0
|
15
|
tomwalters@0
|
16 function combi=slidereditcontrol_set_range(combi,duration)
|
tomwalters@0
|
17 % sets the range and the step size, so that the width of the slider is OK
|
tomwalters@0
|
18 % a slidereditcontrol consists of a slider and an edit object, that are
|
tomwalters@0
|
19 % related. When one value changes, the other also changes.
|
tomwalters@0
|
20 % The combination has the following variables:
|
tomwalters@0
|
21 % sliderhandle - the handle of the slider control
|
tomwalters@0
|
22 % edithandle - the handle of the edit control
|
tomwalters@0
|
23 % minvalue - the minimum value allowed
|
tomwalters@0
|
24 % maxvalue - the maximum allowed value
|
tomwalters@0
|
25 % (current_value - the current value)
|
tomwalters@0
|
26 % is_log - whether the slider reponds logarithmically
|
tomwalters@0
|
27 % editscaler - a number, that is multiplied to the edit control (to make ms of secs)
|
tomwalters@0
|
28 % nreditdigits - the number of digits in the edit control
|
tomwalters@0
|
29
|
tomwalters@0
|
30 % works only for linear sliders (yet)
|
tomwalters@0
|
31 if combi.is_log==1
|
tomwalters@0
|
32 set(combi.sliderhandle,'SliderStep',[0.01 0.1]);
|
tomwalters@0
|
33 else
|
tomwalters@0
|
34 dur=combi.maxvalue-combi.minvalue; % so long is it indeed
|
tomwalters@0
|
35 if abs(dur-duration)>0
|
tomwalters@0
|
36 step1=duration/abs(dur-duration);
|
tomwalters@0
|
37 % step1=duration/dur;
|
tomwalters@0
|
38 if abs(dur) > 0
|
tomwalters@0
|
39 step2=duration/dur/10;
|
tomwalters@0
|
40 step1=max(0,step1);
|
tomwalters@0
|
41 step1=min(1,step1);
|
tomwalters@0
|
42 step2=max(0,step2);
|
tomwalters@0
|
43 step2=min(1,step2);
|
tomwalters@0
|
44 set(combi.sliderhandle,'SliderStep',[step2 step1]);
|
tomwalters@0
|
45 return
|
tomwalters@0
|
46 end
|
tomwalters@0
|
47 end
|
tomwalters@0
|
48 step1=1;
|
tomwalters@0
|
49 step2=1;
|
tomwalters@0
|
50 set(combi.sliderhandle,'SliderStep',[step2 step1]);
|
tomwalters@0
|
51 end |