/[svn]/doc/docbase/release_notes/linuxsampler_2_1_0/01_linuxsampler_2_1_0.html
ViewVC logotype

Diff of /doc/docbase/release_notes/linuxsampler_2_1_0/01_linuxsampler_2_1_0.html

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

revision 3376 by schoenebeck, Sun Nov 26 22:54:03 2017 UTC revision 3394 by schoenebeck, Wed Dec 6 18:28:02 2017 UTC
# Line 28  Line 28 
28        <a href="01_nksp.html">NKSP</a>.        <a href="01_nksp.html">NKSP</a>.
29        In this release a large amount of extensions and improvements have been        In this release a large amount of extensions and improvements have been
30        added for this real-time instrument scripting support of LinuxSampler.        added for this real-time instrument scripting support of LinuxSampler.
31        For example 48 new built-in NKSP functions and 21 new built-in NKSP        For example <b>48 new built-in functions</b> and <b>21 new built-in
32        variables have been added.        variables</b> have been added.
33        <a href="01_nksp_reference.html">Find out more ...</a>        <a href="01_nksp_reference.html">Find out more ...</a>
34      </p>      </p>
35      <p>      <p>
# Line 70  Line 70 
70        <code lang="sfz">script</code> opcode for this purpose. So NKSP scripts        <code lang="sfz">script</code> opcode for this purpose. So NKSP scripts
71        are no longer limited to our Giga engine.        are no longer limited to our Giga engine.
72      </p>      </p>
73        <p>
74          And yes, as you can see from the SFZ opcode links here, we also
75          started documenting the actual SFZ file format. You wanna help us
76          on completing the SFZ file format documentation? Great! Have a look
77          at <a href="01_writing_docs.html">how articles are written for this site</a> and
78          <a href="https://sourceforge.net/projects/linuxsampler/lists/linuxsampler-devel">get in touch with us</a>!
79        </p>
80    
81      <h3>New GigaStudio format features</h3>      <h3>New GigaStudio format features</h3>
82      <p>      <p>
83        The equally named software on Windows has gone years ago,        The equally named software on Windows has gone years ago,
84        but the format lives on with LinuxSampler and this release adds        but the format lives on with LinuxSampler and this release adds
85        yet some more new extensions to the gig format. Most notably you        yet some more new extensions to the gig format.
86        </p>
87        <p>
88          <img src="gigedit_state_machine_options.png" title="EG State Machine Options (Gigedit)">
89          Most notably you
90        now have options to control envelope generators' state machines.        now have options to control envelope generators' state machines.
91        For example you can now define whether a certain EG state should        For example you can now define whether a certain EG state should
92        either be aborted or continued to its end when a note off arrived.        either be aborted or continued to its end when a note off arrived
93          (or on a note on in the release stage).
94        These controls are especially useful for certain kinds of sounds        These controls are especially useful for certain kinds of sounds
95        like percussive instruments.        like percussive instruments.<br>
96      <p>        <br>
     <img src="gigedit_state_machine_options.png" caption="EG State Machine Options (Gigedit)">  
     </p>  
97        Accordingly you will now find new check boxes for this in gigedit.        Accordingly you will now find new check boxes for this in gigedit.
98        As these are extensions of the original format, setting these options        As these are extensions of the original format, setting these options
99        will only work with LinuxSampler and would be ignored with the        will only work with LinuxSampler and would be ignored with the
# Line 113  Line 123 
123        That provides several improvements for the script editor.        That provides several improvements for the script editor.
124      </p>      </p>
125      <p>      <p>
126        <img src="nksp_editor_error_tooltip.png" caption="NKSP Error Tooltips">        <img src="nksp_editor_error_tooltip.png" title="NKSP Error Tooltips">
127        For example        For example
128        colored syntax highlighting of scripts is now always displayed correctly and        colored syntax highlighting of scripts is now always displayed correctly and
129        simply looks much better now. Previously there was some small hard coded        simply looks much better now. Previously there was some small hard coded
130        script parser code on Gigedit's side which however was buggy and simply        script parser code on Gigedit's side which however was buggy and simply
131        did no great job. Now all the heavy lifting of handling all the details        did no great job. Now all the heavy lifting of handling all the details
132        of the numerous NKSP language aspects are handled by the sampler instead,        of the numerous NKSP language aspects are handled by the sampler instead,
133        which also provides the following new script editor features.        which also provides the following new script editor features.<br>
134      </p>        <br>
     <p>  
