/[svn]/libgig/trunk/src/gig.cpp
ViewVC logotype

Log of /libgig/trunk/src/gig.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

Revision 2985 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 20 22:13:37 2016 UTC (7 years, 5 months ago) by schoenebeck
File length: 274049 byte(s)
Diff to previous 2923
* gig.cpp/gig.h: Added new method Sample::VerifyWaveData() which
  allows to check whether a sample had been damaged for some
  reason.
* gigdump tool: added and implemented new parameter "--verify"
  which allows to check the raw wave form data integrity of all
  samples.
* gigdump tool: added and implemented new parameter
  "--rebuild-checksums" which allows to recalculate the CRC32
  checksum of all samples' raw wave data and rebuilding the gig
  file's global checksum table (i.e. in case the file's checksum
  table was damaged).
* Bumped version (4.0.0.svn8).


Revision 2923 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 21 08:54:32 2016 UTC (7 years, 9 months ago) by schoenebeck
File length: 266530 byte(s)
Diff to previous 2922
* gig.cpp: Fixed Region::UpdateUpdateVelocityTable() which did not work
  correctly if there were dimensions after the velocity dimension: it
  only created valid velocity tables for cases of dimensions lower than
  the velocity dimension.
* gigdump: Additionally print VelocityUpperLimit and
  DimensionUpperLimits of all dimension regions.
* Bumped version (4.0.0.svn6).


Revision 2922 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 18 18:04:49 2016 UTC (7 years, 10 months ago) by schoenebeck
File length: 266362 byte(s)
Diff to previous 2913
* Using now native integer size where appropriate.
* Bumped version (4.0.0.svn5).


Revision 2913 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 17 15:19:33 2016 UTC (7 years, 10 months ago) by schoenebeck
File length: 266340 byte(s)
Diff to previous 2912
* Revised previous commit: Instead of using a custom new RIFF chunk, check
  the overall file size and in case .gig file is >= 2GB expect a large
  monolithic file, otherwise if .gig file is < 2 GB check for "extension"
  files (.gx01, .gx02, ...) instead.
* Bumped version (4.0.0.svn4).


Revision 2912 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 17 14:30:10 2016 UTC (7 years, 10 months ago) by schoenebeck
File length: 270839 byte(s)
Diff to previous 2836
* gig.cpp/.h: GIG FORMAT EXTENSION: Added support for saving gig file
  larger than 4 GB as one single monolithic gig file. A new custom RIFF
  chunk "FFmt" was added to distinguish such monolithic large .gig files
  from old ones which were splitted over several (.gx01, .gx02, ...)
  "extension" files before.
* DLS.cpp/.h: Sample class: wave pool offsets are now 64 bits (to allow
  support for files larger than 4 GB).
* RIFF.cpp/.h: Addded support for RIFF files larger than 4 GB, by default
  the required internal RIFF file offset size is automatically detected
  (that is RIFF files < 4 GB automatically use 32 bit offsets while
  files >= 4 GB automatically use 64 bit offsets), a particular offset
  size can be forced with a new option added to the RIFF File constructor
  though.
* RIFF.cpp/.h: When saving a modified, grown RIFF file, the temporary file
  size during Save() operation will no longer be larger than the final
  grown file size.
* Automake: Set environment variable GCC_COLORS=auto to allow GCC to auto
  detect whether it (sh/c)ould output its messages in color.
* Bumped version (4.0.0.svn3).


Revision 2836 - (view) (download) (annotate) - [select for diffs]
Modified Sun Aug 23 05:57:18 2015 UTC (8 years, 6 months ago) by persson
File length: 264826 byte(s)
Diff to previous 2702
* gig: fixed bug in Script::SetGroup: the script chunk wasn't moved
* fixed compilation error with clang 3.4
* akai tools: improved output of non-ascii characters in usage messages
* fixed compile warnings


Revision 2702 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 13 00:32:30 2015 UTC (9 years, 2 months ago) by schoenebeck
File length: 264840 byte(s)
Diff to previous 2700
* Bugfix of previous commit.
* Bumped version (3.3.0.svn27).


Revision 2700 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 12 23:22:29 2015 UTC (9 years, 2 months ago) by schoenebeck
File length: 264823 byte(s)
Diff to previous 2682
* gig: Added new method Instrument::MoveTo() which allows to rearrange the
  order of instruments within the same gig file.
* Bumped version (3.3.0.svn26).


Revision 2682 - (view) (download) (annotate) - [select for diffs]
Modified Mon Dec 29 16:25:51 2014 UTC (9 years, 2 months ago) by schoenebeck
File length: 262356 byte(s)
Diff to previous 2667
* gig: Added support for custom progress notification while saving to
  gig file.
* DLS: Added support for custom progress notification while saving to
  DLS file.
* RIFF: Added support for custom progress notification while saving to
  RIFF file.
* Bumped version (3.3.0.svn22).


Revision 2667 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 7 15:20:22 2014 UTC (9 years, 8 months ago) by schoenebeck
File length: 262399 byte(s)
Diff to previous 2648
* gig: Fixed crash when saving a gig file after all
  instrument scripts have been explicitly deleted.
* Bumped version (3.3.0.svn20).


Revision 2648 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 18 14:32:33 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 262372 byte(s)
Diff to previous 2640
* gig: Fixed file corruption if instrument(s) with script slot(s)
  were loaded and saved before their scripts were ever referenced.
* gig: Backward compatibility fix: Remove own custom RIFF chunks
  if all script slots were deleted.
* Bumped version (3.3.0.svn19).


Revision 2640 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 16 14:54:06 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 261977 byte(s)
Diff to previous 2639
- Fix of previous commit.


Revision 2639 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 16 13:22:50 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 261782 byte(s)
Diff to previous 2609
* gig.h/.cpp: Added new method Region::SetDimensionType().
* Bumped version (3.3.0.svn18).


Revision 2609 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 8 19:00:30 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 260435 byte(s)
Diff to previous 2602
* gig: Fixed instrument script slot saving/loading.
* gigdump tool: Show scripts and script slots.
* Bumped version (3.3.0.svn17).


Revision 2602 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jun 7 22:28:04 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 258583 byte(s)
Diff to previous 2601
* gig.cpp: Fixed loading instrument script from file.


Revision 2601 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jun 7 15:19:58 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 258617 byte(s)
Diff to previous 2599
* gig.h/.cpp: Added new method Script::GetGroup().
* Bumped version (3.3.0.svn15).


Revision 2599 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jun 7 00:00:10 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 258358 byte(s)
Diff to previous 2593
* gig.cpp/.h: Added new method Region::GetDimensionRegionIndexByValue().
* Bumped version (3.3.0.svn14).


Revision 2593 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 4 01:59:56 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 255864 byte(s)
Diff to previous 2584
* gig.cpp: Missed implementation of Instrument::GetScriptOfSlot().


Revision 2584 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 31 20:54:39 2014 UTC (9 years, 9 months ago) by schoenebeck
File length: 255217 byte(s)
Diff to previous 2564
* gig.h/.cpp: GIG FORMAT EXTENSION: added support for real-time
  instrument scripts.
* RIFF.h/.cpp: added 2nd alternative method for List::MoveSubChunk(),
  the old 1st one allows to move a subchunk within the current List
  whereas the new 2nd one allows to move the subchunk from the
  current list to another list.
* Bumped version (3.3.0.svn13).


Revision 2564 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 20 12:15:05 2014 UTC (9 years, 10 months ago) by schoenebeck
File length: 232417 byte(s)
Diff to previous 2557
* gig.cpp: Fixed crash caused by Region::GetDimensionRegionByValue() that
  happened with certain velocity split sounds under certain conditions
  (added bound constraints to prevent that).


Revision 2557 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 17 23:31:20 2014 UTC (9 years, 10 months ago) by schoenebeck
File length: 232252 byte(s)
Diff to previous 2555
* gig.cpp: update velocity table at the end of
  Region::DeleteDimensionZone() and
  Region::SplitDimensionZone()
* bumped version (3.3.0.svn12)


Revision 2555 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 16 23:08:42 2014 UTC (9 years, 10 months ago) by schoenebeck
File length: 232188 byte(s)
Diff to previous 2547
* gig.h/.cpp: Added new method Region::DeleteDimensionZone(dimension_t, int)
* gig.h/.cpp: Added new method Region::SplitDimensionZone(dimension_t, int)
* Bumped version (3.3.0.svn11)


Revision 2547 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 13 11:17:24 2014 UTC (9 years, 10 months ago) by schoenebeck
File length: 218005 byte(s)
Diff to previous 2543
* Fix: don't alter region pointer in gig::DimensionRegion::CopyAssign()
  (caused crash with the new "combine instruments" feature in gigedit).
* Added new method gig::Region::GetDimensionDefinition(dimension_t type).
* Added some more sanity checks in gig::Region::AddDimension().
* Added inline helper methods overlaps() for struct DLS::range_t.
* Added more API doc comments.
* Bumped version (3.3.0.svn10).



Revision 2543 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 10 02:06:58 2014 UTC (9 years, 10 months ago) by schoenebeck
File length: 216482 byte(s)
Diff to previous 2540
* Initial support for sample based instruments in KORG's file format (.KMP
  and .KSF files) -> Korg.h, Korg.cpp.
* Added new command line tool "korgdump" (and a man page for it).
* Added new command line tool "korg2gig" (and a man page for it), for
  converting KORG sounds to Giga format.
* riftree tool: Added more command line options for being able to also dump
  other kind of file formats similar but not equal to the RIFF format.
* gig.h/.cpp: Added new method File::GetGroup(String name) for retrieving
  group by name.
* RIFF.h/.cpp: Added support for loading RIFF-like files with a bit
  different layout than "real" RIFF files (used for KORG format support).
* RIFF.h/.cpp: Added new method Chunk::GetFile().
* RIFF.h/.cpp: Added new method Chunk::GetLayout().
* Bumped version (3.3.0.svn9).


