Recent Changes - Search:

cPlay

cMP

Changelog

Changelog

cicsPlay 2.0b36
---------------
June 2010

1.  DSP refinements including more efficient resampler performance for
    both SRC and SoX

2.  Minor UI refinements including cosmetics. Window title now shows
    track number, in & out rates, e.g. "[3 44>192] Vengelis - ...".

3.  Fix for cue sheet processing when content file exceeds 99 minutes


cicsPlay 2.0b35
---------------
March 2010

1.  Minor VST refinement

2.  VST parameters maintained on ASIO startup error. Previous approach
    reset parameters to plugin defaults whenever an ASIO error 
    occurred at startup. 

3.  Remote control via PostMessage function. External programs can
    start player and perform control actions like Next, Previous or 
    Stop directly. Useful for headless setups requiring programmed 
    interaction with player. UI frontends can also exploit this new
    feature. See supplied sample program in release notes.

4.  Keyboard processing only done when focus is on main window

5.  DSP, SRC & ASIO refinements


cicsPlay 2.0b34
---------------
December 2009

1.  Major VST update:

    1.1  Fix minor UI error on 64 bit indicator in VST settings

    1.2  Add silence when switching tracks to clear plugin buffers

    1.3  Enable speaker setup with plugin versions beyond 2300. Such
         plugins are automatically configured for 2-in/2-out.

    1.4  Extensive revision in VST ASIO interface. New buffer design
         allows for faster ASIO processing.

    1.5  VST to ASIO output setup allows for each ASIO channel to be 
         enabled. This removes unnecessary ASIO overheads when using
         less plugin outputs, e.g. of plugin's 8-outs only 6 are used.

    1.6  SSE2 128 bit processing

    1.7  Add plugin 'bypass' button in Settings. On stereo output
         DSP output is passed through. On multi-output, only the
         first 2 mapped ASIO outputs are used (for left & right). On
         mono output, DSP output is summed & averaged for selected
         mono ASIO output channel.

    1.8  B9 compiler option removed to ensure plugin compatibility

    1.9  Add VST safety option to limit control. VST editor is accessed
         through a prompt, bypass is not allowed, and autoplay is not
         done at startup.

    1.10 Other minor (& cosmetic) refinements

2.  DSP refinements:

    2.1  Auto-mute feature delays playback start. Mute is longer (and 
         noticeable) when using a VST plugin (~2 seconds). 

    2.2  New method implemented for DSP termination improving safety
         when using a VST plugin 

    2.3  Other minor refinements (efficiency & ASIO)

3.  Performing "ASIO Settings" (via Settings) stops playback and a 
    "restart" message is shown. ASIO drivers behave differently on
    setting changes resulting in unpredictable behaviour (for some).


cicsPlay 2.0b33
---------------
December 2009

1.  Refinements in DSP and ASIO

2.  VST Plugin support in DSP processing. Only stereo plugins (i.e. 2
    input channels) can be used with up to 8 output channels. ASIO
    performance is maintained for 2-in/2-out plugins (stereo output). 
    For multi-channel output, best ASIO performance is achieved when
    latency is 64 samples or less. 

    DSP processing (including volume control) preceeds plugin. See
    specifications for more details.

    Usage: Set VST plugin via Settings > VST panel. Main panel enables
    VST button if plugin offers an Editor. Plugin settings are saved.


cicsPlay 2.0b32
---------------
December 2009

1.  Low level improvements in DSP and ASIO


cicsPlay 2.0b31
---------------
October 2009

1.  DSP refinements

    1.1  Threads optimisation for use with cMP's "Realtime" Optimise 
         setting. Recommendation of "Critical" setting remains however
         significant efficiency gains makes "Realtime" a strong option.

         This allows for complex decoding (i.e. FLAC) to occur without
         affecting playback in cMP. Depending on soundcard ASIO driver, 
         "Realtime" setting could be better.

    1.2  SRC efficiency improvements reducing CPU load and L2/L3 cache 
         footprint

    1.3  Minor refinements

2.  Added support for "Tiny" DSP Buffer Size. Previous buffer options
    remains the same with "Auto" using either "Small", "Medium", or
    "Large", i.e. "Tiny" must be manually selected.

    "Tiny" buffer option reduces L2/L3 cache footprint enabling lower
    specification CPUs to be used with resampling. The 2MB L2/L3 cache
    requirement remains to produce highest quality 192k output.


cicsPlay 2.0b30
---------------
September 2009

1.  DSP refinements

    1.1  Optimisation for Intel's Nehalem platform (Core ix CPUs)

    1.2  ASIO Settings activated on invalid latency or output

    1.3  Other low level refinements (SRC & kernel)


