Commit Graph

450 Commits

Author SHA1 Message Date
kevin
0ae13b9fc7 cmSyncRecd.h/c : Initial implementation of MIDI / Audio synchronized recorder.
Recording has been tested but reading the recorded files has not. Initial commit.
2013-12-15 18:52:11 -05:00
kevin
58f2040529 cmRtSys.h/c: cmRtSysCtx.h now have cmTimeSpec_t timestamps.
These timestamps are set in _cmRtDspExecCallback() by cmApBufGetIO().
_cmRtSysEnable() now calls cmApBufOnPortEnable() to allow cmApBuf to be
aware of the audio stream starting and stopping.
2013-12-15 18:49:49 -05:00
kevin
a52909671f cmAudioSys.h/c : cmAudioSysCtx_t now have time stamps which are set in
the cmApBufGetIO() calls in _cmAsDspExecCallback().
_cmAudioSysEnable() now calls cmApBufOnPortEnable() to that cmApBuf() can
be aware to when audio streaming is starting and stopping.
2013-12-15 18:44:35 -05:00
kevin
40a649dfc1 cmApBuf.h/c : Added code to handle audio timestamps.
cmApBufUpdate() sets an input/output timestamp on each device according to the audio packet timestamp.
cmApBufGetIO() returns the timestamp associated with each returned buffer.
Added cmApBufOnPortEnable() to zero the timestamp when a port is enabled.
This implementation of the audio timestamping processes is a hack because
only the first timestamp is stored (after a call to cmApBufOnPortEnable())
and all subsequent timestamps are generated by incrementing this value according
to the incoming/outgoing sample count.
2013-12-15 18:28:11 -05:00
kevin
2080d13eb2 cmAudioPortAlsa.c : _cmApThreadFunc() now generates a cmTimeSpec_t timestamp. 2013-12-15 18:22:24 -05:00
kevin
e67d8f7ea5 cmAudioPort.h : cmApAudioPacket_t now has a cmTimeSpec_t timestamp. 2013-12-15 18:21:37 -05:00
kevin
45361cd535 cmMidiFilePlay.c : _cmMfpCb() now generates a zeroed timestamp. 2013-12-15 18:19:27 -05:00
kevin
2aa2938957 cmMidiAlsa.c : cmMpPoll() now generates a cmTimeSpec_t timestamp with each message. 2013-12-15 18:18:06 -05:00
kevin
7aaba194c6 cmMidiPort.h/c : cmMpParseMidiData() and cmMpParseMidiTriple() now take a MIDI time stamp as part of the incoming message. 2013-12-15 18:16:36 -05:00
kevin
b403c1a2bf cmMidi.h : Changed cmMidiMsg to use a cmTimeSpec_t as a timestamp and removed the 'deltaUs' field. 2013-12-15 18:15:25 -05:00
kevin
6c66569f79 Many Files (See list in comment): Added #include "cmTime.h" to support Audio and MIDI time stamps.
app/cmOnset.c
app/cmPickup.c
app/cmScore.c
app/cmScoreProc.c
app/cmTimeLine.c
cmAudDsp.c
cmAudioAggDev.c
cmAudioFileDev.c
cmAudioNrtDev.c
cmAudioPort.c
cmAudioPortFile.c
cmDevCfg.c
cmFeatFile.c
cmMidi.c
cmMidiFile.c
cmProc2.c
cmProc3.c
cmProc4.c
cmProcTest.c
cmRbm.c
cmUiRtSysMstr.c
dsp/cmDspClass.c
dsp/cmDspFx.c
dsp/cmDspNet.c
dsp/cmDspPgmKr.c
dsp/cmDspPgmPP.c
dsp/cmDspPgmPPMain.c
dsp/cmDspSys.c
dsp/cmDspUi.c
2013-12-15 18:14:27 -05:00
kevin
2f0df884b0 cmDspPgmKr.c : Added separate channels for fragment transformation. 2013-12-12 12:23:59 -05:00
kevin
7d7448ba55 cmDspKr.c : Fixed uninitialized variable warning (n in _cmDspRecdPlayExec()). 2013-12-12 12:22:21 -05:00
kevin
0a12858783 cmDspFx.c : Fixed uninitialized variable (n in _cmDspAudioNofM_Exec(). 2013-12-12 12:21:54 -05:00
kevin
cd6a0b1891 cmDspBuiltIn.c : Fixed bug in _cmDspCheckboxAlloc() where the on/off symbols were not registered using the default labels. 2013-12-12 12:21:03 -05:00
kevin
beefa4ef42 cmMath.c, cmThread.c : Replaced type casting with use of unions to do type conversion in byte swap and CAS functions.
This was required to address a strict-aliasing violation in the release build.
2013-12-12 12:19:52 -05:00
kevin
c442830e85 cmDspPgmKr.c : Added audio output 2&3 to handle direct through dry signal. 2013-12-11 12:44:26 -05:00
kevin
c81b178224 cmDspKr.c : Rewrote cmDspActiveMeas to use a linked list to store measurement records. 2013-12-11 12:43:22 -05:00
kevin
47b006f89e cmScore.h : Added cmInvalidVarScId. 2013-12-11 12:42:26 -05:00
kevin
3a202c27f9 cmDspPgmKr.c : Major rewrite of _cmDspSysPgm_TimeLine().
The original function is in _cmDspSysPgm_TimeLine2().
2013-12-10 16:35:03 -05:00
kevin
40a9f35e18 cmMidiOsx.c : Added comment on a possible problem with the time stamp
computation in _cmMpMIDISystemReadProc().
2013-12-10 16:33:43 -05:00
kevin
4c44c396fd cmDspPgm.c : Added test for 'Checkbox' to _cmDspSysPgm_UiTest(). 2013-12-10 16:33:06 -05:00
kevin
b95348f047 cmDspKr.c : Added option to cmDspScFol to generate score measurements
(dyn,even,tempo,cost) as they are computed.
2013-12-10 16:32:19 -05:00
kevin
e7429a773c cmDspFx.c : Changed _cmDspAvailCh_Recv() to handle 'trigger' case where
no available channels are available.
2013-12-10 16:27:15 -05:00
kevin
f41a6d6709 cmDspBuiltIn.c : Added cmDspCheckbox() as an improved check box control
which can be used with specific on/off values and symbols.
2013-12-10 16:26:23 -05:00
kevin
837aab5cc1 cmScore.h : Added kNameEvtScId to match the MIDI file 'name' data element. 2013-12-10 16:25:16 -05:00
kpl
d92465cb37 cmData.h/c : Changed cmDataRecdAllocXXX() to return a cmDtRC_t. 2013-12-03 13:48:31 -08:00
kpl
86f64739e4 cmData.h/c : Added scalar bool (kBoolDtId) data type.
Changed container values from integers to flags so they can be mixed with
basic data types when used with var-arg based functions.
Added cmErr_t* arg's to all var-arg based functions.
2013-12-03 13:29:05 -08:00
kevin
033681c8b4 cmData.h/c : Many minor changes and bug fixes. 2013-12-01 22:41:16 -05:00
kevin
af002db879 cmDspPgm.c : Added more channels to _cmDspSysPgm_Goertzel() and parameters
to support window size on the Goertzel detector.
2013-11-26 13:44:32 -05:00
kevin
da98170c43 cmDspKr.c : Changed _cmDspGoertzel to initialize internal cmGoertzel object
in _cmDspGoertzelReset.
2013-11-26 13:43:14 -05:00
kevin
3d32b3ac51 cmProc.h : Added cmShiftBuf_str tag to cmShiftBuf. 2013-11-26 13:41:33 -05:00
kevin
77206408cf cmProc4.h/c : Added a window function whose length can vary independently
from the system frame rate (procSmpCnt) to cmGoertzel.
2013-11-26 13:40:49 -05:00
kevin
d011e83cd9 cmProc4.h/c: Fixed bug in cmGoertzel where ch->s1 and ch->s2 were swapped. 2013-11-24 12:14:22 -05:00
kevin
ab1161d138 cmDspPgm.c : Added _cmDspSysPgm_Goertzel. 2013-11-24 10:42:24 -05:00
kevin
f1be9f433d cmDspKr.h/c, cmDspBuiltIn.c : Added the cmDspGoertzel DSP object. 2013-11-24 10:42:07 -05:00
kevin
b206e2d457 cmProc4.h/c : Added the cmGoertzel tone detector object. 2013-11-24 10:40:36 -05:00
kevin
0857f64730 cmDspKr.c : Improved comments on cmDspAmSync object. 2013-11-21 17:25:09 -08:00
kevin
19224be46a cmDspKr.c : Added comments to _cmDspAmSync. 2013-11-20 11:56:28 -05:00
kevin
89ad5d8857 cmDspKr.c: Added call to cmRecdPlaySetLaSecs() in _cmDspRecdPlayRecv() 2013-11-19 19:30:10 -08:00
kevin
c11c875f29 cmDspPgmKr.c: Added option to direct fragments to independent audio outputs. 2013-11-19 19:29:21 -08:00
kevin
198908dd47 cmProc4.h/c: Added cmRcdPlaySetLaSecs().
Added comments.
Fixed bug in filling record buffer.
2013-11-19 19:28:51 -08:00
kevin
2cba573163 cmProc4.h/c: Fixed bug in _cmScValidateMarkers() that incorrectly tagged good fade markers and invalid. 2013-11-19 19:28:02 -08:00
kevin
c946234fde Merge branch 'master' of klarke.webfactional.com:webapps/git/repos/libcm with
spat lab mac.
2013-11-19 11:15:12 -08:00
kevin
031210c7e9 cmDspPgmKr.c : Added look-head parameters for cmDspRecdPlay object. 2013-11-19 11:08:56 -05:00
kevin
57d2a86a42 cmProc4.h/c, cmDspKr.c : Added look-ahead buffer to cmRecdPlay object. 2013-11-19 11:08:08 -05:00
kevin
ebef000a27 cmData.h/c: Commented out uncompilable bits. 2013-11-19 11:07:22 -05:00
kevin
e6933b61d2 cmScore.c : Fixed bug in _cmScParseFile() where _cmScParseSectionColumn()
overwrote 'rc' and thereby prevented the functio from returning the correct result code on fail.
2013-11-19 11:06:56 -05:00
kpl
c809469b62 cmData.h/c : More changes - that won't fully compile. 2013-11-19 00:11:25 -08:00
kpl
b74e24a46b cmData.h/c: Initial rewrite of cmData to include the concept of homogeneous arrays as containers and leaf nodes. 2013-11-18 22:36:24 -08:00