This redesign completely changes how tags are stored in memory. Now all arbitrary tag names are supported, where possible. Some extra work will be needed to support arbitrary tags with TagLib, such as replacing it with a different library. Translation pending for a couple of strings. Signed-off-by: Christopher Snowhill <kode54@gmail.com>
61 lines
1.1 KiB
Objective-C
61 lines
1.1 KiB
Objective-C
//
|
|
// FlacFile.h
|
|
// zyVorbis
|
|
//
|
|
// Created by Vincent Spader on 1/25/05.
|
|
// Copyright 2005 Vincent Spader All rights reserved.
|
|
//
|
|
|
|
#import "FLAC/all.h"
|
|
#import <Cocoa/Cocoa.h>
|
|
|
|
#define SAMPLES_PER_WRITE 512
|
|
#define FLAC__MAX_SUPPORTED_CHANNELS 8
|
|
#define SAMPLE_blockBuffer_SIZE ((FLAC__MAX_BLOCK_SIZE + SAMPLES_PER_WRITE) * FLAC__MAX_SUPPORTED_CHANNELS * (24 / 8))
|
|
|
|
#import "Plugin.h"
|
|
|
|
@interface FlacDecoder : NSObject <CogDecoder> {
|
|
FLAC__StreamDecoder *decoder;
|
|
void *blockBuffer;
|
|
int blockBufferFrames;
|
|
|
|
id<CogSource> source;
|
|
|
|
BOOL endOfStream;
|
|
|
|
int bitsPerSample;
|
|
int channels;
|
|
uint32_t channelConfig;
|
|
float frequency;
|
|
long totalFrames;
|
|
|
|
long fileSize;
|
|
|
|
BOOL hasStreamInfo;
|
|
BOOL streamOpened;
|
|
BOOL abortFlag;
|
|
|
|
NSDictionary *metaDict;
|
|
NSDictionary *icyMetaDict;
|
|
|
|
NSData *albumArt;
|
|
|
|
BOOL cuesheetFound;
|
|
NSString *cuesheet;
|
|
}
|
|
|
|
- (void)setSource:(id<CogSource>)s;
|
|
- (id<CogSource>)source;
|
|
|
|
- (void)setEndOfStream:(BOOL)eos;
|
|
- (BOOL)endOfStream;
|
|
|
|
- (void)setSize:(long)size;
|
|
|
|
- (FLAC__StreamDecoder *)decoder;
|
|
- (char *)blockBuffer;
|
|
- (int)blockBufferFrames;
|
|
- (void)setBlockBufferFrames:(int)frames;
|
|
|
|
@end
|