//
//  SMUGChordShape
//  Capo
//
//  Created by Alan Westbrook on 4/15/13.
//
//

@interface SMUGChordShape : NSObject<NSCoding>

@property (nonatomic,assign) uint64_t badness;
@property (nonatomic,readonly) uint8_t baseFret;
@property (nonatomic,assign) uint8_t baseString;
@property (nonatomic,readonly) NSArray *indicators;
@property (nonatomic,readonly) uint8_t reach;

+ (instancetype)shapeFromIndicatorArray: (NSArray *)indicators atFret: (uint8_t)fret;

- (void)addIndicatorForFret: (int8_t) fret onString: (uint8_t)string;
- (void)addBarreIndicatorForFret: (uint8_t)fret startString: (uint8_t)start endString: (uint8_t)end;
- (void)addOpenIndicatorForString: (uint8_t)string;
- (void)addMutedIndicatorForString: (uint8_t)string;
- (NSComparisonResult)compare: (SMUGChordShape*)aShape;
- (BOOL)isEqualToShape: (SMUGChordShape*)aShape;

@end
