wolffd@0: function a = set(a,varargin) wolffd@0: % SET Set properties for the MIRdata object wolffd@0: % and return the updated object wolffd@0: wolffd@0: propertyArgIn = varargin; 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 'Pos' wolffd@0: a.pos = val; wolffd@0: case {'Data','ChunkData'} wolffd@0: if strcmp(prop,'ChunkData') wolffd@0: val = {{val}}; wolffd@0: end wolffd@0: a.data = val; wolffd@0: case 'Unit' wolffd@0: a.unit = val; wolffd@0: case 'FramePos' wolffd@0: a.framepos = val; wolffd@0: case 'Sampling' wolffd@0: a.sr = val; wolffd@0: case 'NBits' wolffd@0: a.nbits = val; wolffd@0: case 'Name' wolffd@0: a.name = val; wolffd@0: case 'Name2' wolffd@0: a.name2 = val; wolffd@0: case 'Label' wolffd@0: a.label = val; wolffd@0: case 'Channels' wolffd@0: a.channels = val; wolffd@0: case 'Clusters' wolffd@0: a.clusters = val; wolffd@0: case 'MultiData' wolffd@0: a.multidata = val; wolffd@0: case 'Title' wolffd@0: a.title = val; wolffd@0: case 'Abs' wolffd@0: a.abs = val; wolffd@0: case 'Ord' wolffd@0: a.ord = val; wolffd@0: case 'PeakPos' wolffd@0: a.peak.pos = val; wolffd@0: case 'PeakVal' wolffd@0: a.peak.val = val; wolffd@0: case 'PeakPrecisePos' wolffd@0: a.peak.precisepos = val; wolffd@0: case 'PeakPreciseVal' wolffd@0: a.peak.preciseval = val; wolffd@0: case 'PeakMode' wolffd@0: a.peak.mode = val; wolffd@0: case 'AttackPos' wolffd@0: a.attack.pos = val; wolffd@0: case 'ReleasePos' wolffd@0: a.release.pos = val; wolffd@0: case 'TrackPos' wolffd@0: a.track.pos = val; wolffd@0: case 'TrackVal' wolffd@0: a.track.val = val; wolffd@0: case 'TrackPrecisePos' wolffd@0: a.track.precisepos = val; wolffd@0: case 'TrackPreciseVal' wolffd@0: a.track.preciseval = val; wolffd@0: case 'InterChunk' wolffd@0: a.interchunk = val; wolffd@0: case 'TmpIdx' wolffd@0: a.tmpidx = val; wolffd@0: case 'AcrossChunks' wolffd@0: a.acrosschunks = val; wolffd@0: case 'Interpolable' wolffd@0: a.interpolable = val; wolffd@0: case 'TmpFile' wolffd@0: a.tmpfile = val; wolffd@0: case 'Index' wolffd@0: a.index = val; wolffd@0: otherwise wolffd@0: error(['Unknown MIRdata property: ' prop]) wolffd@0: end wolffd@0: end