wolffd@0: function cc = set(c,varargin) wolffd@0: % SET Set properties for the MIRchromagram object wolffd@0: % and return the updated object wolffd@0: wolffd@0: propertyArgIn = varargin; wolffd@0: pl = c.plabel; wolffd@0: wr = c.wrap; wolffd@0: cl = c.chromaclass; wolffd@0: cf = c.chromafreq; wolffd@0: or = c.register; wolffd@0: d = mirdata(c); wolffd@0: d = set(d,'Title',get(c,'Title'),'Abs',get(c,'Abs'),'Ord',get(c,'Ord')); wolffd@0: while length(propertyArgIn) >= 2, wolffd@0: prop = propertyArgIn{1}; wolffd@0: val = propertyArgIn{2}; wolffd@0: propertyArgIn = propertyArgIn(3:end); wolffd@0: switch prop wolffd@0: case 'Magnitude' wolffd@0: d = set(d,'Data',val); wolffd@0: case 'Chroma' wolffd@0: d = set(d,'Pos',val); wolffd@0: case 'ChromaClass' wolffd@0: cl = val; wolffd@0: case 'ChromaFreq' wolffd@0: cf = val; wolffd@0: case 'Register' wolffd@0: or = val; wolffd@0: case 'PitchLabel' wolffd@0: pl = val; wolffd@0: case 'Wrap' wolffd@0: wr = val; wolffd@0: otherwise wolffd@0: d = set(d,prop,val); wolffd@0: end wolffd@0: end wolffd@0: cc.plabel = pl; wolffd@0: cc.wrap = wr; wolffd@0: cc.chromaclass = cl; wolffd@0: cc.chromafreq = cf; wolffd@0: cc.register = or; wolffd@0: cc = class(cc,'mirchromagram',d);