cicsPlay 2.0b29
---------------
August 2009

1.   DSP refinements

     1.1  Gapless processing enhancement

     1.2  Volume processing efficiency improvement

     1.3  DSP buffer optimisation (when using AWE)

     1.4  SRC efficiency improvement

     1.5  Other minor changes

2.   Minor ASIO refinement

3.   UI timer processing improvement

4.   Fix for Windows Kernel error (in memory management)

5.   Increased tracks/splits per cue sheet to 160 (from 120)


cicsPlay 2.0b28
---------------
August 2009

1.   DSP refinements (reduce low level overheads & enhance threading)

2.   ASIO refinement (support for rare soundcard types removed)


cicsPlay 2.0b27
---------------
July 2009

1.   Minor ASIO refinements

2.   DSP refinements (new advanced design implemented) giving efficiency
     improvements

3.   Disable keyboard processing when file browsing

4.   Faster 24 bit WAV processing (improving RAM load times)

5.   Compiler optimisation done (for FLAC)


cicsPlay 2.0b26
---------------
June 2009

1.   Increase support for large WAV files to 4GB (from 2GB)

2.   SoX 14.2.0 resampler implemented. Settings allow for VHQ (Very High
     Quality) or HQ (High Quality) converters. Important resampler 
     effects includes phase, bandwidth and (above bandwidth) aliasing. 

3.   DSP and ASIO refinements

4.   Added SSE3 B9 version for CPUs supporting SSE3 but not SSSE3. SoX
     resampler is not compatible with a compiler optimisation. This 
     impacts SSE2 and can be avoided by using SSE3 or higher versions.

5.   UI allows for most settings (excluding ASIO, Output Rate, Buffer 
     & AWE) to have immediate effect. "Apply" button in Settings applies 
     new settings during playback enabling easy comparisons.

6.   Improve UI (new icons and enhanced Settings window)

7.   Enhance gapless processing and background loading


cicsPlay 2.0b25
---------------
May 2009

1.   ASIO output interface refinement

2.   Minor DSP refinements

3.   Fix for soundcards using latencies of odd samples (rare)


cicsPlay 2.0b24
---------------
May 2009

1.   ASIO startup refinement

2.   ASIO output interface replaced

3.   Minor DSP refinement


cicsPlay 2.0b23
---------------
May 2009

1.   DSP and ASIO (including startup) refinements

2.   Compiler optimisation

3.   UI refinements:

     3.1  Keyboard support for Pause / Play using 'p' or 'P' key

     3.2  Option to start without autoplay. Adding line 'NOAUTOPLAY'
          to ini file causes no playback on startup. Desired track 
          must be manually started


cicsPlay 2.0b22
---------------
May 2009

1.   Compiler optimisation done (aggressive parallel settings in effect)


cicsPlay 2.0b21
---------------
April 2009

1.   ASIO output refinement:

     1.1  Small refinement for SSE4

     1.2  SSE2 and SSSE3 versions revised to be closer to SSE4

2.   Minor changes (ASIO interface and test output functions)

3.   Minor fix affecting downsampling (error was given)

4.   Compiler optimisation done


cicsPlay 2.0b20
---------------
March 2009

1.   ASIO output refinement:

     1.1  Bypass inefficient CPU instruction

     1.2  Advanced interface for SSE2 and SSSE3 (SSE4 uses new 
          instruction) for maximum efficiency

2.   Added "MINIMISE" option for INI file. When added to INI file, 
     playback occurs with minimised window.

3.   Minor fix affecting diagnostics

4.   Reinstate function to ensure only one instance for playback

5.   Upgrade to latest compiler (additional optimisation done)

6.   Added SSE4 B9 build option allowing for maximum performance 
     with latest Intel CPUs.  Explicit SSE4.1 instructions are used

7.   SSSE3 option removed (advanced versions uses B9 optimisation)


cicsPlay 2.0b19
---------------
February 2009

1.   DSP refinement: Shift workloads around to enable maximum ASIO 
     output efficiency (improvements in ASIO CPU load and output
     latency is achieved)

     New DSP components is used to achieve this complex change

2.   Changed "INDEX00_GAPLESS" to "INDEX00_IGNORE". When added to
     INI file, INDEX00 entries are ignored (pregap is added to 
     previous track)


cicsPlay 2.0b18
---------------
February 2009

