The SONAR 8.3 Log

Page: 12345 > Showing page 1 of 5
Author
Noel Borthwick [Cakewalk]
Cakewalk Staff
  • Total Posts : 6475
  • Joined: 2003/11/03 17:22:50
  • Location: Boston, MA, USA
  • Status: offline
2009/02/28 23:16:51 (permalink)

The SONAR 8.3 Log

We're happy to see so many of you enjoying SONAR 8.3. I know some of you enjoy the trivia that goes into a release so here is the unabridged version of what went into SONAR 8.3 aka the making of SONAR 8.3 aka the 8.3 fine print. If details aren't what you like wading through, just go ahead and enjoy using the product and skip this, what you don't know wont hurt you :-)

Disclaimer: This text is not an official Cakewalk endorsement of any features in 8.3 and has not been officially proof checked for accuracy, so I reserve the right to edit the content at will. The sole purpose is to provide more detail on the depth of some of the features in 8.3 that some of you have requested and to hopefully answer some common questions.

8.3 was a particularly intense point release for us and everyone involved spent a lot of long hours and effort to make this happen. Special thanks go out to our beta testers on this who spent long hours trying out all the new risky stuff. Posts from beta testers and Cakewalk engineers going into the wee hours of the morning attest to some of the dedication in this cycle.

As most who have been our customers awhile may know, the typical Cakewalk product lifecycle goes somewhat like this:
- We work on a major release
- Post release we typically do a quick minor point release to address any immediate or urgent issues that might arise
- We then hibernate a bit and do a major point release that makes some feature improvements and addresses any old or new issues that are common customer complaints.
- The cycle repeats

This time around when it was time to do our point release we wanted to continue working on the optimization theme we started in S8, but also revisit some common complaints and workflow issues with some of our existing features that needed some TLC. So we identified the following broad areas that we needed to work on in 8.3:

1. External Insert Improvements
2. Optimization and multi-core enhancements
3. VS-700 updates
4. New/Enhanced Features
5. Bug fixes
6. New content

External Insert Improvements
SONAR 8.3 includes a completely reworked and redesigned external insert. We added support for External Inserts back in SONAR 7. Inserts can be a surprisingly complex feature to implement in a DAW, especially with all the variables involved with delay compensation and bussing, etc. We did a lot of work to implement this in SONAR 7; alongside implementing side-chaining (has a few areas of overlap with external inserts in our engine). Though our first cut of external inserts from S7 worked in simple configurations, it was a bit quirky to set up, system dependent and didn't quite work well in more complex configurations where you needed multiple inserts, or used delay compensated plug-ins. Some symptoms included pings not returning consistent results, phasing issues and problems with delay compensated plug-ins and multiprocessing. So we really wanted to try and address all those issues.
Once we were finished with S8, the first step was to identify all known problems with inserts. We went through our bug tracking database and also some test scenarios to collect this. Next, Bob and I took a step back and spent a few days analyzing the existing design on a whiteboard and trying to poke holes in it. Not surprisingly we found quite a few.:-)
After various unsuccessful experiments to build on the existing framework we had in place to process inserts, it became evident that we needed to make some fundamental changes in the loopback logic we had to properly support delay compensation. It turned out to be a daunting task way beyond bug fixing that took over a month to get right, and required some fairly fundamental changes to our rendering logic to pull this off. We had more than a few dark days where nothing we did seemed to work just right or it would get a little better but then something else would break etc.
We love challenges however, and by early January after a couple of breakthroughs and some out of the box thinking, we were psyched to see that we could get reliable pinging and consistently sample accurate playback across a variety of systems. On most interfaces, if the gain stages are set up right you can now get results that are sample accurate, without any tweaking whatsoever - amazing! Even better unlike S7 the new logic worked in WDM mode, without any tweaking.
Another area that that took some special work was to handle the presence of other PDC plug-in's before or after the EI in an effects bin. This was tested by adding one or many plug-ins with huge PDC before and after the EI and testing for phase cancellation.
When we finally went to beta with this we had beta testers running many EI's simultaneously in PDC laden projects with no problems, something that was impossible before. A nice thing about using EI's is that they consume minimal CPU since there is no host based DSP load - all the host is doing is the mixing and routing of the loopback circuits.
Setting up external hardware loopback to be perfectly sample accurate is not always a requirement, but it can be depending on your use scenario. For example, if you are recording multitrack drums and have bleed on the inputs being processed through an EI, you want the loopback to be as phase accurate as possible to avoid weird phase cancellation or other artifacts. At my request Bob Damiano (our director of engineering and a professional audio engineer in a previous life) wrote an excellent EI setup guide that is now in the help. I highly recommend checking that out since there are some great tips in there for setting up an EI. You can read it online here.
The EI qualifies as one of the most challenging projects I've worked on at Cakewalk, but I'm glad to get this one behind us. :-)

Aim Assist - Select Tool
When the left mouse button is clicked and held to drag the front of a Clip (the front half), the Aim Assist line snaps to the front of the Clip and travels with the clip as it is dragged.
If the mouse is over the rear of a Clip (the rear half), the Aim Assist line snaps to the end of the Clip, and any snap operates on the clip ends (versus the front). The line again travels with the end of the clip as it is dragged. In other words, the end of the clip is snapped to the current snap settings and landmarks.

Aim Assist - Scissors Tool
The Aim Assist line operates normally, but obeys snap, so you can see where a cut will be made.

Aim Assist - Ruler
When dragging in the ruler, the former select by time has been restored
Aim Assist enhancements: follow snap settings, clip start

Snap Enhancements - Presets
Presets have been added for the Clip property page (only) in the Track View.

Snap Enhancements - Multitrack Landmarks
When selected, landmarks from all visible tracks populate the landmark database.
When not selected, the Landmark database consists of the Track the mouse is over (as before).

Clip Groups Enhancements
Copying grouped clips now optionally do not include the copied clips in a group

CreateNewGroupsOnPaste=<0 or 1>
Type Boolean
Default 1

When you copy and paste clips that belong to a clip group, this variable specifies if the pasted clips should be placed in a new clip group or continue to be grouped with the original clip group. By default, a new clip group is created.
The values are as follows:
0 = The pasted clips will belong to the same clip group as the clips that were copied.
1 = A new clip group is created for the pasted clips. This is the default behavior.

