mirror of
https://github.com/ksherlock/ample.git
synced 2024-11-15 06:09:34 +00:00
57 lines
1.0 KiB
C
57 lines
1.0 KiB
C
//
|
|
// Media.h
|
|
// Ample
|
|
//
|
|
// Created by Kelvin Sherlock on 3/7/2021.
|
|
// Copyright © 2021 Kelvin Sherlock. All rights reserved.
|
|
//
|
|
|
|
#ifndef Media_h
|
|
#define Media_h
|
|
|
|
|
|
typedef struct Media {
|
|
unsigned cass;
|
|
unsigned cdrom;
|
|
unsigned hard;
|
|
unsigned floppy_8;
|
|
unsigned floppy_5_25;
|
|
unsigned floppy_3_5;
|
|
unsigned pseudo_disk;
|
|
unsigned bitbanger;
|
|
unsigned midiin;
|
|
unsigned midiout;
|
|
unsigned picture;
|
|
unsigned rom;
|
|
uint64_t floppy_mask_8;
|
|
uint64_t floppy_mask_5_25;
|
|
uint64_t floppy_mask_3_5;
|
|
} Media;
|
|
|
|
|
|
typedef enum {
|
|
MediaTypeError = -1,
|
|
MediaTypeUnknown = 0,
|
|
MediaType_8,
|
|
MediaType_5_25,
|
|
MediaType_3_5,
|
|
MediaType_HardDisk,
|
|
MediaType_CDROM,
|
|
MediaType_Cassette,
|
|
MediaType_Picture,
|
|
MediaType_MIDI,
|
|
MediaType_ROM,
|
|
} MediaType;
|
|
|
|
struct Media MediaFromDictionary(NSDictionary *);
|
|
|
|
void MediaAdd(Media *dest, const Media *src);
|
|
|
|
BOOL MediaEqual(const Media *lhs, const Media *rhs);
|
|
|
|
extern const Media EmptyMedia;
|
|
|
|
MediaType ClassifyMediaFile(id file);
|
|
|
|
#endif /* Media_h */
|