135        Due to that direct coupling with LinuxSampler's        Due to that direct coupling with LinuxSampler's
136        script backend, gigedit's script editor now shows all issues related to the script (errors        script backend, gigedit's script editor now shows all issues related to the script (errors
137        and warnings) directly within the script editor in real-time while you are        and warnings) directly within the script editor in real-time while you are
# Line 142  Line 151 
151        actually load the script with an instrument into the sampler.        actually load the script with an instrument into the sampler.
152      </p>      </p>
153      <p>      <p>
154        <img src="nksp_editor_strike_through.png" caption="NKSP Disabled Code Blocks">        <img src="nksp_editor_strike_through.png" title="NKSP Disabled Code Blocks">
155        Additionally when clicking on the        Additionally when clicking on the
156        script editor's "Apply" button or using Ctrl+S keyboard shortcut, then        script editor's "Apply" button or using Ctrl+S keyboard shortcut, then
157        the script is automatically reloaded by the sampler. So you no longer        the script is automatically reloaded by the sampler. So you no longer
158        have to reload the respective instrument manually while you are        have to reload the respective instrument manually while you are
159        developing instrument scripts. There are also visual enhancements for the        developing instrument scripts.<br>
160          <br>
161          There are also visual enhancements for the
162        script editor, for example the line numbers are now shown on the left,        script editor, for example the line numbers are now shown on the left,
163        the font size can be altered by the user, and unused code portions (i.e.        the font size can be altered by the user, and unused code portions (i.e.
164        disabled by <a href="">NKSP preprocessor statements</a>)        disabled by <a href="01_nksp.html#preprocessor_statements">NKSP preprocessor statements</a>)
165        are automatically striked through. That way you can immediately see        are automatically striked through. That way you can immediately see
166        which code portions of your scripts are actually used, and which are not.<br>        which code portions of your scripts are actually used, and which are not.
167          Everything you see striked through is completely ignored by the sampler.<br>
168        <br>        <br>
169        As as side note, you may have noticed a handy new built-in preprocessor        As as side note, you may have noticed a handy new built-in preprocessor
170        condition in LinuxSampler 2.1.0 which can be enabled with        condition in LinuxSampler 2.1.0 which can be enabled with
# Line 165  Line 177 
177      <h3>Macros</h3>      <h3>Macros</h3>
178      <p>      <p>
179        Another major new feature in this release are macros.        Another major new feature in this release are macros.
180        A macro is a set of changes that should be applied to currently selected instrument.        A macro is a set of changes that should be applied to the currently selected instrument.
181      </p>      </p>
182      <p>      <p>
183        <img src="gigedit_macros_setup.png" caption="Macro List (Gigedit)">        <img src="gigedit_macros_setup.png" title="Macro List (Gigedit)">
184        Such macros can be reviewed and edited, and they can be saved permanently for        Such macros can be reviewed and edited, and they can be saved permanently
185        example as templates for common instrument creation tasks. Macros can be        as templates or shortcuts for common instrument creation tasks. Macros can be
186        assigned to F keys on the keyboard so that they can be quickly triggered,        assigned to F keys on the keyboard so that they can quickly be triggered,
187        you can transfer them over the OS clipboard and you can write comments        you can transfer them over the OS clipboard and you can write comments
188        to your macros so that you never forget what kind of purpose you had in        to your macros so that you never forget what kind of purpose you had in
189        mind for them. The macro features are based on libgig's new        mind for them. Your macros will also appear in the application's menu,
190          and when you move the mouse pointer over a macro, a tooltop appears with
191          the comments you wrote for that macro.<br>
192          <br>
193          The macro features are based on libgig's new
194        "Serialization" framework (described below) and accordingly you need at        "Serialization" framework (described below) and accordingly you need at
195        least libgig 4.1.0 for using these macro features.        least libgig 4.1.0 for using these macro features.
196      </p>      </p>
197      <p>      <p>
198        <img src="gigedit_macro_editor.png" caption="Macro Editor (Gigedit)">        <img src="gigedit_macro_editor.png" title="Macro Editor (Gigedit)">
199        This is an example of editing a macro. Usually you may start creating a        This is an example of editing a macro. Usually you may start creating a
200        new macro by simply taking all parameters of a selected dimension region.        new macro by simply taking all parameters of a selected dimension region.
201        Then in the macro editor you usually multi-row select (i.e. by Ctrl clicking        Then in the macro editor you usually multi-row select (i.e. by Ctrl clicking
# Line 189  Line 205 
205        upcoming work, only those few parameters are modifed by this macro and all        upcoming work, only those few parameters are modifed by this macro and all
206        other ones are left untouched.        other ones are left untouched.
207        Of course you can also alter the individual parameter values in        Of course you can also alter the individual parameter values in
208        this editor as well.        this macro editor as well.<br>
209          <br>
210          You might now think, wait a minute, does such a macro change the entire
211          instrument, or only a portion of it? The answer is simple: you decide!
212          The precise scope a macro is going to modify behaves exactly the same like
213          you manually changed individual parameters in Gigedit before. That means
214          for example when you check the two check boxes "all regions" and "all dimension splits",
215          then when you trigger a macro, it is going to be applied against the entire instrument.
216          If you uncheck those check boxes and select only one specific region and one specific
217          dimension region zone, then the macro only modifies this single dimension
218          region zone. Or yet another alternative: Ctrl+click the precise dimension
219          region zones you want to be changed by the macro and then trigger the macro, i.e.
220          by hitting the macro's F key on the keyboard, or by selecting the macro from
221          the main menu.<br>
222          <br>
223          So as you might see, macros introduce a powerful way for you to create yourself
224          a personal instrument construction kit, not limited to only creating global
225          templates for entire instruments, but also for an arbitrary set of small and large
226          building blocks in any size and complexity you need. For example you may create a macro
227          which only sets one single parameter, and another macro which configures an entire filter
228          block with all its filter parameters and MIDI controllers, up to a macro which really
229          modifies every single parameter to build up an entire instrument with one stroke
230          of a key.
231      </p>      </p>
232    
233      <h3>Persistent Settings</h3>      <h3>Persistent Settings</h3>
234      <p>      <p>
235        All user settings of gigedit are now persistently saved and automatically        All user settings of gigedit are now persistently saved and automatically
236        restored. This also includes gigedit's windows' dimensions and positions.        restored. This also includes gigedit's windows' dimensions and positions,
237          and of course including all macros you create.
238      </p>      </p>
239    
240      <h3>Multi-Row Selection</h3>      <h3>Multi-Row Selection</h3>
241      <p>      <p>
242      <img src="gigedit_multi_row_action.png" caption="Multi Row Selection &amp; Actions (Gigedit)">      <img src="gigedit_multi_row_action.png" title="Multi Row Selection &amp; Actions (Gigedit)">
243        Multi-row selection has been added to all list views now, so you can now        Multi-row selection has been added to all list views now, so you can now
244        more efficiently apply actions to multiple samples, instruments or scripts        more efficiently apply actions to multiple samples, instruments or scripts
245        simultaneously at once, instead of requesting those actions for each item        simultaneously at once, instead of requesting those actions for each item
246        individually.        individually. This works exactly like you are used to from other applications.
247          So i.e. press and hold the Ctrl key while clicking with the mouse on the
248          individual instruments (or samples) from the list view. Or press and hold
249          the Shift key and click on an item from the list to select an entire range
250          instead with one click.
251      </p>      </p>
252    
253      <h3>Multi-Zone Selection</h3>      <h3>Multi-Zone Selection</h3>
254      <p>      <p>
255        <img src="gigedit_multi_dimreg_zone_actions.png" caption="Multi Zone Selection &amp; Actions (Gigedit)">        <img src="gigedit_multi_dimreg_zone_actions.png" title="Multi Zone Selection &amp; Actions (Gigedit)">
256        Also modifying key features of several dimension region zones        Also modifying key features of several dimension region zones
257        simultaneously is now supported. That means you can now delete, split and        simultaneously is now supported. That means you can now delete, split and
258        resize multiple dimension region zones at once. Oh yes, I forget, Ctrl+click        resize multiple dimension region zones at once. Oh yes, I forget, Ctrl+click
259        selecting multiple dimension regions is supported now as well.        selecting multiple dimension region zones is supported now as well. For the
260          latter there is also a keyboard shortcut now: Hit and hold the Alt and Shift
261          keys, then use the left and right arrow keys to multi select the dimension
262          region zones you need.
263      </p>      </p>
264            
265      <h3>Feature Icons</h3>      <h3>Feature Icons</h3>
266      <p>      <p>
267        <img src="gigedit_zone_icons.png" caption="Feature Icons (Gigedit)">        <img src="gigedit_zone_icons.png" title="Feature Icons (Gigedit)">
268        You will also note that there are now icons displayed on the individual        You will also note that there are now icons displayed on the individual
269        regions and dimension region zones. Those icons visualize common key        regions and dimension region zones. Those icons visualize common key
270        features of regions and dimension region zones. For example if you forgot        features of regions and dimension region zones. For example if you forgot
271        to assign any sample to one of them, then you will see a red dot on the        to assign any sample to one of them, then you will see a red dot on the
272        respective region or dimension region zone. Another icon type is showing        respective region or dimension region zone. Another icon type is showing
273        you whether a region or dimension region zone uses a sample loop.        you whether a region or dimension region zone uses a sample loop.
274        For example when you just imported a drum sample, you don't really want        For example when you just imported a short drum sample (not a drum loop),
275        a loop to be on.        then you don't really want a loop to be on for it.
276        This way        This way
277        you can immediately see and control the key features of all regions        you can immediately see and control the key features of all regions
278        and their dimension region zones, without requiring to browse through all        and their dimension region zones, without requiring to browse through all
# Line 236  Line 282 
282      <h3>Keyboard Shortcuts</h3>      <h3>Keyboard Shortcuts</h3>
283      <p>      <p>
284       Various new keyboard shortcuts have been added so you can work more       Various new keyboard shortcuts have been added so you can work more
285       efficiently on your sounds. For example you can now use Ctrl+Left and       efficiently on your sounds. For example you can now use Ctrl+Up and Ctrl+Down
286         to switch between instruments, or use Ctrl+Left and
287       Ctrl+Right to navigate through all regions of the currently selected       Ctrl+Right to navigate through all regions of the currently selected
288       instrument, and likewise you can use Alt+Left, Alt+Right, Alt+Up and       instrument, and likewise you can use Alt+Left, Alt+Right, Alt+Up and
289       Alt+Down to navigate through all dimension region zones of the currently       Alt+Down to navigate through all dimension region zones of the currently
290       selected region. Since there are many actions that can be either applied       selected region. Since there are many actions that can be either applied
291       on instrument level, or on region level, or on dimension region level, as       on file level, instrument level, on region level, or on dimension region level, as
292       a general rule, for all keyboard shortcuts:       a general rule of thumb for all keyboard shortcuts:
293       <ul>       <ul>
294         <li><b>Shift</b> key is used for actions on instrument level</li>         <li><b>Shift</b> key (&#8679;) is used for global actions</li>
295         <li><b>Ctrl</b> key is used on region level</li>         <li><b>Ctrl</b> key (&#8984; key on Mac) is used on region level</li>
296         <li><b>Alt</b> key is used by gigedit for actions on dimension region level</li>         <li><b>Alt</b> key (&#8997; key on Mac) is used by gigedit for actions on dimension region level</li>
297       </ul>       </ul>
298       So as another example you may copy all parameters of the currently       So as another example you may copy all parameters of the currently
299       selected dimension region zone by hitting Alt+C, then you might select       selected dimension region zone to the clipboard by hitting Alt+C.
300       another dimension region zone, or another instrument and then use Alt+V       Now when you change parameters of the selected dimension region,
301       to apply the parameters from the clipboard. While the parameters are       the original parameters are still there on the clipboard. Hit
302       (as macro actually) on the clipboard you can also review, edit and       Alt+X to review or even edit the parameters directly on the clipboard.
303       delete the individual parameters before applying them. As a final       Then select a dimension region zone, or another instrument and then use Alt+V
304       example for new important shortcuts you may now use Shift+Up and       to apply those parameters from the clipboard to the now selected dimension region.
305       Shift+Down for switching between instruments.       You want to keep those parameters on the clipboard permanently in the editor
306         for other instruments in future? Hit Ctrl+M to open the macro list, then hit
307         Ctrl+B to save the content on the clipboard permanently as a new macro.
308         From this point you can also simply duplicate the macro, fine tune and
309         adjust the cloned macros and so on. All macros are saved along with the settings
310         of the application. So they will always be there next time you launch gigedit,
311         and no matter on which gig files you are working on.
312        </p>
313        <p>
314         Too many shortcuts to remember? Of course you can find all keyboard
315         shortcuts in the menus and on the individual buttons. Simply place
316         the mouse pointer over the individual menu items or buttons and a tooltip
317         will explain what the action would do. For menu items and buttons you use
318         frequently, start using their displayed keyboard shortcuts instead.
319         And the ones you really are going to use frequently, you will remember as shortcut
320         in a very short time.
321      </p>      </p>
322    
323      <h3>Combine Tool Improvements</h3>      <h3>Combine Tool Improvements</h3>
324      <p>      <p>
325        <img src="gigedit_combine_tool_reorder.png" caption="Combine Tool (Gigedit)">        <img src="gigedit_combine_tool_reorder.png" title="Combine Tool (Gigedit)">
326        Also the Combine Tool has been improved. You can now simply select the        Also the Combine Tool has been improved. You can now simply select the
327        (multiple) instruments you want to combine directly from the applications        (multiple) instruments you want to combine directly from the applications
328        main window, i.e. by Ctrl or Shift clicking them from the instruments        main window, i.e. by Ctrl or Shift clicking them from the instruments
329        list view, and then right click to call the combine tool on that        list view, and then right click to call the combine tool on that
330        selection. The Combine Tool now also shows you as preview the order in        selection or even faster; simply hit Ctrl+j ("j" as in "join").
331          The Combine Tool now also shows you a preview of the order in
332        which the selected instruments are going to be combined. This is        which the selected instruments are going to be combined. This is
333        especially useful when combining instruments with certain dimension        especially useful when combining instruments with certain dimension
334        types where the order matters for the actual resulting sound; for example        types where the order significantly matters for the actual resulting sound; for example
335        when using the velocity dimension. Simply use drag n drop to reorder        when combining by velocity dimension. Simply use drag n drop to reorder
336        the previously selected instruments before combining them.        the previously selected instruments before combining them finally
337          (by clicking on Ok or simply hitting Enter).
338      </p>      </p>
339    
340      <h3>Search Filter</h3>      <h3>Search Filter</h3>
341      <p>      <p>
342        <img src="gigedit_search_filter.png" caption="Search Filter (Gigedit)">        <img src="gigedit_search_filter.png" title="Search Filter (Gigedit)">
343        And last but not least a filter option field had been added to the        And last but not least a filter option field had been added to the
344        instruments list and samples list, which allows you to find specific        instruments list view and samples list view, which allows you to find specific
345        samples and instruments very quickly by typing search key words, which is        samples and instruments very quickly by typing search key words, which is
346        especially very helpful in case you are working on gig files which contain        especially very helpful in case you are working on huge gig files which contain
347        a very large amount of samples or instruments in a single gig file        a very large amount of samples or instruments in a single gig file
348        (like this one, which apparently has far more than 400 instruments).        (like this one, which apparently has far more than 400 instruments).
349      </p>      </p>
# Line 291  Line 355 
355        has also received some major improvements, which are outlined next.        has also received some major improvements, which are outlined next.
356      </p>      </p>
357    
358      <h3>Files larger than 2 GB</h3>      <h3>Files larger than 4 GB</h3>
359      <p>      <p>
360        libgig 4.1.0 adds support for files much larger than 2 GB for GigaStudio /        libgig 4.1.0 adds support for writing files much larger than 4 GB
361        Gigasampler (.gig), DLS, as well as for RIFF files in general. This file size        (or more exactly: up to now 16 Exabyte = 16 777 216 Terabyte)
362          for GigaStudio / Gigasampler (.gig), DLS, as well as for RIFF files in general. This file size
363        limitation existed for a very long time due to the RIFF format's historical,        limitation existed for a very long time due to the RIFF format's historical,
364        internal 32 bit file offsets. To circumvent this file size limitation the        internal 32 bit file offsets. To circumvent this file size limitation the
365        concept of so called "extension files" was added in the past to the        concept of so called "extension files" was added in the past to the
# Line 317  Line 382 
382        is already a broad standard. Accordingly instead of adding write support for        is already a broad standard. Accordingly instead of adding write support for
383        extension files in libgig, the problem was addressed at its root by        extension files in libgig, the problem was addressed at its root by
384        transparently using appropriate, automatic file offset sizes. So when writing        transparently using appropriate, automatic file offset sizes. So when writing
385        .gig/DLS/RIFF files smaller than 2 GB there are still 32 bit file offsets        .gig/DLS/RIFF files smaller than 4 GB there are still 32 bit file offsets
386        being used by libgig. Accordingly such files are still backward compatible        being used by libgig. Accordingly such files are still backward compatible
387        with older software. However if the overall file size to be written is 2 GB or        with older software. However if the overall file size to be written is 4 GB or
388        larger, then 64 bit file offsets are automatically used by libgig instead.        larger, then 64 bit file offsets are automatically used by libgig instead.
389        Note though that due to that circumstance such files &#8807; 2 GB are not backward        Note though that due to that circumstance such files &#8807; 4 GB are not backward
390        compatible with older versions of libgig, nor could they be loaded with the        compatible with older versions of libgig, nor could they be loaded with the
391        original GigaStudio software.        original GigaStudio software.
392      </p>      </p>
# Line 359  Line 424 
424            allows to only restore an arbitrary desired subset of information            allows to only restore an arbitrary desired subset of information
425            from the previously serialized data stream, while leaving all other data            from the previously serialized data stream, while leaving all other data
426            of the running C++ objects untouched. The serialization framework also            of the running C++ objects untouched. The serialization framework also
427            incorporates a reflection API which allows applications to implement            incorporates a reflection API which allows applications to view and
428              manipulate the already serialized data, which in turn allows to implement
429            convenient editors on top of such serialized data, i.e. allowing end users            convenient editors on top of such serialized data, i.e. allowing end users
430            to pick or alter specific information within the serialized data.            to pick or alter specific information within the serialized data.
431          </li>          </li>

Legend:
Removed from v.3376  
changed lines
  Added in v.3394

  ViewVC Help
Powered by ViewVC