New split options for clips

Split Selection is now an option (see Options | Global | Editing.

Selection after single split -- This list lets you specify what is selected after a clip is split into two parts:

Left portion (default). Only the left portion is selected.
Right portion. Only the right portion is selected.
Both portions. Both the left and right portions are selected.
None. Neither portion is selected.

New checkbox for splitting clip groups:
When splitting clips in groups, create new groups--Choosing this option tells SONAR to create a new clip group when splitting clips in an existing clip group.

Dynamic arm improvements
Under Transport | Record Options | Allow arm changes during playback/record there is an additional option for 'Only Inputs In Project'.
The new Only For Inputs In Project option instructs SONAR to only open hardware input ports that are currently active in the project (i.e. assigned to a track).

To only open active hardware input ports
On the Transport menu, click Record Options to open the Record Options dialog.
Select the Only For Inputs In Project check box.
Note: If this option is enabled, you will not be able to change inputs while recording.


Global Effects bypass
SONAR has had the ability to bypass effects at a per-effect level (effects bypass) as well as at an effects bin level (bin bypass) or for a selection of tracks.
SONAR 8.3 additionally adds the ability to temporary globally bypass all effects in a project either for all effects bins or by category (tracks/buses/clips).
There is a new toggle in the Process menu globally bypass effects bins. By default global bypass is OFF, which means that all effects bins follow their bypass state as stored in the project.
The “Global Bypass Effects Bins” option temporarily overrides all the effects bin bypass states and forces all track, bus and clip effects bins to be bypassed. The default keyboard accelerator for this is Ctrl-Shift-Y. To restore the bins to their original state, simply toggle the state of the global bypass.
Note that the individual effects bins bypass states are retained during a global bypass operation. While in a global bypass state you may choose to enable any individual effects bins. This provides for an easy way to quickly audition a single effect within a mix.

The use cases where this is handy are:
- To quickly A/B a dry vs. a wet mix
- To temporarily bypass all inline plug-in delay compensation (PDC) effects in order to avoid delay compensation induced latency while tracking virtual instruments or input monitored tracks.
- To temporarily reduce CPU consumption

New Track/Bus/Clip effects Menu toggle - Bypass Bins of This Type
This is a new popup menu item on tracks, buses and clip effects bins.
By default Bypass Bins of This Type' is OFF, which means that all track, bus, or clip effects bin's follow their bypass state as stored in the project. When 'Bypass Bins of This Type' is enabled, all effects bins which match the data type of the source effect bin are bypassed. E.g. If you pick this operation from a track effects bin, ALL track effects bins will be bypassed. If you pick this operation from a bus effects bin, all ALL bus effects bins will be bypassed.
The “Bypass Bins of This Type” option works similarly to the global bypass bins operation except that it operates on a more limited set of data as specified by the source bin from which the operation is performed.
Note that the individual effects bins bypass states are retained during this bypass operation. You can freely mix and match using 'Bypass Bins of This Type' with other bin bypass operations. Not that the global 'Global Bypass Effects Bins' option if toggled will override any individual 'Bypass Bins Of This Type' operations since it operates on a wider scope.

PDC Override For Live Tracks

We had a common feature request to allow for low latency playback even in projects with PDC plug-ins. While working on all the delay compensation stuff in the EI, I had an “aha” moment. The work with the EI revealed that there was a more straightforward way to make this happen. It took just a few hours to implement this useful feature with the new approach. I love it when another feature enables a seemingly unrelated sub-feature!

While working with virtual instruments and live input monitored tracks one of the primary requirements is for audio to be streamed at low latency to minimize delay. Although SONAR itself supports streaming audio at very low latency (subject to any hardware restrictions) there are cases where internal buffering can cause additional latency. There are several scenarios where this can occur, the most common being when you have plug-in’s that require automatic plug-in delay compensation (PDC).

For example, a track may have a plug-in such as PerfectSpace or TransientShaper, which needs more than one buffer of audio before it can produce output. Depending on the signal flow in the project, the presence of such plug-ins can cause other normal tracks to be Delay Compensated in order to synchronize them with the delayed audio. The process of synchronizing tracks with one another in this way is referred to as Automatic Plug-in Delay Compensation (PDC).

In SONAR whenever delay compensation takes place on a track that has a live input (such as an input monitored track or a synth track), it is delayed by the required amount to synchronize it. In some cases the delay can be so large that it makes live tracking unusable. Additionally, it can also be difficult for an end user to determine exactly what in the project is causing the track to be delayed since there is no feedback as to which plug-ins are producing the delay. It is very common to hear end users ask why their synth’s have high latency even though their audio buffer settings are small.

The PDC Override for Live Tracks feature allows the end user to disable SONAR’s delay compensation mechanism on all live input circuits in the project, thereby removing the latency on playback and recording of such inputs. This restores the latency to that of the selected audio buffer size (plus any delay incurred by inline plug-ins in the circuit, if any).
There is a new toggle in the Transport menu to enable or disable PDC override on live input tracks. By default PDC override is OFF, which means that all tracks are automatically delay compensated when plug-in’s requiring delay compensation are present. The default keyboard accelerator for this is Ctrl-D.

Note:
- You can control which tracks are delay overridden by enabling input echo only for those tracks. Only input echo enabled tracks are delay overridden – all other tracks have normal delay compensation applied.
- The PDC override feature is automatically turned off during a bounce or export, so it's unnecessary to remember to turn it off manually. i.e it will not affect any rendered output either when using fast bounce or realtime bounce.

Some PDC Override use cases
This is primarily useful in cases where you have delay compensated plug-ins in a project, causing other live synth or input monitored tracks to be delayed. Turning on PDC Override in this scenario overrides SONAR's automatic delay compensation only for these tracks thereby allowing them to be rendered with no delay. Since it's a toggle, you can quickly turn it on complete your tracking at low latency, and turn it off when finished to hear the track compensated as normal.

Below are a few common scenarios under which you will hear PDC induced delay on a track. The track which experiences the compensatory delay is shown in red below. Note in all cases Track B is either an input monitored audio track or a Synth track with input echo on. In all the cases shown below, toggling the Live Input PDC Override setting will eliminate the delay on the indicated track.

Cases with PDC plugin in track effects bin:

Track A -------------> PDC trk plug-in -------------\
                                                                       BUS
Track B -------------------------------------------/


Track A -------------> PDC trk plug-in ----------> Hardware Main

Track B ----------------------------------------> Hardware Main


Case with PDC plugin in bus effects bin (Trk A routes to bus):

Track A -------------> PDC Bus plug-in -------------\
                                                                         Master BUS
Track B --------------------------------------------/


Boundaries and Exception Handling

1. PDC override is ignored during a bounce/export or freeze operation.

2. If the live track being monitored also contains track data (or MIDI data in the case of a synth track) the streamed track data will not be delay compensated with other tracks. i.e:. it will sound out of time. This is by design. You should either clip mute this data, work with an empty region of the track, or use an entirely new track while recording to avoid confusion.

3. Additionally, routing such as the one illustrated below will cause sync problems when overridden. Track A and B are normal audio tracks and Track B is a synth track with input echo on.
Track A and Track C below will sound out of sync when PDC override is engaged.
This is because synth Track B causes the ENTIRE Bus A circuit to be PDC overridden, leading to delay compensation being bypassed for Bus B.
As a result of this track A and C will be out of sync with each other.


Track A -------------------------------------------\
                                                                       BUS A --------> BUS B
Track B -------------------------------------------/

Track C -------------> PDC trk plug-in -----------------------------/ (to Bus B)

The examples above illustrate the complexities with PDC and why having automatic delay compensation on is a good thing to have on by default :-)
In general to effectively use PDC override without affecting other tracks, the following options are suggested, to avoid dependencies like shown above:

- Output the IM tracks directly to the FINAL bus in the signal flow.
- Send IM tracks directly to a hardware main.


Limitations
  • The Live Input PDC Override option will not help reduce latency caused by inline plug-ins that have internal delay. ie plug-ins like Perfect Space or TS64 when present in the signal path of an input monitored track will always delay the track irrespective of the state of the Live Input PDC Override option. This is expected since the delay is caused by the plug-in itself and not SONAR's PDC mechanism.
  • This feature primarily is of use for live input monitoring and synth tracks. Monitoring though tracks that already contain recorded data will result timing in out of sync playback of the existing data.
  • The Live Input PDC Override option can be toggled dynamically during playback. It will cause a momentary “gap” in playback while it resynchronizes.
  • The Live Input PDC Override option cannot be toggled dynamically during recording. This is by design.


Optimizations Take 2

More of the same class of improvements that we did in SONAR 8.0, but better!

1. Greatly reduced system calls overhead during realtime audio streaming. Our system calls/sec is around half of what is consumed by 8.0.2 at the same latency!
2. By careful profiling we were able to improve the performance of SONAR's task scheduler by making various optimizations. The scheduler itself now consumes fewer resources and is more efficient at task dispatching.
3. Further reductions on kernel mode transitions

All the above translate into less CPU use at lower latency, allowing you to work at lower latencies than ever before with no glitching.
We will be publishing our internal benchmark results soon but several internal and beta tester reports show average gains of 10-15% on heavily laden projects when comparing performance of SONAR 8.0.2 to SONAR 8.3. We are interested in your observations as well so please post your results.

Improved/more accurate CPU Metering
With all the optimization work done so far, it was appropriate to turn our attention to the actual measurement of CPU load. Keith Albright spent a lot of time tweaking and improving the actual measurement of CPU resources in SONAR. You will find that CPU measurement is now more responsive and accurate than before. Also the measurement of CPU load itself is also more efficient (what a concept - the observer effect causing load!)

It's important to understand what SONAR's, CPU meter actually measures compared to what Windows measures in task manager and other tools. From the point of view of a DAW, we are typically interested in measuring how much CPU bandwidth is available before audio drops out or glitches. This is however a simplistic estimate, since on a modern multi-processing OS like Windows there are so many background factors at play (drivers, OS, other background applications or services) that there is no guarantee that there will not be a glitch caused by some external interruption. Despite this the CPU meter still serves a very useful purpose and is a good measure of system stability and performance - especially on a well optimized system. SONAR's CPU measurement can be expressed by the following formula:

CPU% = (BufTimeMs / BufDurationMs) * 100.

BufTimeMs = Time taken to process a single buffer of audio in milliseconds
BufDurationMs = Duration of a single buffer of audio in milliseconds

i.e. a CPU % of 100 means that your computer is taking as much time to process a buffer of audio as the duration of that buffer itself. In other words this is a dropout condition.
By default, SONAR doesn't dropout if it encounters a single buffer of audio that takes longer to process than the buffer duration. We do this so that the application is not overly paranoid and dropout prone while doing edits. Instead we wait for a threshold time of CPU over's before we force a dropout. This threshold is user configurable via aud.ini as documented in the help file.

DropoutMsec=<num>
Type: Integer
Default: 250

Under high system load conditions, the SONAR audio pump mechanism may become starved. When this condition is detected, SONAR drops out. The DropoutMsec variable allows you to configure the tolerance time in milliseconds. This variable applies to all driver modes.
Setting DropoutMsec to a positive value > 0 specifies the actual time in milliseconds to tolerate before dropping out due to starvation.
Setting DropoutMsec to a negative value < 0 means we use a multiple of the audio buffer size as the tolerance. i.e. -2 means we use twice the audio buffer size.
Note that setting this value too low (e.g. 0) can result in more frequent dropouts in the program. If you notice too many dropouts, try raising it in buffer multiples or by explicitly specifying a millisecond value.

CPUMeterMode

With the proliferation of multi-core systems available today the old way of displaying CPU load on the taskbar needed an overhaul. Instead of toggling the display between the available CPU's (try watching that on an 8 core machine <g>) by default on the taskbar we now display a peak and an average value, similar to what our audio meters display. This is much more useful than the prior approach. Of course you can always see all the individual meters on the large transport.
We even went a step further and made this customizable. You can switch the taskbar CPU readout to one of 3 modes:

CPUMeterMode
This variable specifies how the CPU meter appears in the status bar on multiprocessor systems. The values are as follows:
0 = The peak thread load is displayed as the bar and a yellow indicator shows the average of all audio threads. This is the default mode.
1 = The average audio thread load is displayed as the bar and a yellow indicator shows the peak thread.
2 = A bar is shown for each audio thread. This is the same display as previous versions of SONAR.

Improved Multi-Core load balancing

SONAR has supported scalable load balancing for multi-core computers since SONAR 3. In 8.3 we spent some time researching different techniques to improve our task scheduler (the internal component that distributes the project workload across multiple threads). The new scheduler mechanism allows for a more even load across all cores on a multi-core system. Not only that but the new mechanism consumes less CPU and is more power efficient. We haven't measured this yet but it should actually consume less battery resources on a notebook than SONAR 8.0.2! SONAR goes environment friendly :-)

Since all systems are not made equal we decided to make this new scheduling mode configurable 
From the help file, the new aud.ini option to control this is:

ThreadSchedulingModel=<0 - 2>
Type Integer
Default 1

This variable goes in the [Wave] section and controls the interaction of the main audio thread and worker threads on multiprocessor systems when the Use Multiprocessing Engine option is enabled. Depending on the system, a particular model may result in less glitching and better overall performance. The values are as follows:
0 = Same as previous versions of SONAR.
1 = (default) Better thread balance. Model is more efficient and can provide cycles for other tasks.
2 = Additional worker thread is created. This may result in improvement with Quad processor systems or higher. Not recommended for Dual processor systems.


New 64 bit plug-ins
There are 2 new 64 bit plug-ins included with SONAR 8.3. These plug-ins will load natively in SONAR X64 without using BitBridge

Guitar Rig 3.2.2 LE
TruePianos x64

Improved native plug-in selection in Vista X64
SONAR X64 will now preferentially pick the X64 version of a plug-in when both X64 and X86 flavors are available in the plug-in inventory. When running 32 bit SONAR in Vista X64 it will pick the X86 (32 bit) version of the plug-in.


New application error notifications

Too many plug-ins notification

SONAR has limits to the number of plugin's that can fit in menus. When the number of plugin's exceeds the limit we now display an error message:
"More plug-in's are available on your system than can fit on this menu. The extra plug-ins will not be listed until this is resolved. Please use the Plug-in Manager to create custom menu layouts in order to categorize and store smaller sets of these plug-ins. Alternatively you can reduce the number of plug-in's installed on your system."

This normally happens when you have too many plugins installed on your system than can fit the menu. You need to move some plugins out of your default VST folder or alternatively use plugin layouts. Layouts were designed to overcome this problem.

The current limits for how many plug-ins can fit in the menu are:
735 audio plug-ins
255 synths
31 rewire devices

Though these numbers might look arbitrary, they are the ranges assigned to menu identifiers.

Notification when track/bus outputs are assigned to silent output

A new Silent Busses Detected dialog warns the user when a project contains buses or tracks that are assigned to the silent "NONE" output destination. The dialog lists all tracks and buses that have outputs or sends that are assigned to "NONE"
Typically if there is a discrepancy detected between the port assignments that were saved and the ports that are used in the current configuration, the ports are set to "None" and the Silent Busses Detected dialog warns the user.
This can also happen if you change your driver mode and fewer output devices are available in the new mode.

The message is primarily intended to be a warning to alert the user that a bus might be silent since it might be unexpected. No action is required if the user intentionally assigned the bus or track to NONE.

If you never wish to receive this warning message there is a cakewalk.ini option to silence it.
In Options | Initialization file add a new variable named WarnSilentBuses and set it to 0.


Issues addressed

In all our point releases we address a large number of user reported problems as well as issues internally identified in order to improve stability of our application. Below is a sampling of some of the issues that were addressed in SONAR 8.3 from our internal database.

Synth rack view doesn't redraw when creating track folders
Abbey Road Brilliance Pack causes memory leak in 8.0.1
LP64 EQ could cause crash when in master bus
Slow Saving with East/West plug-in
Fix for certain project files that could crash on load
Crash while enabling built-in EQ during playback in x64
Huge GDI jump when adding an envelope to some projects
Crash while idling after loading a project
Plug-in Manager Crashes when exporting ACT or surface presets
Assert and hang patching External Insert under x64
Automation does not work before looped region in a project
Cannot reorder MIDI outputs with VS-700
Disk meter updates infrequently at low latencies
Incorrect processing of WM_APPCOMMAND message
Instrument track disappears when you freeze it after choosing to hide MIDI tracks
Copy / paste from Clip Selection group should create new group
Recording two tracks with same input not working in dynamic arm mode
Fixed out of order takes on loop recording
Audio is significantly out of sync with two External Effects on a track
External Effects latency test grows by 3ms each time the ping test is run
External Insert offset changes between passes and sometimes during playback
External Insert ping could appear to hang when the containing bin was bypassed
Wave Profiler allows you to minimize and run SONAR with it in background
Can't audio scrub with EI in project
Unfreeze audio with External Effects Insert causes TTS-1 to break up
Project with multiple External Inserts causes "buzz" when playback is stopped
Deleting EI plug-in causes Sonar crash 2
External Insert sample offset does not behave predictably
Loop Explorer view does not respond to Next button on CS (or CTRL + F6 Tab)
User submitted project fails to load
Automating parameters on External Insert causes crash
Record meter scale doesn't persist
Disappearing Audio w/Drag & Drop
V-Vocal: Mute/Solo affects wrong track if project has instrument tracks
Send Assistant: Can't create pre-fader sends with no effect
Using external insert on track with groove clips causes SONAR to crash
Crash opening MIDI type 1 file in SONAR 8 (x64)
Audio Options Dialog needs Hour Glass when updating
Problems Deleting and Undoing External Insert
Cloning a track containing an EI or drag copying it breaks the source EI
SONAR crashing when archiving tracks with two instances of BFD2 in project
Free Edit tool does not have a way to Split at selection.
Grouped clips in layers select unpredictably when using alt-click-drag
Split Clips at AudioSnap Pool is an available option with no clips selected
Can't Jog by one frame in VS700
Cannot open certain .wrk files in SONAR 8 x64
Clip Groups disengage and cause problems with dragging to the left.
Dropouts with dynamic arm
Using UAD RE-201 + SPL TD together causes motorboating
SONAR and UAD Precision Multiband causes high latency while input monitoring
Metronome toolbar buttons behave inconsistently
Instrument Track MIDI channel jumps to 3
Consistent crash trying to unfreeze a frozen synth
Buss preview waveform loses sync with playback
More than one EI in the same signal path not calculating delay time properly
Preset dropdown in External Insert does not work as expected
Crossfades not working properly
Loop Explorer can not do Key Bind
SONAR crashed when use Input Quantize
Snap to markers doesn’t work sometimes
Scrub Tool doesn't operate on Frozen Simple Instrument Track
Sonar changes output device without warning
Cannot use time/pitch stretch in x64
Error when inserting Pristine Space
MPEX not disabled in x64
Inconsistent PDC behavior
MIDI Clip Length erroneously increases
Deleting EI during play back caused Sonar to crash
Using more than one instance of EI causes failure of the EI return signal
Opening Loop explorer breaks EI on a buss
Fade on stop would not always render for the specified fade time.
post edited by Willy Jones [Cakewalk] - 2009/12/14 09:25:31