1.   DSP refinements: 

     1.1  Reduce low level Windows overheads 

     1.2  Max cue tracks supported increased to 120 (from 80)

     1.3  Compiler optimisation done

     1.4  Added "INDEX00_GAPLESS" option for cicsPlay.ini file. When 
          added to INI file, INDEX00 is processed without gaps (i.e.
          previous track ends at INDEX00 and next track starts here).

     1.5  Other minor changes


cicsPlay 2.0b17
---------------
January 2009

1.   UI Refinements:

     1.1  Keyboard skip actions: '-' for backwards & '=' for forwards

     1.2  Cosmetics

2.   DSP refinements: 

     2.1  Max ASIO drivers supported reduced to 3 (from 8)

     2.2  Further improvements in ASIO output efficiency!

     2.3  Other minor changes (clipping, prefetcher & streaming)


cicsPlay 2.0b16
---------------
January 2009

1.   UI Refinements:

     1.1  Only actual tracks displayed with splits shown in "()"

     1.2  Skip Forward and Backward spans multiple tracks instead of 
          track wrap around

2.   DSP refinements: 

     2.1  Reduce minimum RAM requirement to 160MB (allows playback 
          in systems using only 256MB RAM which is most optimal when
          input media is largely 44.1k)

     2.2  Upgrade to libsamplerate-0.1.5 (SRC). A step reduction in
          CPU load is achieved allowing for lower CPU frequency.

     2.3  SSE2 changes done to SRC's "stereo output" further lowering
          CPU load and improving RAM read & write efficiency.        

     2.4  Faster FLAC decoding

     2.5  Other minor changes (prefetcher & streaming)


cicsPlay 2.0b15
---------------
January 2009

1.   Startup: implement ASIO trace log

2.   UI refinements: 

     2.1  More status messages and cosmetics

     2.2  "Timer" Settings option added to allow for elapsed timer to
          be shown or bypassed. When "No" (bypassed), message displays
          "tr 00:00" during playback ("tr" indicates current track). 

          Bypassed timer gives most optimal playback as UI inteference
          is removed (no UI timer processing & video traffic).

3.   DSP refinements: 

     3.1  "INDEX 00" processsed correctly in cue sheet. Diagnostics
          provide track information making it easier to fix cue sheet
          errors. After track INDEXes, a new "EOC" directive (End Of
          Content) can be used to stop processing content beyond time
          indicated, e.g. "EOC 16:08:20". This feature enables cue
          sheets to fully represent playlists as extraction of a
          single track from a multi-track content file is now possible.

          cPlay limits the number of tracks per cue sheet to 80. 

     3.2  Faster RAM loading (both WAV and FLAC)

     3.3  Improved prefetcher performance       

     3.4  More efficient ASIO output achieved

     3.5  Other minor improvements


cicsPlay 2.0b14
---------------
December 2008

1.   Minor UI refinement: "no media" message and display information
     (ellapsed time and volume) in default colour. "Flicker" problem 
     fixed

2.   DSP refinement: SRC upsampling redesigned giving reduced RAM 
     writes (~30% less) and much smaller L2 cache footprint


cicsPlay 2.0b13
---------------
December 2008

1.   UI refinement: remove Windows overheads (MFC replaced with WTL)

2.   DSP refinement: improve RAM load process (done via DSP threads)

3.   Compiler optimisation done

4.   Fix audio glitch that occurs after play is restarted from 'stop'


cicsPlay 2.0b12
---------------
November 2008

1.   Minor refinements

2.   Compiler optimisation done


cicsPlay 2.0b11
---------------
November 2008

1.   UI refinement: reduce runtime footprint


cicsPlay 2.0b10
---------------
November 2008

1.   DSP refinement: 128 bit DSP processing

     All critical areas changed to use advanced 128 bit processing 
     capabilities (i.e. vectorisation & streaming) of SSE2, SSE3... 
     processors. SRC upsampling is excluded (which only benefits from 
     compiler optimisations).

     CPU load reduces and RAM I/O efficiency improves.

2.   UI Refinements: Phase icon indicates 0 or 180 (previous '^'
     indicator is removed). Settings provides diagnostics information
     (available RAM, volume and phase).


cicsPlay 2.0b9
--------------
November 2008

1.   DSP refinement: new math routines removing need for precision
     (and slow) library processing

2.   Compiler optimisation done


cicsPlay 2.0b8
--------------
November 2008

1.   Minimum processor supported is SSE2 (Pentium 4) which replaces
     the normal cPlay version (SSE). Processors not supporting SSE2 
     are not suitable for high quality audio

2.   DSP refinement

3.   Compiler optimisation done


cicsPlay 2.0b7
--------------
November 2008

