vx32

Local 9vx git repository for patches.
git clone git://r-36.net/vx32
Log | Files | Refs

utils.h (2214B)


      1 /* flac - Command-line FLAC encoder/decoder
      2  * Copyright (C) 2002,2003,2004,2005  Josh Coalson
      3  *
      4  * This program is free software; you can redistribute it and/or
      5  * modify it under the terms of the GNU General Public License
      6  * as published by the Free Software Foundation; either version 2
      7  * of the License, or (at your option) any later version.
      8  *
      9  * This program is distributed in the hope that it will be useful,
     10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     12  * GNU General Public License for more details.
     13  *
     14  * You should have received a copy of the GNU General Public License
     15  * along with this program; if not, write to the Free Software
     16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
     17  */
     18 
     19 #ifndef flac__utils_h
     20 #define flac__utils_h
     21 
     22 #include "FLAC/ordinals.h"
     23 #include "FLAC/format.h" /* for FLAC__StreamMetadata_CueSheet */
     24 #include <stdio.h> /* for FILE */
     25 
     26 typedef struct {
     27 	FLAC__bool is_relative; /* i.e. specification string started with + or - */
     28 	FLAC__bool value_is_samples;
     29 	union {
     30 		double seconds;
     31 		FLAC__int64 samples;
     32 	} value;
     33 } utils__SkipUntilSpecification;
     34 
     35 typedef struct {
     36 	FLAC__bool has_start_point, has_end_point;
     37 	unsigned start_track, start_index;
     38 	unsigned end_track, end_index;
     39 } utils__CueSpecification;
     40 
     41 #ifdef FLAC__VALGRIND_TESTING
     42 size_t flac__utils_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
     43 #else
     44 #define flac__utils_fwrite fwrite
     45 #endif
     46 
     47 extern int flac__utils_verbosity_;
     48 void flac__utils_printf(FILE *stream, int level, const char *format, ...);
     49 
     50 FLAC__bool flac__utils_parse_skip_until_specification(const char *s, utils__SkipUntilSpecification *spec);
     51 void flac__utils_canonicalize_skip_until_specification(utils__SkipUntilSpecification *spec, unsigned sample_rate);
     52 
     53 FLAC__bool flac__utils_parse_cue_specification(const char *s, utils__CueSpecification *spec);
     54 void flac__utils_canonicalize_cue_specification(const utils__CueSpecification *cue_spec, const FLAC__StreamMetadata_CueSheet *cuesheet, FLAC__uint64 total_samples, utils__SkipUntilSpecification *skip_spec, utils__SkipUntilSpecification *until_spec);
     55 
     56 #endif