tomwalters@0: % method of class @parameter tomwalters@0: % bleeck@3: % (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: function [selectedunit,fullunitname]=getcurrentunit(param,text,panel) tomwalters@0: % returns the unit that this value is currently set to tomwalters@0: tomwalters@0: tomwalters@0: cont=param.entries; tomwalters@0: nrent=length(cont); tomwalters@0: tomwalters@0: if nargin<3 % search in all subsections tomwalters@0: panel='all'; tomwalters@0: end tomwalters@0: tomwalters@0: nr=getentrynumberbytext(param,text,panel); tomwalters@0: if nr>0 tomwalters@0: type=cont{nr}.type; tomwalters@0: if ~strcmp(type,'float') && ~strcmp(type,'slider') tomwalters@0: selectedunit='only floats have units...'; tomwalters@0: fullunitname=''; tomwalters@0: return tomwalters@0: end tomwalters@0: tomwalters@0: handleb=gethandle(param,text,panel,1); tomwalters@0: if ~isequal(handleb,0) && ishandle(handleb) % yes, there is a screen representation tomwalters@0: unitty=cont{nr}.unittype; tomwalters@0: if isa(unitty,'unit_none') tomwalters@0: selectedunit=''; tomwalters@0: fullunitname=''; tomwalters@0: else tomwalters@0: handleb2=gethandle(param,text,panel,2); tomwalters@0: unitnr=get(handleb2,'value'); tomwalters@0: possibleunitstr=getunitstrings(unitty); tomwalters@0: selectedunit=possibleunitstr{unitnr}; tomwalters@0: possible_units_full=getunitfullstrings(unitty); tomwalters@0: fullunitname=possible_units_full{unitnr}; tomwalters@0: end tomwalters@0: return tomwalters@0: else % no representation on screen tomwalters@0: selectedunit=cont{nr}.orgunit; tomwalters@0: return tomwalters@0: end tomwalters@0: else tomwalters@0: error('error, the entry does not exist'); tomwalters@0: % val=0; % we must return a logical value otherwise it can generate difficult errors tomwalters@0: end