[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New Source tree (was: Upload of PenguinSound changes)

Peter Burns wrote:

>I moved the include files from PenguinPlay/Sound to PenguinPlay and
>removed the PenguinPlay/Sound directory.


>I added very simple Thread and Mutex classes supporting both pthreads
>and windows threads.


>I have removed the windows directory. The MSVC workspaces and projects
>are now organised as below.
>PenguinFile.dsp does not build correctly as I am unsure of the libraries
>and preprocessor definitions that it uses.

No problem. The main projects/whatever file need to be adapted anyway, and
your copy of the PFile code lacks some mods by me. See below.

>When I built my module player using the new version of PenguinSound
>I get warnings about redefinitions of PACKAGE and VERSION as the
>configuration header for PenguinPlay is included from
>PenguinPlay/PenguinPlay.h and my module player also uses 
>automake/autoconf with a configuration header.

Good point. What about adding a rule to include/PenguinPlay/Makefile.in :

ppconfig.h : config.h
	sed -e "s/#define ([A-Z_])/#define PP$1/" \
	    -e "s/#undef ([A-Z_])/#undef PP$1/" 

(not sure about exact sed regexp syntax)

and include only ppconfig.h?

>I also added an acconfig.h for the stuff that was commented out 
>in configure.in and uncommented the commented stuff.

I left --enable-malloccheck and --enable-profile commented out, as they
need some more thinking (esp. --enable-malloccheck)

Ok, I added your files and modifications to my tree and adapted the
Makefile.ams (I also changed the lib_LIBRARIES in the PSound one to
noinst_LIBRARIES). I set the Lib's version to 0.0.2 for now.

Other changes for PFile:
* Completely removed ppfWin32POSIXImpl.*
* Renamed PakFile.* to PakArchive.*
* Renamed PakFileFile.* to PakFile.*
* Renamed PakFileDir.* to PakDirectory.*
* Renamed the other PakFile*.* files to Pak*.*

Changes for doc/PenguinFile:
* Removed BG-PakFile-Format1.sgml (we only have one format now)
* Moved the contents of BG-PakFile-Notes.sgml to BG-PakFile-Main.sgml
* Removed BG-PakFile-Notes.sgml
* Moved BG-PakFile*.sgml to BG-PakArchive*.sgml

Please note that I did *not* adapt the files' contents to that change yet!!!

Ok, in addition to that here's the changelog of my PFile modifications:

* Implemented/fixed the 64bit functions in PakFileUtils.*. They now all
use standard "long" data instead of pp(u)64 for portability. See the
comments in the header.

* Removed URLInfo::ToPlain () and URLInfo::IsForPlain ()

* Fixed bug in URLInfo::ToVirt (WIN32)

* Added GetVFSInterface () to DirEntry and properly implemented it for files

* Renamed ppFILE to ppfFILE

* Removed the DataSize / FileSize distinction for file interfaces. 

* Switched the datasize / filesize meanings of the PakFileFile internals
back to the original meaning.

* Modified File and PakFile so that all Read/Write ops are now "piped"
through them. Makes the mechanism more extensible and distributes
responsibilities better. Not completely done yet.

* Modified the PakFile structure, dividing it into several "parts"
(header, extended header, file data, directory data) 

* Moved DelPtr.h to the main include dir. 

* Generalized internal API handlers from "XXXInPak" to "XXXVirt" (was

* Fixed some bugs in ppfOpenDir () & ppfStat () (did not handle generic
"virt" URLs) 

* Added PakFile * member to PakFileFile (still not handled properly though)

* little changes in /TODO and /AUTHORS

* some other minor things I forgot


I am now committing this source tree to CVS
It will definitely not compile, but file names should be stable enough now.
PFile wouldn't even compile if I hadn't renamed/removed the files, as it's
a snapshot of my sources in the middle of some modifications.



Drive A: not responding...Formatting C: instead