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