| A: There are two kind of features, operating-system-related features, or core features, and new opcodes.
The core features are:
- Management of MIDI IN and OUT ports
- Real-time audio input and output in parallel
- Command-line oriented real-time output (partially possible on Win95 because of some limits which are present in the operating system itself)
- Hard-disk recording of a realtime session of Csound
Some of these features will be implemented also in standard version in the future (or at least I hope so).
The new opcodes can be divided into MIDI related opcodes and generic opcodes.
The MIDI related opcodes can be divided into five groups:
- MIDI CONTROLLERS (imidic7, midic7, imidic14, midic14, imidic21, midic21, ictrl7, ctrl7, ictrl14, ctrl14, ictrl21, ctrl21, initc7, initc14, initc21, slider8, slider16, slider32, slider64, slider8f, slider16f, slider32f, slider64f, islider8, islider16, islider32, islider64, s16b14, is16b14, s32b14, is32b14)
- MIDI MICRO TUNING (release, xtratim)
- MIDI GENERATORS (ion, ioff, iondur, iondur2, moscil, kon, ioutc, koutc, ioutc14, koutc14, ioutpb, koutpb, ioutat, koutat, ioutpc, koutpc, ioutpat, koutpat, mclock, mrtmsg)
- MIDI IN/OUT FLOW MANAGERS (midiin, midiout, kon2, nrpn, mdelay)
- DURATION EXTENSION OF MIDI NOTES (xtratim, release)
The generic opcodes can be divided into 13 groups
- SUBROUTINE CALL RELATED (icall, dicall, micall, dmicall, kargc, kargt, argc, argt, artrnc, artrnt, krtrnc, krtrnt)
- WRAPPING SIGNALS AROUND (iwrap, wrap, imirror, mirror)
- INTERPOLATORS (intrpol, kntrpol, antrpol)
- PHYSICAL MODELING WAVEGUIDE BLOCKS (physic1, physic2, flanger)
- AUDIO RATE EXPONENTIAL ENVELOPES GENERATOR (aexpseg)
- MEMORY OPTIMIZED 16-BIT SOUND USAGE (loscil2, fof3, lposcint)
- PRINT K-RATE VALUES TO SCREEN (printk2)
- PRECISE OSCILLATORS (posc, lposc)
- FILTERS (lpres, lpresx, tonex, atonex, resonx, vlpres)
- FAST POWER OF TWO FUNCTIONS (powoftwo, logbtwo)
- INFORMATIONS ABOUT SOUNDIFILE FUNCTION TABLES (iftlen2, insamp, iftsr)
- NEW GEN FUNCTIONS (GEN22, GEN23, GEN24)
- TRIGGER BOOLEAN GENERATOR (trig)
Many of these opcodes are already ported to standard Csound by John Fitch. However, maybe some of them don't operate well in Fitch's version, because he never tested the MIDI stuff. Notice that some opcodes are renamed and/or slightly modified in standard version. This had been done mainly to prevent name pollution (for example icall family are renamed to schedule, physic1 and physic2 to wguide1 and wguide2 etc.).
It is announced the new features of DirectCsound will be implemented in standard Csound too. When the porting process will be ended, I will add to my version also the opcodes names used by John Fitch. |