removed
parent
edaa3600cc
commit
3246b2c064
|
@ -1,147 +0,0 @@
|
||||||
! Copyright (C) 2020 .
|
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
|
||||||
|
|
||||||
USING: system combinators alien alien.libraries alien.syntax alien.c-types classes.struct ;
|
|
||||||
IN: flac.ffi
|
|
||||||
|
|
||||||
<<
|
|
||||||
"avcodec" {
|
|
||||||
{ [ os unix? ] [ "libFLAC.so" ] }
|
|
||||||
} cond cdecl add-library
|
|
||||||
>>
|
|
||||||
|
|
||||||
TYPEDEF: int FLAC__bool
|
|
||||||
TYPEDEF: int16_t FLAC__int16
|
|
||||||
TYPEDEF: int32_t FLAC__int32
|
|
||||||
TYPEDEF: int64_t FLAC__int64
|
|
||||||
TYPEDEF: uint FLAC__uint8
|
|
||||||
TYPEDEF: uint16_t FLAC__uint16
|
|
||||||
TYPEDEF: uint32_t FLAC__uint32
|
|
||||||
TYPEDEF: uint64_t FLAC__uint64
|
|
||||||
TYPEDEF: uint unsigned
|
|
||||||
TYPEDEF: uint8_t FLAC__byte
|
|
||||||
|
|
||||||
ENUM: FLAC__MetadataType
|
|
||||||
FLAC__METADATA_TYPE_STREAMINFO
|
|
||||||
FLAC__METADATA_TYPE_PADDING
|
|
||||||
FLAC__METADATA_TYPE_APPLICATION
|
|
||||||
FLAC__METADATA_TYPE_SEEKTABLE
|
|
||||||
FLAC__METADATA_TYPE_VORBIS_COMMENT
|
|
||||||
FLAC__METADATA_TYPE_CUESHEET
|
|
||||||
FLAC__METADATA_TYPE_PICTURE
|
|
||||||
FLAC__METADATA_TYPE_UNDEFINED
|
|
||||||
FLAC__METADATA_TYPE_TYPE ;
|
|
||||||
|
|
||||||
STRUCT: FLAC__StreamMetadata_StreamInfo
|
|
||||||
{ min_blocksize unsigned }
|
|
||||||
{ max_blocksize unsigned }
|
|
||||||
{ min_framesize unsigned }
|
|
||||||
{ max_framesize unsigned }
|
|
||||||
{ sample_rate unsigned }
|
|
||||||
{ channels unsigned }
|
|
||||||
{ bits_per_sample unsigned }
|
|
||||||
{ total_samples FLAC__uint64 }
|
|
||||||
{ md5sum FLAC__byte[16] } ;
|
|
||||||
|
|
||||||
STRUCT: FLAC__StreamMetadata_Padding
|
|
||||||
{ dummy int } ;
|
|
||||||
|
|
||||||
STRUCT: FLAC__StreamMetadata_Application
|
|
||||||
{ id FLAC__byte[4] }
|
|
||||||
{ data FLAC__byte* } ;
|
|
||||||
|
|
||||||
STRUCT: FLAC__StreamMetadata_SeekPoint
|
|
||||||
{ sample_number FLAC__uint64 }
|
|
||||||
{ stream_offset FLAC__uint64 }
|
|
||||||
{ frame_samples unsigned } ;
|
|
||||||
|
|
||||||
STRUCT: FLAC__StreamMetadata_SeekTable
|
|
||||||
{ num_points unsigned }
|
|
||||||
{ points FLAC__StreamMetadata_SeekPoint* } ;
|
|
||||||
|
|
||||||
STRUCT: FLAC__StreamMetadata_VorbisComment_Entry
|
|
||||||
{ length FLAC__uint32 }
|
|
||||||
{ entry FLAC__byte* } ;
|
|
||||||
|
|
||||||
STRUCT: FLAC__StreamMetadata_VorbisComment
|
|
||||||
{ vendor_string FLAC__StreamMetadata_VorbisComment_Entry }
|
|
||||||
{ num_comments FLAC__uint32 }
|
|
||||||
{ comments FLAC__StreamMetadata_VorbisComment_Entry* } ;
|
|
||||||
|
|
||||||
STRUCT: FLAC__StreamMetadata_CueSheet_Index
|
|
||||||
{ offset FLAC__uint64 }
|
|
||||||
{ number FLAC__byte } ;
|
|
||||||
|
|
||||||
STRUCT: FLAC__StreamMetadata_CueSheet_Track
|
|
||||||
{ offset FLAC__uint64 }
|
|
||||||
{ number FLAC__byte }
|
|
||||||
{ isrc char[13] }
|
|
||||||
{ type unsigned bits: 1 }
|
|
||||||
{ pre_emphasis unsigned bits: 1 }
|
|
||||||
{ num_indices FLAC__byte }
|
|
||||||
{ indices FLAC__StreamMetadata_CueSheet_Index* } ;
|
|
||||||
|
|
||||||
STRUCT: FLAC__StreamMetadata_CueSheet
|
|
||||||
{ media_catalog_number char[129] }
|
|
||||||
{ lead_in FLAC__uint64 }
|
|
||||||
{ is_cd FLAC__bool }
|
|
||||||
{ num_tracks unsigned }
|
|
||||||
{ tracks FLAC__StreamMetadata_CueSheet_Track* } ;
|
|
||||||
|
|
||||||
ENUM: FLAC__StreamMetadata_Picture_Type
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_BAND
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_FISH
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE
|
|
||||||
FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE ;
|
|
||||||
|
|
||||||
STRUCT: FLAC__StreamMetadata_Picture
|
|
||||||
{ type FLAC__StreamMetadata_Picture_Type }
|
|
||||||
{ mime_type char* }
|
|
||||||
{ description FLAC__byte* }
|
|
||||||
{ width FLAC__uint32 }
|
|
||||||
{ height FLAC__uint32 }
|
|
||||||
{ depth FLAC__uint32 }
|
|
||||||
{ colors FLAC__uint32 }
|
|
||||||
{ data_length FLAC__uint32 }
|
|
||||||
{ data FLAC__byte* } ;
|
|
||||||
|
|
||||||
STRUCT: FLAC__StreamMetadata_Unknown
|
|
||||||
{ data FLAC__byte* } ;
|
|
||||||
|
|
||||||
UNION-STRUCT: metadata-union
|
|
||||||
{ stream_info FLAC__StreamMetadata_StreamInfo }
|
|
||||||
{ padding FLAC__StreamMetadata_Padding }
|
|
||||||
{ application FLAC__StreamMetadata_Application }
|
|
||||||
{ seek_table FLAC__StreamMetadata_SeekTable }
|
|
||||||
{ vorbis_comment FLAC__StreamMetadata_VorbisComment }
|
|
||||||
{ cue_sheet FLAC__StreamMetadata_CueSheet }
|
|
||||||
{ picture FLAC__StreamMetadata_Picture }
|
|
||||||
{ unknown FLAC__StreamMetadata_Unknown } ;
|
|
||||||
|
|
||||||
STRUCT: FLAC__StreamMetadata
|
|
||||||
{ type FLAC__MetadataType }
|
|
||||||
{ is_last FLAC__bool }
|
|
||||||
{ length unsigned }
|
|
||||||
{ data metadata-union } ;
|
|
||||||
|
|
||||||
FUNCTION: FLAC__bool FLAC__metadata_get_streaminfo ( c-string filename, FLAC__StreamMetadata* streaminfo )
|
|
||||||
FUNCTION: FLAC__bool FLAC__metadata_get_tags ( c-string filename, FLAC__StreamMetadata** streaminfo )
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue