/[svn]/libgig/trunk/NEWS
ViewVC logotype

Diff of /libgig/trunk/NEWS

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

revision 4064 by schoenebeck, Sun Oct 15 09:44:18 2023 UTC revision 4076 by schoenebeck, Fri Jan 26 15:59:01 2024 UTC
# Line 1  Line 1 
1    Version 4.4.0 (26 Jan 2024)
2    
3      This release introduces a new command line tool 'wav2gig' which allows to
4      automatically create a .gig file from a directory of .wav files. This can
5      safe quite some time when creating a new and large .gig instrument from
6      scratch, as this tool automatically extracts info such as root note, velocity
7      and loop points either from the .wav files themselves (if possible), or from
8      their file names. It comes with a bunch of options to override exact
9      behaviour to whatever the naming scheme of your .wav files are for instance.
10      Refer to the new 'wav2.gig' man page for details.
11    
12      A long sitting API issue had been mitigated in this release: the ancient
13      GetFirstFoo() and GetNextFoo() style of methods were always error prone.
14      Those methods are now marked as deprecated and GetFoo(size_t index) or
15      GetFooAt(size_t index) methods were added as reentrant-safe replacement.
16    
17      Another important multi-threading issue for applications based on libgig have
18      been addressed on API level: the RIFF::File class now provides a new method
19      SetIOPerThread(bool enable) to activate a transparent mode of separation for
20      file streaming by libgig. By default this feature is off and libgig therefore
21      behaves as in previous releases, which means application threads would
22      concurrently change file I/O positions when accessing libgig file access
23      methods simultaniously, like e.g. streaming audio data from disk or loading or
24      saving any kind of other data from or to the file directly might
25      unintentionally change threads' file I/O positions between each other. By
26      activating this new libgig feature, libgig automatically detects individual
27      threads (as callers of affected libgig methods) and separates the file I/O
28      positions for each application thread automatically, as if each thread had
29      opened the file separately by itself. This feature comes with a slight runtime
30      overhead cost, but has the advantage that it keeps application code simple, as
31      it usually just requires to add only one line of code to make a multi-threaded
32      applications work as expected, while still sharing the same libgig objects and
33      without duplicating data or draining RAM resources.
34    
35      The rest of changes are numerous fixes, please refer to ChangeLog for details.
36    
37  Version 4.3.0 (9 May 2021)  Version 4.3.0 (9 May 2021)
38    
39    From this release on libgig requires at least a C++11 compliant compiler to    From this release on libgig requires at least a C++11 compliant compiler to

Legend:
Removed from v.4064  
changed lines
  Added in v.4076

  ViewVC Help
Powered by ViewVC