/[svn]/libgig/trunk/src/RIFF.h
ViewVC logotype

Diff of /libgig/trunk/src/RIFF.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 798 by schoenebeck, Thu Nov 3 23:49:11 2005 UTC revision 1095 by schoenebeck, Mon Mar 12 18:16:55 2007 UTC
# Line 1  Line 1 
1  /***************************************************************************  /***************************************************************************
2   *                                                                         *   *                                                                         *
3   *   libgig - C++ cross-platform Gigasampler format file loader library    *   *   libgig - C++ cross-platform Gigasampler format file access library    *
4   *                                                                         *   *                                                                         *
5   *   Copyright (C) 2003-2005 by Christian Schoenebeck                      *   *   Copyright (C) 2003-2007 by Christian Schoenebeck                      *
6   *                              <cuse@users.sourceforge.net>               *   *                              <cuse@users.sourceforge.net>               *
7   *                                                                         *   *                                                                         *
8   *   This library is free software; you can redistribute it and/or modify  *   *   This library is free software; you can redistribute it and/or modify  *
# Line 24  Line 24 
24  #ifndef __RIFF_H__  #ifndef __RIFF_H__
25  #define __RIFF_H__  #define __RIFF_H__
26    
27  #define POSIX 1  #ifdef WIN32
28  #define DEBUG 0  # define POSIX 0
29    #endif
30    
31    #ifndef POSIX
32    # define POSIX 1
33    #endif
34    
35    #ifndef DEBUG
36    # define DEBUG 0
37    #endif
38    
39  #include <string>  #include <string>
40  #include <list>  #include <list>
# Line 45  Line 54 
54    
55  #include <stdint.h>  #include <stdint.h>
56    
57  //typedef unsigned char  uint8_t;  #ifdef WIN32
58  //typedef unsigned short uint16_t;  # include "../win32/libgig_private.h" // like config.h, automatically generated by Dev-C++
59  //typedef unsigned int   uint32_t;  # include <windows.h>
60      typedef unsigned int   uint;
61      typedef unsigned char  uint8_t;
62      typedef unsigned short uint16_t;
63      typedef unsigned int   uint32_t;
64    # define PACKAGE "libgig"
65    # define VERSION VER_STRING // VER_STRING defined in libgig_private.h
66    #endif // WIN32
67    
68  #include <stdio.h>  #include <stdio.h>
69    
# Line 145  namespace RIFF { Line 161  namespace RIFF {
161              unsigned long ulStartPos;           /* actual position in file where chunk (without header) starts */              unsigned long ulStartPos;           /* actual position in file where chunk (without header) starts */
162              unsigned long ulPos;                /* # of bytes from ulStartPos */              unsigned long ulPos;                /* # of bytes from ulStartPos */
163              uint8_t*      pChunkData;              uint8_t*      pChunkData;
164                unsigned long ulChunkDataSize;
165    
166              Chunk(File* pFile);              Chunk(File* pFile);
167              Chunk(File* pFile, List* pParent, uint32_t uiChunkID, uint uiBodySize);              Chunk(File* pFile, List* pParent, uint32_t uiChunkID, uint uiBodySize);
# Line 223  namespace RIFF { Line 240  namespace RIFF {
240              void ReadHeader(unsigned long fPos);              void ReadHeader(unsigned long fPos);
241              void WriteHeader(unsigned long fPos);              void WriteHeader(unsigned long fPos);
242              void LoadSubChunks();              void LoadSubChunks();
243                void LoadSubChunksRecursively();
244              virtual unsigned long WriteChunk(unsigned long ulWritePos, unsigned long ulCurrentDataOffset);              virtual unsigned long WriteChunk(unsigned long ulWritePos, unsigned long ulCurrentDataOffset);
245              virtual void __resetPos(); ///< Sets List Chunk's read/write position to zero and causes all sub chunks to do the same.              virtual void __resetPos(); ///< Sets List Chunk's read/write position to zero and causes all sub chunks to do the same.
246      };      };
# Line 242  namespace RIFF { Line 260  namespace RIFF {
260              #if POSIX              #if POSIX
261              int    hFileRead;  ///< handle / descriptor for reading from file              int    hFileRead;  ///< handle / descriptor for reading from file
262              int    hFileWrite; ///< handle / descriptor for writing to (some) file              int    hFileWrite; ///< handle / descriptor for writing to (some) file
263                #elif defined(WIN32)
264                HANDLE hFileRead;  ///< handle / descriptor for reading from file
265                HANDLE hFileWrite; ///< handle / descriptor for writing to (some) file
266              #else              #else
267              FILE*  hFileRead;  ///< handle / descriptor for reading from file              FILE*  hFileRead;  ///< handle / descriptor for reading from file
268              FILE*  hFileWrite; ///< handle / descriptor for writing to (some) file              FILE*  hFileWrite; ///< handle / descriptor for writing to (some) file
# Line 250  namespace RIFF { Line 271  namespace RIFF {
271              bool   bEndianNative;              bool   bEndianNative;
272    
273              void LogAsResized(Chunk* pResizedChunk);              void LogAsResized(Chunk* pResizedChunk);
274                void UnlogResized(Chunk* pResizedChunk);
275              friend class Chunk;              friend class Chunk;
276              friend class List;              friend class List;
277          private:          private:
# Line 260  namespace RIFF { Line 282  namespace RIFF {
282              void ResizeFile(unsigned long ulNewSize);              void ResizeFile(unsigned long ulNewSize);
283              #if POSIX              #if POSIX
284              unsigned long __GetFileSize(int hFile);              unsigned long __GetFileSize(int hFile);
285                #elif defined(WIN32)
286                unsigned long __GetFileSize(HANDLE hFile);
287              #else              #else
288              unsigned long __GetFileSize(FILE* hFile);              unsigned long __GetFileSize(FILE* hFile);
289              #endif              #endif

Legend:
Removed from v.798  
changed lines
  Added in v.1095

  ViewVC Help
Powered by ViewVC