Noel Borthwick
Senior Manager Audio Core, BandLab
My Blog, Twitter, BandLab Profile
#1

120 Replies Related Threads

    InstrEd
    Max Output Level: -65 dBFS
    • Total Posts : 1276
    • Joined: 2004/10/13 20:55:03
    • Status: offline
    RE: The SONAR 8.3 Log 2009/02/28 23:35:09 (permalink)
    Wow Noel,

    Just printed it so I can read it off line.

    Just with the little I have play with 8.3, Cakewalk and company did a fantastic job.
    Great work. Now how about working on the Staff/Notation improvements for Sonar 9 (hint, hint)

    Ed
    #2
    Oaf_Topik
    Max Output Level: -54 dBFS
    • Total Posts : 2105
    • Joined: 2007/12/07 17:11:26
    • Status: offline
    RE: The SONAR 8.3 Log 2009/02/28 23:36:51 (permalink)
    I LOVE YOU!!!

    #3
    Middleman
    Max Output Level: -31.5 dBFS
    • Total Posts : 4397
    • Joined: 2003/12/04 00:58:50
    • Location: Orange County, CA
    • Status: offline
    RE: The SONAR 8.3 Log 2009/02/28 23:46:09 (permalink)
    I love you too. No, I mean it this time...

    The story behind the story....ahahahah....Thanks.

    Gear: A bunch of stuff.
    #4
    rscain
    Max Output Level: -75 dBFS
    • Total Posts : 784
    • Joined: 2004/03/23 09:52:29
    • Location: Kentucky
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 00:16:46 (permalink)
    Nice of you to post this, Noel, thanks so much.

    So far 8.3 is doing great by me, and the Aim Assist has been a great help, thanks to whoever came up with that!
    post edited by rscain - 2009/03/01 00:22:28

    My Tunes On SoundClick  
     
     
     AMD FX9350 @4 gHz, 16 gb ram, 240 gb SSD, 2 1Tb SS/Hybrid HDs, 1 Tb Fantom External HD, Windows 10 64 bit, Sonar Platinum 64 bit, Studio One 4 Pro, Harrison Mixbus, Izotope Neutron 2 Advanced and Ozone 8 Advanced, ARC 2, NI Komplete 11 Ultimate, TC-Helicon VoiceLive 3, Focusrite Saffire Pro 24 DSP, Focusrite Octopre MkII, KRK Rokit 8 monitors, Sennheiser HD 280 pro headphones, MidiMan Oxygen 8, Behringer X-Touch, guitars and stuff 
    #5
    Billy Buck
    Max Output Level: -54 dBFS
    • Total Posts : 2101
    • Joined: 2003/11/05 22:25:15
    • Location: Atlanta, GA.
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 00:29:44 (permalink)

    ORIGINAL: InstrEd

    Just printed it so I can read it off line.




    I am going to copy & paste this as it will make a fine addendum to the
    8.3 readme file. Great stuff Noel!

    Win 10 Pro x64 | i7 4770k | ASUS Z87 Deluxe/Quad w/ TB 2.0 | 16GB Corsair RAM | Apollo Twin Duo USB | UAD Satellite Octo USB | UAD-2 Quad + UAD-2 Solo PCIe | SONAR Platinum x64 | REAPER 5 x64| TranzPort


    #6
    JoZoB
    Max Output Level: -89 dBFS
    • Total Posts : 72
    • Joined: 2003/11/06 01:19:42
    • Location: Toronto
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 01:02:55 (permalink)
    Thanks, Noel. Great info.

    It's company interaction like this that's the primary reason I've been a customer since Cakewalk 4.0 for DOS

    George

    Cattapan Productions
    GB UD3P, Q6600, 4GB RAM, 2x8600GT Video, 5x 500GB SATA Drives, TC Studio Konnekt 48, UAD-2 Quad, 2xUAD-1, Liquidmix, MOTU Microlite, MCU & XT, XP Pro SP2
    #7
    b rock
    Max Output Level: 0 dBFS
    • Total Posts : 8717
    • Joined: 2003/12/07 20:31:48
    • Location: Anytown (South of Miami), U.S.A.
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 01:11:02 (permalink)
    here is the unabridged version of what went into SONAR 8.3
    Class act.
    #8
    JSGlen
    Max Output Level: -73 dBFS
    • Total Posts : 856
    • Joined: 2008/06/01 14:48:02
    • Location: Arnold, Ca.
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 01:38:21 (permalink)
    Thanks a bunch !

    ADK Quad Pro, Intel Core i7 3770 IVB 3.5 Ghz, Windows 7 64
    Seagate 500G Sata 600 OS Drive, Seagate 1 TB Sata 600 Audio Drive, 16 gigs of ram, 700 watt Coolermaster Silent Pro power supply.  Apollo Quad Interface, Dangerous D-Box, Burl B2 ADC, UAD 2 Duo, Avalon 737, UA LA 610 MK II, UA 1176 LN Hardware, Focal CMS 65 monitors, Avid Artist Control. 

    Sonar X3d

    Pro Tools 11 & 10

    Wavelab 8


    #9
    Desperate Dan
    Max Output Level: -59.5 dBFS
    • Total Posts : 1554
    • Joined: 2003/11/08 12:56:17
    • Location: Lysithea
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 02:30:49 (permalink)
    Great Job,

    Windows 7 Professional  64 bit - Intel Q-9550 2.83 CPU, 8Gb DDR800, Gigabyte EP35-DS3R, M-Audio Delta 44, Yamaha HS-80M Monitors, UAD-1 Ultra Pack

    I'm reading a book about anti-gravity at the moment and I just can't put it down
    #10
    Marah
    Max Output Level: -71 dBFS
    • Total Posts : 975
    • Joined: 2009/02/04 21:56:41
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 05:17:19 (permalink)
    Thank you for posting this, Noel.

    Congratulations to you and your team on the release!
    #11
    Danny Danzi
    Moderator
    • Total Posts : 5810
    • Joined: 2006/10/05 13:42:39
    • Location: DanziLand, NJ
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 05:21:00 (permalink)
    Excellent read, Noel! I'm one of those guys (as you know lol) who loves to read stuff like this. I also want to thank you and all the others that worked on this...it's been flawless for me. I do have a few questions for you if you have a spare minute? If not, it's ok.

    1. Now that this release is probably what most (as well as you guys at Cake) would be happy with, will you still have a strict deadline to put out a Sonar 9 or whatever by October?

    To me, this is really what 8 should have been and with this version I fully retract my previous statement of "S8 is a modded version of 7." :) 8.02 worked well for me so in reality, it was "my" final version. But this is just insane with all the new stuff and I'm grateful.

    2. When you do go to make a 9, will you use this code and just add more insane enhancements?

    I guess what I'm getting at is, (and I mean no disrespect) I would really hate to buy a new version in October and deal with bugs/errors. I know that October is a long way off, but to be honest, I'm not really looking forward to a new Sonar until this time next year. I feel this was a totally new Sonar and could have easily been S9.

    3. Do you feel that 8.3 may have been a ground-breaking template for possible versions in the future that may be more stable?

    I know there will be new innovations and things you guys try at all times. This of course can bring in bugs, errors and all that goes with them. I know this is how we evolve and grow as users, and you as a company. But do you think the extra work you've all done here may literally raise the bar from your standpoint for the future?

    4. How long do you use some of the core codes before you decide it's time to totally rebuild them from the ground up? Like, how many versions of Sonar may have had older version codes that "just worked" so you stuck with them? For example, how much of Sonar 1 was used in Sonar 2? How much of Sonar 2 was used in 3 and so on?

    I know you may be too busy to answer questions like these and probably need a vacation after all you have been through with this release. But I felt you may not see questions like this often and figured it might not be a bad idea to at least ask. Thanks again for everything you've done for us. You, Keith and Willy have been God-sends to me. I know some of us (myself included on many occassions) get a bit testy with our posts at times...I've been really working on my skills in that area as I'm sure you have probably noticed if you ever read my posts. I know this stuff is probably more frustrating for you working on it than it is for us to use it and it must make you feel inside like "you know, if you guys only knew how much we've gone through the pains of hell to fix one little thing...how dare you blast off at us after we worked on this one little thing for a month!" I can't fathom what that must be like. On our end we just sometimes look at things in the light of "look, it still doesn't work...we don't care if you worked on it 3 months!" That's a sad way to view things really, yet in a sense, it's still credible as I'm sure you know.

    Being on this forum talking to you and guys like Willy as well as some of our members here that create software has opened me up to "the other side" a bit eventhough I'm still completely clueless about most of it. I've learned to have a bit more of a tolerance as well as respect for all that goes on here to be honest....and again apologize for the times I may have been a bit frustrated in my postings. You know how it goes though I'm sure. Thanks again for everything Noel and all at Cake for really hooking us up with this version. :) If something isn't right....I call it like I experience it. When something IS right, it's worthy of praise....and this is truly worthy of praise in my opinion. :)
    post edited by Danny Danzi - 2009/03/01 05:29:11

    My Site
    Fractal Audio Endorsed Artist & Beta Tester
    #12
    Jonbouy
    Max Output Level: 0 dBFS
    • Total Posts : 22562
    • Joined: 2008/04/14 13:47:39
    • Location: England's Sunshine South Coast
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 06:30:50 (permalink)
    Some excellent insights there Noel.

    Great post...I can see myself moving up from 7 because of this and the feedback it's getting...dang, and I promised I wouldn't be spending any more money this year!
    post edited by Jonbouy - 2009/03/01 06:31:29

    "We can't do anything to change the world until capitalism crumbles.
    In the meantime we should all go shopping to console ourselves" - Banksy
    #13
    Peter Morrison
    Max Output Level: -81 dBFS
    • Total Posts : 471
    • Joined: 2003/12/29 06:52:37
    • Location: Farnham England UK
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 06:41:28 (permalink)
    Amazing Noel and nothing short of

    Gear;-4 copper kettles-a large dustbin-a piece of string and a cotter pin. I keep a spring on standby 
    #14
    ...wicked
    Max Output Level: -1.5 dBFS
    • Total Posts : 7360
    • Joined: 2003/12/18 01:00:56
    • Location: Seattle
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 07:09:44 (permalink)
    omg awesome! This is the kind of relationship between developer/user that I really love about Cakewalk. One to post on the refrigerator guys, kudos!

    ===========
    The Fog People
    ===========

    Intel i7-4790 
    16GB RAM
    ASUS Z97 
    Roland OctaCapture
    Win10/64   

    SONAR Platinum 64-bit    
    billions VSTs, some of which work    
    #15
    Silence Dogood
    Max Output Level: -82 dBFS
    • Total Posts : 434
    • Joined: 2007/04/28 16:46:07
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 07:29:25 (permalink)
    Noel; As a software hack myself, I was thinking just the other day about your EI implementation and how difficult that must be to engineer. I'm sure you and Bob are quite rightfully proud of your work in this area. I know from experience that it's tough to make the decision to completely rework an architecture or approach on which you have spent so much previous time. Obviously, you know now that you made the right call. I don't know who else can boast about sample accurate EI capability. An awesome piece of software engineering. My hats off 3x! -sd

    If at first you don't succeed, keep sucking 'till you do succeed! ("Curly" Howard)
    #16
    arkiruthis
    Max Output Level: -84 dBFS
    • Total Posts : 343
    • Joined: 2008/02/13 09:49:17
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 07:41:32 (permalink)
    Noel, I bet that cup of coffee in your avatar was one of the many millions consumed over 8.3's development.

    Awesome list, great work.
    #17
    PaulF
    Max Output Level: -90 dBFS
    • Total Posts : 16
    • Joined: 2003/11/07 16:22:06
    • Location: Essex, UK
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 07:53:40 (permalink)
    Noel,

    As a fellow software engineer, and as someone who has worked on many aspects of software performance, it's really interesting to see some of the technical detail like this. Gives great confidence that you guys know what you you're talking about ;-)

    Paul
    #18
    bitman
    Max Output Level: -34 dBFS
    • Total Posts : 4105
    • Joined: 2003/11/06 14:11:54
    • Location: Keystone Colorado
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 08:12:12 (permalink)
    I can't thank you all enough at cakewalk for your tireless efforts to yet again provide a recording studio in a box. While this has become commonplace for use who use these systems, documents such as this one show how things really are where the rubber hit the road. Thank you all again for your tireless efforts and I hope you wrote this on a plane to go somewhere nice and warm.

    :Ron
    post edited by bitman - 2009/03/01 19:13:41
    #19
    DonM
    Max Output Level: -34 dBFS
    • Total Posts : 4129
    • Joined: 2004/04/26 12:23:12
    • Location: Pittsburgh
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 08:42:48 (permalink)
    Noel:

    The commensurate professional. Thank you for this post. I deeply appreciate your respect and collegiality with the user community in this type of communication that you so frequently provide us. You and your team deserve much credit for your work and the excellent support you provide us.

    Take a well deserved rest and as soon as the weather breaks we'll drive up to Boston and wash and wax your car.

    -D

    ____________________________________
    Check out my new Album  iTunesAmazonCD Baby and recent Filmwork, and Client Release
     
    #20
    John
    Forum Host
    • Total Posts : 30467
    • Joined: 2003/11/06 11:53:17
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 08:53:04 (permalink)
    Neol, thank you, thank you very much.

    Best
    John
    #21
    ChristopherM
    Max Output Level: -56 dBFS
    • Total Posts : 1921
    • Joined: 2006/08/18 14:31:42
    • Location: UK
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 08:54:07 (permalink)

    ORIGINAL: Danny Danzi

    Excellent read, Noel! I'm one of those guys (as you know lol) who loves to read stuff like this. I also want to thank you and all the others that worked on this...it's been flawless for me. I do have a few questions for you if you have a spare minute? If not, it's ok.

    1. Now that this release is probably what most (as well as you guys at Cake) would be happy with, will you still have a strict deadline to put out a Sonar 9 or whatever by October?

    To me, this is really what 8 should have been and with this version I fully retract my previous statement of "S8 is a modded version of 7." :) 8.02 worked well for me so in reality, it was "my" final version. But this is just insane with all the new stuff and I'm grateful.

    2. When you do go to make a 9, will you use this code and just add more insane enhancements?

    I guess what I'm getting at is, (and I mean no disrespect) I would really hate to buy a new version in October and deal with bugs/errors. I know that October is a long way off, but to be honest, I'm not really looking forward to a new Sonar until this time next year. I feel this was a totally new Sonar and could have easily been S9.

    3. Do you feel that 8.3 may have been a ground-breaking template for possible versions in the future that may be more stable?

    I know there will be new innovations and things you guys try at all times. This of course can bring in bugs, errors and all that goes with them. I know this is how we evolve and grow as users, and you as a company. But do you think the extra work you've all done here may literally raise the bar from your standpoint for the future?

    4. How long do you use some of the core codes before you decide it's time to totally rebuild them from the ground up? Like, how many versions of Sonar may have had older version codes that "just worked" so you stuck with them? For example, how much of Sonar 1 was used in Sonar 2? How much of Sonar 2 was used in 3 and so on?

    I know you may be too busy to answer questions like these and probably need a vacation after all you have been through with this release. But I felt you may not see questions like this often and figured it might not be a bad idea to at least ask. Thanks again for everything you've done for us. You, Keith and Willy have been God-sends to me. I know some of us (myself included on many occassions) get a bit testy with our posts at times...I've been really working on my skills in that area as I'm sure you have probably noticed if you ever read my posts. I know this stuff is probably more frustrating for you working on it than it is for us to use it and it must make you feel inside like "you know, if you guys only knew how much we've gone through the pains of hell to fix one little thing...how dare you blast off at us after we worked on this one little thing for a month!" I can't fathom what that must be like. On our end we just sometimes look at things in the light of "look, it still doesn't work...we don't care if you worked on it 3 months!" That's a sad way to view things really, yet in a sense, it's still credible as I'm sure you know.

    Being on this forum talking to you and guys like Willy as well as some of our members here that create software has opened me up to "the other side" a bit eventhough I'm still completely clueless about most of it. I've learned to have a bit more of a tolerance as well as respect for all that goes on here to be honest....and again apologize for the times I may have been a bit frustrated in my postings. You know how it goes though I'm sure. Thanks again for everything Noel and all at Cake for really hooking us up with this version. :) If something isn't right....I call it like I experience it. When something IS right, it's worthy of praise....and this is truly worthy of praise in my opinion. :)

    Even though it only feels like Christmas, Noel's busy today, so he's asked me to address your questions -

    1. Well, we techies wouldn't really, but the marketing team has had another Roland Revenue Rocket (as we have learned to call them, although not to their faces, obviously) saying something about cashflow, world depression, and "you guys need to reward the Roland shareholder for investing in your company", so I guess the answer is "err ... see you in October".

    2. No, why re-use code when you can re-write it and make it perfect? But I am sure we can incorporate insane enhancements if we can hoodwink the product manager that they are required for health and safety reasons. What did you have in mind?

    3. Yes ... but see 2.

    4. That depends upon how difficult the fix is likely to be. If the fix is likely to be straightforward, it's boring for us, so the existing code can last forever, regardless of the bugs it contains. But if it involves exciting technological challenges, the whole team fights to work on it. That's why Bob and I did the EI thing (well, actually, I did it while Bob talked to his stockbroker on his cellphone) whereas we couldn't find anybody to tackle the soft synth automation bug that has been around ... well, since the release before soft synth automation was included.

    I am pleased to hear that Willy has been a God-send to you, but don't over-work him, or it will end in tears.

    I am thrilled to hear that we have awoken your interest in the other side. Please get in touch again, but not before you actually get there.
    #22
    The Maillard Reaction
    Max Output Level: 0 dBFS
    • Total Posts : 31918
    • Joined: 2004/07/09 20:02:20
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 09:07:42 (permalink)
    Thanks for all the attention to detail Noel!

    best regards,
    mike


    #23
    space_cowboy
    Max Output Level: 0 dBFS
    • Total Posts : 9813
    • Joined: 2007/07/20 14:49:31
    • Location: Front and center behind these monitors
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 09:17:03 (permalink)
    Thanks Guys (and Gals). Great Job.

    Some people call me Maurice
     
    SPLAT Pro lifetime, ADK 6 core 3.6Ghz with 32 GB RAM, SSD 1TB system drive, 3 3TB regular drives for samples, recordings and misc.  Behringer X Touch, UAD Apollo Quad.  2 UAD2 Quads PCI (i think - inside the box whatever that is), Console 1.  More guitars (40??) and synths (hard and soft) than talent.  Zendrum!!!
    #24
    fitzj
    Max Output Level: -61 dBFS
    • Total Posts : 1487
    • Joined: 2005/10/13 11:56:37
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 09:51:03 (permalink)
    Noel that was a wonderful piece of writing. As a manager of business software development its not easy to get it right and good testers are essential even then, things are overlooked and a new scenario cannot always be addressed.
    You probably write most in C and C++ which in itself has bugs and the no matter how good a developer is he cannot know how the source language will behave.
    Thanks for the info that went into getting this new update, it makes me proud to be a Cakewalk Sonar user.
    #25
    mabian
    Max Output Level: -68 dBFS
    • Total Posts : 1111
    • Joined: 2005/02/10 02:52:13
    • Location: Italy
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 10:21:19 (permalink)
    A clear demonstration of why I love supporting Cakewalk and using SONAR.

    Thanks Noel for the thorough details!

    - Mario

    Mario Bianchi
    ---------------
    Intel Q9550 Quad Core, Abit IP35 Pro XE M'Board
    2x2GB RAM, XFX GeForce 8500GT, 2x500GB Seagate SATA2 HD 7200.11
    Terratec EWS88MT, ESI Near 5 Monitoring Speakers
    Yamaha SY-85 Master keyboard, Roland JV-1080 Rack mod
    #26
    dbmusic
    Max Output Level: -68 dBFS
    • Total Posts : 1150
    • Joined: 2005/07/04 12:52:46
    • Location: Illinois
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 10:40:09 (permalink)
    Ok, I've been a real squeaky wheel over External Inserts ever since I upgraded to S7 and found it basically useless. The lack of official acknowledgment of what many of us were seeing through 2 versions and several updates had me questioning whether or not the CW developers where perhaps in over their head. Having added racks of analog gear to my studio, this issue stopped the upgrade cycle cold in it's tracks and sent me to another DAW. No way was I going to pay for broken features twice.

    I'm still a little miffed at having to wait a year and a half for some kind of official recognition that EI's had serious issues. I would have rather heard "It's broke, we know it, and we're working on it." than the totally mute response heretofore. I also harbor some lingering resentment at having to pay for an upgrade to fix what I originally paid for and expected to work.

    That being said, let me add that I appreciate the kind of transparency in Noel's posting. At the end of the day I just want the best tools available that will assist me in rendering an artistic vision. While I'll wait awhile for the love dust to settle over 8.3, it finally sounds like an upgrade from S7 may be forthcoming.

    Regards,

    DB

    DB Music

    SoundClick
    OurStage
    #27
    Silence Dogood
    Max Output Level: -82 dBFS
    • Total Posts : 434
    • Joined: 2007/04/28 16:46:07
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 10:40:34 (permalink)
    fitzj wrote: ...no matter how good a developer is he cannot know how the source language will behave.


    And they ask me why I drink....

    dbmusic wrote: ...it finally sounds like an upgrade from S7 may be forthcoming


    Optimist? Miser?

    post edited by Silence Dogood - 2009/03/01 10:52:08

    If at first you don't succeed, keep sucking 'till you do succeed! ("Curly" Howard)
    #28
    Willy Jones [Cakewalk]
    Cakewalk Staff
    • Total Posts : 751
    • Joined: 2008/10/15 12:53:11
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 11:19:33 (permalink)
    RE: Bob's super helpful EI usage guide, you can also find this in our knowledge base here: http://www.cakewalk.com/support/kb/kb20090222.asp

    Willy Jones 
    Cakewalk
    #29
    Billy Buck
    Max Output Level: -54 dBFS
    • Total Posts : 2101
    • Joined: 2003/11/05 22:25:15
    • Location: Atlanta, GA.
    • Status: offline
    RE: The SONAR 8.3 Log 2009/03/01 11:25:08 (permalink)

    ORIGINAL: Willy Jones [Cakewalk]

    RE: Bob's super helpful EI usage guide, you can also find this in our knowledge base here: http://www.cakewalk.com/support/kb/kb20090222.asp



    Thanks for the info & link. Yes, that is very helpful to understanding how EI works. I'll copy & paste it to my SONAR tips & tricks folder for future reference.


    Win 10 Pro x64 | i7 4770k | ASUS Z87 Deluxe/Quad w/ TB 2.0 | 16GB Corsair RAM | Apollo Twin Duo USB | UAD Satellite Octo USB | UAD-2 Quad + UAD-2 Solo PCIe | SONAR Platinum x64 | REAPER 5 x64| TranzPort


    #30
    Page: 12345 > Showing page 1 of 5
    Jump to:
    © 2019 APG vNext Commercial Version 5.1