Revision 2540 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 23 16:39:43 2014 UTC (9 years, 10 months ago) by schoenebeck
File length: 215771 byte(s)
Diff to previous 2484
* GIG SOUND FORMAT EXTENSION: added additional MIDI controllers for
  leverage controller types (only works with LinuxSampler & gigedit,
  will not work with Gigasampler/GigaStudio).
* Bumped version (3.3.0.svn8).


Revision 2484 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 31 00:13:20 2013 UTC (10 years, 2 months ago) by schoenebeck
File length: 196006 byte(s)
Diff to previous 2482
* Added new command line tool "gig2mono" (and a new man page for it).
* src/gig.cpp: Delete "ewav" chunk of Sample if "Compression" attribute was
  toggled to false.
* Bumped version to 3.3.0.svn7.


Revision 2482 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 25 02:22:38 2013 UTC (10 years, 3 months ago) by schoenebeck
File length: 195665 byte(s)
Diff to previous 2467
* Added new command line tool "gigmerge" which allows to merge
  a list of gig files to one single gig file.
* Added new "man" page for new tool "gigmerge".
* src/gig.h: Added new method File::AddContentOf().
* src/DLS.h: Added new method File::SetFileName().
* src/RIFF.h: Added new method File::SetFileName().
* src/RIFF.h: Added new method File::IsNew().
* Added "const" keyword to several methods.
* Bumped version to 3.3.0.svn6.


Revision 2467 - (view) (download) (annotate) - [select for diffs]
Modified Sun Sep 8 16:25:42 2013 UTC (10 years, 6 months ago) by schoenebeck
File length: 187751 byte(s)
Diff to previous 2450
* bugfix: sample groups were sometimes created multiple times or with
  wrong textual group name
* bumped library version to v3.3.0.svn5


Revision 2450 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 8 17:53:07 2013 UTC (10 years, 10 months ago) by persson
File length: 187309 byte(s)
Diff to previous 2402
* added write support for CtrlTrigger midi rule
* added read and write support for Legato and Alternator midi rules


Revision 2402 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jan 19 08:19:14 2013 UTC (11 years, 2 months ago) by persson
File length: 180272 byte(s)
Diff to previous 2394
* gig bugfix: negative EG3 depth values were not correctly parsed or
  saved


Revision 2394 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 7 23:23:58 2013 UTC (11 years, 2 months ago) by schoenebeck
File length: 180274 byte(s)
Diff to previous 2152
* implemented gig::File::AddDuplicateInstrument()
* bumped version to 3.3.0.svn4


Revision 2152 - (view) (download) (annotate) - [select for diffs]
Modified Fri Dec 17 16:51:48 2010 UTC (13 years, 3 months ago) by persson
File length: 174999 byte(s)
Diff to previous 1950
* bugfix: VCF velocity dynamic range and VCF velocity curve weren't
  saved correctly


Revision 1950 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 29 08:57:46 2009 UTC (14 years, 7 months ago) by persson
File length: 174999 byte(s)
Diff to previous 1875
* fixed a tiny memory leak