1.   Minimum processor supported is SSE (Pentium 3). This replaces
     the normal cPlay version and will work on all processors 
     expect deep legacy models (prior to Pentium 3)

2.   DSP refinements: more efficient DSP & ASIO processing


cicsPlay 2.0b6
--------------
October 2008

1.   Fix track sequencing when splits occur 

2.   Reduce chance for track splits when wav or flac file is
     played directly

3.   Replace 'Track 01' with file name when playing wav or flac
     directly

4.   Compiler optimisation


cicsPlay 2.0b5
--------------
October 2008

1.   Track splits performed when available RAM is low. Minimum
     available RAM needed is 256MB and maximum supported is 1GB. 
     Lower available RAM translates into potentially more track
     splits causing background loads to occur well within a 
     track. Ideally, this interference should be avoided.

2.   DSP refinements: more efficient background loading and ASIO
     processing


cicsPlay 2.0b4
--------------
October 2008

1.   Work-around to a Windows Kernel bug that occurs when using 
     AWE under some conditions (AWE failure is reported in
     diagnostics)

2.   DSP refinements: reduce CPU load to accommodate gapless
     processing

3.   Gapless / seamless playback. At start of eack track, next
     track is loaded (in background). CPU load could increase
     to 100% (when upsampling and/or processing flac)

4.   UI refinements: remove Phase 0/180 message delay

5.   FLAC PCM 32 fix


cicsPlay 2.0b3
--------------
October 2008

1.   Support for PCM 32 (WAV or FLAC) and 32 bit IEEE754 Float 
     (WAV only)

2.   Fix for clipping (inadvertantly bypassed in 2.0b2) - only
     has effect when volume set to 0.0db

3.   New 'Large' buffer setting used by Auto when output rate
     is 48k or less. Processors with L2 cache size larger than 
     2MB, its worth testing Medium and Large setting (for any 
     output rate) - new 2.x DSP has smaller cache footprint 
     allowing for larger buffers

4.   RAM allocation refinement when not using AWE

5.   Minor DSP refinements


cicsPlay 2.0b2
--------------
October 2008

1.   Important DSP refinements: reduce CPU load and improve
     processor cache efficiencies (vectorisation and alignment
     done)

2.   Fix skip forward and backward time displays

3.   Minor UI enhancements (track highlighted before loading)


cicsPlay 2.0b1
--------------
October 2008

1.   New DSP design allowing for less RAM and greater efficiency.
     See release 2.x notes above.

2.   Minor UI change for phase 0/180 setting


cicsPlay 1.4 Final
------------------
October 2008

1.   Faster FLAC decoding (for both 16 & 24 bit formats)

2.   Improved 24 bit DSP processing

3.   Finalise compiler optimisations

4.   Refine ASIO startup


cicsPlay 1.3 Final
------------------
September 2008

1.   Reinstate functionality removed from 1.2.1 (ASIO channel
     remapping)

2.   Update SRC to latest version: LibSampleRate-0.1.4 (changes
     relate to bug fix when using low conversion rates)

3.   Additional compiler optimisations for better floating point
     precision and efficiency

4.   ASIO startup is done after UI


cicsPlay 1.2.1 Final
--------------------
September 2008

1.   Refine ASIO interface for Xonar soundcards and Vista 
     compatibility


cicsPlay 1.2 Final
------------------
September 2008

1.   Tuning parameters now part of Settings. "DSP Buffer" at
     Auto (default), Small or Medium is provided. Small sets
     parameters as per cPlay 1.1, Medium as cPlay 1.0 and Auto 
     selects parameters based on output rate.

     Guidance: CPUs with 2MB+ L2 cache, use Auto setting. Small
     is ideal for high output rates (above 96k) whilst Medium
     is best for 96k or lower. On CPUs offering less than 2MB L2
     cache, Small is recommended for all output rates.

     These buffer sizes work best with low ASIO buffer or 
     latency setting (less than 512 samples). 

2.   Revise ASIO interface at startup. Some soundcards do NOT 
     appear in list. A known problem with Xonar.


cicsPlay 1.1 Final
------------------
September 2008

1.   Change tuning parameters 

2.   Bug fixes:

     2.1  Extension in caps was not recognised

     2.2  Clipping not done for Phase 180 when not upsampling

     2.3  Cue processing error when no title exists for track

     2.4  HiRes FLAC decoding error (SSSE3 version only)

3.   Minor UI change


cicsPlay 1.0 Final
------------------
July 2008

1.   Change labels (b19 to final)

2.   Fix for Lynx soundcards
Edit - History - Print - Recent Changes - Search
Page last modified on May 07, 2010, at 09:33 PM