Revision 1875 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 26 13:32:59 2009 UTC (14 years, 11 months ago) by schoenebeck
File length: 174907 byte(s)
Diff to previous 1869
* fixed crash which occured when streaming a gig sample with
  bi-directional (a.k.a. 'pingpong') loop type (fixes #102)


Revision 1869 - (view) (download) (annotate) - [select for diffs]
Modified Sun Mar 22 11:13:25 2009 UTC (15 years ago) by persson
File length: 174668 byte(s)
Diff to previous 1851
* bugfix: destructor for base class RIFF::Chunk accessed members of
  derived class RIFF::File, which is bad, and caused crashes when
  using Visual C++
* bugfix: EG3 depth parameter was not saved correctly
* fixes for building with Visual C++


Revision 1851 - (view) (download) (annotate) - [select for diffs]
Modified Sun Mar 1 22:08:32 2009 UTC (15 years ago) by schoenebeck
File length: 174659 byte(s)
Diff to previous 1713
* bugfix: refuse RIFF::Chunk::Read() in case chunk has just been added,
  that is not written physically yet (#82)
* bugfix in gig::Sample::LoadSampleData*(): reset sample read position
  to sample start before trying to (re)load sample data from file (#82)


Revision 1713 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 6 20:42:22 2008 UTC (16 years ago) by persson
File length: 174558 byte(s)
Diff to previous 1678
* fixed compilation with gcc 4.3


Revision 1678 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 10 16:07:22 2008 UTC (16 years, 1 month ago) by persson
File length: 174537 byte(s)
Diff to previous 1627
* bugfix: saving to the same file after the file size had been
  increased made the file corrupt (#82)
* bugfix: removed another iterator invalidation in DeleteSample
* changed the functions for midi rules, to get rid of the iterator


Revision 1627 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jan 6 10:53:53 2008 UTC (16 years, 2 months ago) by persson
File length: 174968 byte(s)
Diff to previous 1524
* added partial support for MIDI rules, only the Controller Triggered
  rule is supported so far


Revision 1524 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 25 17:29:37 2007 UTC (16 years, 3 months ago) by schoenebeck
File length: 172631 byte(s)
Diff to previous 1416
* src/gig.cpp, src/gig.h:
  added File::SetAutoLoad() and File::GetAutoLoad() for allowing
  applications to retrieve very superficial informations like amount of
  instruments and their names in a very fast way


Revision 1416 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 14 12:06:32 2007 UTC (16 years, 5 months ago) by schoenebeck
File length: 171179 byte(s)
Diff to previous 1384
* minor code refactoring regarding fixed string lenghts of
  fields in class DLS::Info
* preparations for release 3.2.0


Revision 1384 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 5 11:26:53 2007 UTC (16 years, 5 months ago) by schoenebeck
File length: 171161 byte(s)
Diff to previous 1381
- another minor API doc update


Revision 1381 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 4 18:57:10 2007 UTC (16 years, 5 months ago) by schoenebeck
File length: 171099 byte(s)
Diff to previous 1358
* code refactoring: hid the CRC class (src/gig.h), no need to expose it
  to the API, since it's only used internally


Revision 1358 - (view) (download) (annotate) - [select for diffs]
Modified Sun Sep 30 18:13:33 2007 UTC (16 years, 5 months ago) by schoenebeck
File length: 169507 byte(s)
Diff to previous 1335
* added various setter methods to which take care of updating
  lookup tables / caches


Revision 1335 - (view) (download) (annotate) - [select for diffs]
Modified Sun Sep 9 21:22:58 2007 UTC (16 years, 6 months ago) by schoenebeck
File length: 164818 byte(s)
Diff to previous 1317
* added virtual method SetKeyRange() to the gig and DLS Region classes,
  which automatically take care that the "resized" Region is at the
  correct position and that the lookup table for
  gig::Instrument::GetRegion() is updated (moved code from gigedit)
* MoveRegion() method of DLS::Region class is now private
* bugfix: gig::Instrument::UpdateRegionKeyTable() did not reset unused
  areas


Revision 1317 - (view) (download) (annotate) - [select for diffs]
Modified Sat Sep 1 07:15:53 2007 UTC (16 years, 6 months ago) by persson
File length: 164449 byte(s)
Diff to previous 1316
- minor code cleanup with help of the new GetParent function


Revision 1316 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 31 19:09:13 2007 UTC (16 years, 6 months ago) by schoenebeck
File length: 164970 byte(s)
Diff to previous 1301
* src/gig.h, src/gig.cpp:
  - added method GetParent() to class 'DimensionRegion', which returns its
    parent Region


Revision 1301 - (view) (download) (annotate) - [select for diffs]
Modified Sat Aug 25 09:59:53 2007 UTC (16 years, 6 months ago) by persson
File length: 164834 byte(s)
Diff to previous 1292
* AddDimension now copies all parameters from existing dimension
  regions and also makes sure that the samplechannel dimension is
  placed first
* Windows fixes: compile error in DLSID generator, saving a new file
  didn't work


Revision 1292 - (view) (download) (annotate) - [select for diffs]
Modified Sat Aug 11 14:38:51 2007 UTC (16 years, 7 months ago) by schoenebeck
File length: 162574 byte(s)
Diff to previous 1266
just minor API doc update


Revision 1266 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 2 14:12:55 2007 UTC (16 years, 7 months ago) by persson
File length: 162486 byte(s)
Diff to previous 1264
* write support fixes: allow regions/dimension regions without mapped
  samples, 3gnl in v3 files now always has 128 entries, several
  parameters where incorrectly saved due to an operator precedence
  mistake
* DeleteSample now removes all references to the deleted sample


Revision 1264 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jul 29 10:51:09 2007 UTC (16 years, 7 months ago) by persson
File length: 160803 byte(s)
Diff to previous 1247
* added write support for 24 bit samples
* set default version to 3 when creating a new file
* more chunk order fixes
* 3ewg is now bigger in v3
* one more einf field figured out
* added some dimension strings to gigdump


Revision 1247 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jun 22 09:59:57 2007 UTC (16 years, 9 months ago) by persson
File length: 159145 byte(s)
Diff to previous 1218
* more write support fixes: crossfade parameters were not saved, v3
  dimension limits were not correctly initialized and saved when
  dimensions were added or deleted, v3 wave pool offsets were not
  saved correctly


Revision 1218 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jun 1 19:19:28 2007 UTC (16 years, 9 months ago) by persson
File length: 157226 byte(s)
Diff to previous 1209
* improved the default values for dimension region parameters


Revision 1209 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 27 13:54:24 2007 UTC (16 years, 9 months ago) by persson
File length: 157224 byte(s)
Diff to previous 1207
* added DLSID support


Revision 1207 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 26 13:59:40 2007 UTC (16 years, 9 months ago) by persson
File length: 157065 byte(s)
Diff to previous 1199
- added some comments for the latest changes


Revision 1199 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 20 10:11:39 2007 UTC (16 years, 10 months ago) by persson
File length: 156638 byte(s)
Diff to previous 1195
* added write support for the 3crc and einf chunks
* two previously unknown fields in dimension definition are now saved
* added constants for gig file versions


Revision 1195 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 17 17:24:26 2007 UTC (16 years, 10 months ago) by persson
File length: 149253 byte(s)
Diff to previous 1192
* write support fix: dimension region chunks were added in wrong list


Revision 1192 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 17 10:12:08 2007 UTC (16 years, 10 months ago) by persson
File length: 149186 byte(s)
Diff to previous 1182
* write support: files created by libgig will now have the RIFF chunks
  in correct order


Revision 1182 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 13 05:48:51 2007 UTC (16 years, 10 months ago) by persson
File length: 147992 byte(s)
Diff to previous 1180
* added missing parameter initalizations
* clear unused fields when saving
* fixed write support bugs: v3 dimension limits and chunksize weren't
  saved, leverage controller of type controlchange couldn't be saved,
  group name list chunk was placed wrong
* added initialization of some fixed info strings


Revision 1180 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 12 12:39:25 2007 UTC (16 years, 10 months ago) by persson
File length: 147114 byte(s)
Diff to previous 1179
* improved handling of fixed length info strings


Revision 1179 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 12 11:25:04 2007 UTC (16 years, 10 months ago) by persson
File length: 146157 byte(s)
Diff to previous 1158
* fixed write support for big-endian systems


Revision 1158 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 13 16:41:18 2007 UTC (16 years, 11 months ago) by schoenebeck
File length: 146652 byte(s)
Diff to previous 1113
* fixed segmentation fault in the gig::File destructor sequence which
  happened when gig::Group informations were accessed before


Revision 1113 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 23 20:05:02 2007 UTC (17 years ago) by schoenebeck
File length: 146638 byte(s)
Diff to previous 1106
* fixed AddDimension() method which did not fill out all mandatory
  dimension definition fields


Revision 1106 - (view) (download) (annotate) - [select for diffs]
Modified Sun Mar 18 19:38:47 2007 UTC (17 years ago) by schoenebeck
File length: 146486 byte(s)
Diff to previous 1102
* fixed exceptions which occured when trying to save a new instrument:
    - override the gig::Regions sample reference simply by the region's
      first dimension region's sample
    - fixed software info field which was wrongly stored on instruments


Revision 1102 - (view) (download) (annotate) - [select for diffs]
Modified Sun Mar 18 07:13:06 2007 UTC (17 years ago) by persson
File length: 146149 byte(s)
Diff to previous 1099
* added MoveRegion and MoveSubChunk
* fixed initialization in AddRegion


Revision 1099 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 15 13:57:47 2007 UTC (17 years ago) by schoenebeck
File length: 146098 byte(s)
Diff to previous 1098
* fixed group destructor which did not remove the RIFF chunk associated
  with the group


Revision 1098 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 15 00:32:06 2007 UTC (17 years ago) by schoenebeck
File length: 145957 byte(s)
Diff to previous 1083
* src/gig.cpp, src/gig.h: fixed group names which were not saved


Revision 1083 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 8 16:41:27 2007 UTC (17 years ago) by schoenebeck
File length: 144999 byte(s)
Diff to previous 1081
* fixed crash which occured on interfering File::DeleteSample() and
  File::GetNextSample() calls (due to iterator invalidation)


Revision 1081 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 8 00:17:03 2007 UTC (17 years ago) by schoenebeck
File length: 144870 byte(s)
Diff to previous 1076
* added new method File::DeleteGroupOnly() which only deletes the given
  group but moves all its members to another group, the other method,
  that is File::DeleteGroup() now removes not just the group, but also
  all the samples that belong to that group


Revision 1076 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 6 18:33:30 2007 UTC (17 years ago) by persson
File length: 143403 byte(s)
Diff to previous 1070
* added "smart midi" and "round robin keyboard" dimensions


Revision 1070 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 5 17:42:35 2007 UTC (17 years ago) by persson
File length: 143192 byte(s)
Diff to previous 1050
* custom velocity splits now works for gig v3 files too
* added support for custom splits points for other dimensions than
  velocity (gig v3 feature)


Revision 1050 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 2 01:04:45 2007 UTC (17 years ago) by schoenebeck
File length: 141764 byte(s)
Diff to previous 933
* ported to Windows using native Windows functions for file IO
  (provided Dev-C++ + mingw project file)
* renamed macro WAVE_FORMAT_PCM to DLS_WAVE_FORMAT_PCM
  to avoid clash with definition in i.e. windows.h


Revision 933 - (view) (download) (annotate) - [select for diffs]
Modified Fri Nov 24 12:50:05 2006 UTC (17 years, 3 months ago) by schoenebeck
File length: 141748 byte(s)
Diff to previous 930
* preparations for release 3.1.0


Revision 930 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 29 17:57:20 2006 UTC (17 years, 4 months ago) by schoenebeck
File length: 141748 byte(s)
Diff to previous 929
* src/gig.cpp, src/gig.h: fixed behavior regarding the newly added support
  for sample groups, the initial implementation assumed a group index of 0
  in the .gig file to mean "no group assigned" and thus the possibility
  that there might not be a group at all, but in fact the .gig format
  assumes always at least one group (the default group), thus a group index
  of 0 means "member of default group"


Revision 929 - (view) (download) (annotate) - [select for diffs]
Modified Tue Oct 24 22:24:45 2006 UTC (17 years, 4 months ago) by schoenebeck
File length: 138372 byte(s)
Diff to previous 928
* support for Gigasampler's sample groups added


Revision 928 - (view) (download) (annotate) - [select for diffs]
Modified Tue Oct 24 19:32:47 2006 UTC (17 years, 4 months ago) by persson
File length: 133773 byte(s)
Diff to previous 918
* added DLS INFO string Subject and fixed string Media
* fixed SamplePeriod calculation


Revision 918 - (view) (download) (annotate) - [select for diffs]
Modified Sat Sep 2 08:45:37 2006 UTC (17 years, 6 months ago) by persson
File length: 133746 byte(s)
Diff to previous 902
* several fixes for the write support


Revision 902 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jul 22 14:22:01 2006 UTC (17 years, 8 months ago) by persson
File length: 133408 byte(s)
Diff to previous 864
* real support for 24 bit samples
* support for reading of .art files


Revision 864 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 14 07:15:38 2006 UTC (17 years, 10 months ago) by persson
File length: 134077 byte(s)
Diff to previous 858
* sample loop parameters are now taken from the DimensionRegion
  instead of the wave chunk
* keyswitching dimension is changed from split type "normal" to "bit"


Revision 858 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 6 11:29:29 2006 UTC (17 years, 10 months ago) by persson
File length: 133269 byte(s)
Diff to previous 834
* added support for more than one custom velocity split inside a
  region


Revision 834 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 6 17:58:21 2006 UTC (18 years, 1 month ago) by persson
File length: 133094 byte(s)
Diff to previous 823
* fixed some memory management errors, one of them was causing a crash
  when a multi-file gig was deallocated


Revision 823 - (view) (download) (annotate) - [select for diffs]
Modified Fri Dec 23 01:38:50 2005 UTC (18 years, 3 months ago) by schoenebeck
File length: 133195 byte(s)
Diff to previous 809
* recommited bugfixes regarding .gig write support
(that commit batch got lost due to the recent CVS server defect)


Revision 809 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 22 11:26:55 2005 UTC (18 years, 4 months ago) by schoenebeck
File length: 134254 byte(s)
Diff to previous 780
* src/gig.cpp, src/gig.h:
  - added write support (highly experimental)
  - removed unnecessary definitions from header file
* src/DLS.cpp:
  - try to load instruments/samples before adding a new instrument/sample


Revision 780 - (view) (download) (annotate) - [select for diffs]
Modified Sun Sep 25 13:40:37 2005 UTC (18 years, 5 months ago) by schoenebeck
File length: 91086 byte(s)
Diff to previous 774
* added write support (only to the RIFF classes yet)


Revision 774 - (view) (download) (annotate) - [select for diffs]
Modified Sun Sep 18 12:41:56 2005 UTC (18 years, 6 months ago) by persson
File length: 91103 byte(s)
Diff to previous 773
* support for the gig v3 feature to have a number of dimension splits
  not equal to a power of two


Revision 773 - (view) (download) (annotate) - [select for diffs]
Modified Sat Sep 17 14:24:45 2005 UTC (18 years, 6 months ago) by persson
File length: 90817 byte(s)
Diff to previous 728
* fixed the GetVelocityCutoff function, it wasn't always using the
  VCFVelocityScale parameter when no cutoff controller was defined


Revision 728 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 26 11:13:53 2005 UTC (18 years, 7 months ago) by persson
File length: 90816 byte(s)
Diff to previous 695
* added VCFCutoffControllerInvert parameter and GetVelocityCutoff
  function to DimensionRegion


Revision 695 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jul 16 19:36:23 2005 UTC (18 years, 8 months ago) by persson
File length: 89695 byte(s)
Diff to previous 666
* fixed the 24 bit decompression, the result should now be exact
  instead of an approximation


Revision 666 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 19 15:18:59 2005 UTC (18 years, 9 months ago) by persson
File length: 90221 byte(s)
Diff to previous 613
* added support for gig v3 multi-file format


Revision 613 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 6 16:50:58 2005 UTC (18 years, 9 months ago) by persson
File length: 88985 byte(s)
Diff to previous 518
* added DimensionRegion::GetVelocityRelease function


Revision 518 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 8 16:19:34 2005 UTC (18 years, 10 months ago) by schoenebeck
File length: 88113 byte(s)
Diff to previous 516
* added functions libraryName() and libraryVersion() to each of the three
  library units (RIFF,DLS,gig)
* all tools now offer a command line switch -v to show the tools revision
  and the used libgig version
* man pages are now auto generated with the correct libgig version


Revision 516 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 7 21:24:04 2005 UTC (18 years, 10 months ago) by schoenebeck
File length: 87616 byte(s)
Diff to previous 515
* src/gig.h, src/gig.cpp: API change of progress callback


Revision 515 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 7 20:19:10 2005 UTC (18 years, 10 months ago) by schoenebeck
File length: 87472 byte(s)
Diff to previous 437
* src/gig.h, src/gig.cpp: implemented progress indicator callback mechanism
  for loading instruments and samples
* src/DLS.cpp: fixed File constructor which caused variable
  File::Instruments always to be zero
* src/RIFF.cpp: fixed method List::LoadSubChunks() which did not restore
  the original position within the body of the given list chunk


Revision 437 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 9 22:02:40 2005 UTC (19 years ago) by persson
File length: 83738 byte(s)
Diff to previous 406
* src/gig.h, src/gig.cpp: 24-bit decompression now supports the 20 and
  18 bit formats
* src/gig.h, src/gig.cpp: added "random" and "round robin" dimensions


Revision 406 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 23 19:11:07 2005 UTC (19 years ago) by persson
File length: 82953 byte(s)
Diff to previous 384
* src/gig.h, src/gig.cpp: added pre-calculated sample attenuation
  parameter
* src/gigdump: added output of Gain and SampleStartOffset


Revision 384 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 17 02:22:26 2005 UTC (19 years, 1 month ago) by schoenebeck
File length: 82888 byte(s)
Diff to previous 372
* gig::Sample: external decompression buffers can now be used for streaming
  with Read() and ReadAndLoop() to avoid race conditions in case of
  multiple streaming threads
* fixed some memory leaks caused by non virtual base constructors


Revision 372 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 11 18:58:07 2005 UTC (19 years, 1 month ago) by persson
File length: 79612 byte(s)
Diff to previous 365
* src/gig.cpp: Fixed mono decompression.


Revision 365 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 10 19:16:31 2005 UTC (19 years, 1 month ago) by persson
File length: 79522 byte(s)
Diff to previous 355
* src/gig.cpp, src/gig.h, src/gigextract.cpp: Support for compressed
  mono samples. Experimental support for compressed 24 bit
  samples. Fixes for decompression on big-endian CPUs. Fix for bug
  that truncated end of compressed samples.


Revision 355 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 4 00:21:30 2005 UTC (19 years, 1 month ago) by schoenebeck
File length: 73117 byte(s)
Diff to previous 352
* src/gig.cpp:
  - another memory leak fix
  - duplicated memory free fix
  - tiny fix in decompression buffer reallocation
(patch by "Gene" a.k.a Anders Alm)


Revision 352 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jan 29 14:24:11 2005 UTC (19 years, 1 month ago) by schoenebeck
File length: 72985 byte(s)
Diff to previous 350
* src/gig.cpp: fixed crash on patches which did not have a sample assigned
  to their region(s) or dimension region(s) (patch by Andreas Persson)


Revision 350 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 25 21:54:24 2005 UTC (19 years, 1 month ago) by schoenebeck
File length: 72925 byte(s)
Diff to previous 347
* src/gig.cpp: fixed some memory leaks (patch by Gene Anders)


Revision 347 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jan 23 20:47:18 2005 UTC (19 years, 1 month ago) by schoenebeck
File length: 72211 byte(s)
Diff to previous 345
* src/gig.h, src/gig.cpp: support for up to 8 dimensions as introduced by
  Gig V3 (patch by Andreas Persson)


Revision 345 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 21 16:40:37 2005 UTC (19 years, 2 months ago) by schoenebeck
File length: 72425 byte(s)
Diff to previous 317
* src/gig.cpp, src/gig.h:
  - fixed vcf_type_lowpassturbo value (vcf_type_lowpassturbo was actually
    never used, because the necessary check was made before initialization)
  - fixed crossfade points order (structure for big endian and little
    endian systems was interchanged)


Revision 317 - (view) (download) (annotate) - [select for diffs]
Modified Sat Dec 4 14:13:49 2004 UTC (19 years, 3 months ago) by schoenebeck
File length: 72425 byte(s)
Diff to previous 308
* src/DLS.cpp, src/gig.cpp: experimental support for Gigasampler v3 format;
  64 bit file offsets are truncated to 32 bit, 24 bit samples are truncated
  to 16 bit and additional articulation informations are ignored at the
  moment, added some file format compatibility checks
  (patch by Andreas Persson)


Revision 308 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 21 18:02:21 2004 UTC (19 years, 4 months ago) by schoenebeck
File length: 71211 byte(s)
Diff to previous 282
* src/gig.cpp, src/gig.h: applied patch by Andreas Persson which improves
  accuracy of all three velocity response curves


Revision 282 - (view) (download) (annotate) - [select for diffs]
Modified Wed Oct 13 20:05:42 2004 UTC (19 years, 5 months ago) by schoenebeck
File length: 70474 byte(s)
Diff to previous 269
* src/gig.cpp, src/gig.h: added class attribute 'Layers' to class 'Region'
* src/gigdump.cpp: replaced printout of DLS Region layer by printout of
  amount of Gigasampler layers


Revision 269 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 8 17:25:28 2004 UTC (19 years, 5 months ago) by schoenebeck
File length: 70275 byte(s)
Diff to previous 241
* src/gig.cpp: fixed panorama value in DimensionRegion (invalid conversion
  from signed 7 bit to signed 8 bit)
* src/gigdump.cpp: added printout for panorama value for each
  DimensionRegion


Revision 241 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 15 13:49:21 2004 UTC (19 years, 6 months ago) by schoenebeck
File length: 70250 byte(s)
Diff to previous 231
* bugfix for dimension region switching (wrong handling of the release
  trigger dimension, no bit range check for dimensions of split type
  'split_type_bit')


Revision 231 - (view) (download) (annotate) - [select for diffs]
Modified Sun Sep 5 00:46:28 2004 UTC (19 years, 6 months ago) by schoenebeck
File length: 69899 byte(s)
Diff to previous 55
* src/gig.h, src/gig.cpp: fixed / improved accuracy of all three velocity
  to volume transformation functions (a.k.a. 'nonlinear','linear',
  'special'), denormals are filtered from the velocity to volume tables
* src/gigdump.cpp: added printout of velocity response curve parameters


Revision 55 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 27 09:06:07 2004 UTC (19 years, 10 months ago) by schoenebeck
File length: 69889 byte(s)
Diff to previous 36
updated copyright header for 2004


Revision 36 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 10 21:34:28 2004 UTC (20 years ago) by schoenebeck
File length: 69917 byte(s)
Diff to previous 27
* src/gig.h: changed interface for 'attenuation_ctrl_t', 'eg1_ctrl_t' and
  'eg2_ctrl_t': replaced the huge enumeration by a structure which reflects
  the MIDI controller number in case of an ordinary control change
  controller (this saves a huge switch-case block in the application of the
  library customer)
* src/gig.h: renamed following attributes in class 'DimensionRegion':
 'AttenuationContol' -> 'AttenuationController',
 'InvertAttenuationControl' -> 'InvertAttenuationController',
 'AttenuationControlTreshold' -> 'AttenuationControllerThreshold'
* src/gig.cpp: minor fix in API documentation for method
  'GetVelocityAttenuation()' in class 'DimensionRegion'


Revision 27 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 1 23:46:41 2004 UTC (20 years, 2 months ago) by schoenebeck
File length: 64188 byte(s)
Diff to previous 24
* src/gig.cpp: attributes 'LoopStart', 'LoopEnd' and 'LoopSize' in class
  'Sample' reflected wrong values
* updated Make files (autoconf 2.58, automake 1.6.3)


Revision 24 - (view) (download) (annotate) - [select for diffs]
Modified Fri Dec 26 16:15:31 2003 UTC (20 years, 2 months ago) by schoenebeck
File length: 64310 byte(s)
Diff to previous 21
* src/gig.cpp, src/gig.h: added ReadAndLoop() method to class 'Sample'
  which is an extension to the normal Read() method to honor the sample's
  looping information while streaming from disk
* src/RIFF.cpp: minor fix in Chunk::Read() method (only a minor efficiency
  issue)
* src/gigdump.cpp: added printout of samples' looping informations


Revision 21 - (view) (download) (annotate) - [select for diffs]
Modified Thu Dec 25 01:09:08 2003 UTC (20 years, 2 months ago) by schoenebeck
File length: 54728 byte(s)
Diff to previous 16
* gig.h, gig.cpp:
  changes in class 'Sample':
  - fixed loop attributes which reflected wrong values
  - attributes 'LoopStart' and 'LoopEnd' are now measured in sample points
    instead of byte offset
  - renamed misleading attribute name 'MIDIPitchFraction' to 'FineTune'
  - added attribute 'LoopSize'
  changes in class 'File':
  - added method GetInstrument(uint index)


Revision 16 - (view) (download) (annotate) - [select for diffs]
Modified Sat Nov 29 14:56:16 2003 UTC (20 years, 3 months ago) by schoenebeck
File length: 53935 byte(s)
Diff to previous 11
* src/gig.cpp, src/gig.h: added method GetVelocityAttenuation() to class
  DimensionRegion which takes the MIDI key velocity value as an argument
  and returns the appropriate volume factor (0.0-1.0) for the sample to be
  be played back, the velocity curve transformation functions used for this
  are only an approximation so far


Revision 11 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 16 17:47:00 2003 UTC (20 years, 4 months ago) by schoenebeck
File length: 49824 byte(s)
Diff to previous 2
* src/gig.cpp: fixed bug in decompression algorithm which caused it not to
  detect the end of a stream
* various endian corrections (successfully tested now on ppc)
* minor adjustments to avoid compile errors on some systems
  (using now pow() instead of powl() and --pedantic g++ compiler switch)
* src/RIFF.cpp, src/RIFF.h: added additional API documentation


Revision 2 - (view) (download) (annotate) - [select for diffs]
Added Sat Oct 25 20:15:04 2003 UTC (20 years, 4 months ago) by schoenebeck
File length: 49829 byte(s)
Initial revision


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC