libcm is a C development framework with an emphasis on audio signal processing applications.
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
kevin 92ea6ff806 cmXScore.c : Added the ability to increment the grace group id. il y a 7 ans
app cmXScore.c : Added the ability to increment the grace group id. il y a 7 ans
dsp Merge branch 'master' of klarke.webfactional.com:webapps/gitweb/repos/libcm il y a 7 ans
linux cmAudioPortAlsa.c : Added _cmApDevReportFormats(). Added, but disabled, _cmApS24_3BE*(). Added i/oSignFl and i/oSwapFl to device record. Changed sample format selection algorithm to use fmt[]. il y a 9 ans
osx cmAudioPortOsx.c : Replaced deprecated Core Audio API. il y a 10 ans
sa sa/cmSaProc.c : Fixed bug where surroundstream.h/c inclusion was controlled by incorrect pre-processor flag. il y a 9 ans
vop cmProcTemplateMain.h : Added ending #include "cmProcTemplateUndef.h" il y a 8 ans
.gitignore .gitignore : Ignore .DS_Store. il y a 8 ans
Makefile.am cmSvgWriter.h/c,Makefile.am : Initial commit. il y a 8 ans
cmApBuf.c 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. il y a 11 ans
cmApBuf.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmArray.c cmArray.c: When the array handle is invalid cmArrayCount() now returns 0 instead of throwing an error. il y a 11 ans
cmArray.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmAudDsp.c cmAudDsp.c : Added _cmAdSendProgramDefault(0 and _cmAdSendAudioSysCfgDefault(). il y a 8 ans
cmAudDsp.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmAudDspIF.c cmAudioDsp.c,cmAudDspIF.h/c,cmMsgProtocol.h,cmDspClass.h:Changes to new procedure cmDspSysPrintPgm(). il y a 11 ans
cmAudDspIF.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmAudDspLocal.c Added cmAudDspLocalSendSetup() and cmAudDspSendSetup() il y a 12 ans
cmAudDspLocal.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmAudLabelFile.c cmAudLabelFile.c:Fixed uninitialzed 'rc' in cmGrObjWorldExt(). il y a 11 ans
cmAudLabelFile.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmAudioAggDev.c cmAudioAggDev.c : Added AudioFileDevice and NRT device initialization to cmApAggTest() (Could not get Soundflower and Traveller aggregate device to work.) il y a 8 ans
cmAudioAggDev.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmAudioBuf.c Initial commit il y a 12 ans
cmAudioBuf.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmAudioFile.c cmAudioFile.h/c : Added cmAudioFileSetSRate(), cmAudioFileSine() and chnaged cmAudioFileTest() to take a variable argument list. Added the ability to write WAV files. cmAudioFileCreate() now creates a WAV or AIF header based on the file name extension. il y a 9 ans
cmAudioFile.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmAudioFileDev.c cmAudioFileDev.c : Now includes cmCtx.h to allow for cmCtx dependency in public interface of cmAudioFile.h. il y a 9 ans
cmAudioFileDev.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmAudioFileMgr.c Initial commit il y a 12 ans
cmAudioFileMgr.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmAudioNrtDev.c Many Files (See list in comment): Added #include "cmTime.h" to support Audio and MIDI time stamps. il y a 11 ans
cmAudioNrtDev.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmAudioPort.c cmAudioPort.c : cmApTest() now accepts sample rate as a command line arg.. il y a 9 ans
cmAudioPort.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmAudioPortFile.c Many Files (See list in comment): Added #include "cmTime.h" to support Audio and MIDI time stamps. il y a 11 ans
cmAudioPortFile.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmAudioSys.c 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. il y a 11 ans
cmAudioSys.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmAudioSysMsg.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmComplexTypes.c cmComplexTypes.h/c : Added cmVOCR_MultVFV() and cmVOCR_DivVFV(). Implemented cmVOCR_Abs(). il y a 9 ans
cmComplexTypes.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmCsv.c cmCsv.h : Renamed cmCsvInsertTextColAfter() to cmCsvInsertQTestColAfter() to be clear that the output will be quoted. Added cmCsvInsertIdentColAfter() to insert non-quoted text. il y a 8 ans
cmCsv.h cmCsv.h : Renamed cmCsvInsertTextColAfter() to cmCsvInsertQTestColAfter() to be clear that the output will be quoted. Added cmCsvInsertIdentColAfter() to insert non-quoted text. il y a 8 ans
cmCtx.c Initial commit il y a 12 ans
cmCtx.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmDList.c cmDList.h/c/Tpl.h : Changes to support initial debugging of cmDList. il y a 9 ans
cmDList.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmDListTpl.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmData.c cmData.h/c : Changed cmDataRecdAllocXXX() to return a cmDtRC_t. il y a 11 ans
cmData.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmDevCfg.c Many Files (See list in comment): Added #include "cmTime.h" to support Audio and MIDI time stamps. il y a 11 ans
cmDevCfg.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmDocMain.h Initial commit il y a 12 ans
cmErr.c cmErr.c: Fix bug in use of va_list which showed up on spat-lab Mac port. il y a 11 ans
cmErr.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmExec.c cmExec.h/c, Makefile.am : Initial commit. il y a 9 ans
cmExec.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmFeatFile.c *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmFeatFile.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmFile.c *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmFile.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmFileSys.c cmFileSys.h/c : Added cmFileSysMakeDirFn(),cmFileSysMakeUserDirFn(). il y a 8 ans
cmFileSys.h cmFileSys.h/c : Added cmFileSysMakeDirFn(),cmFileSysMakeUserDirFn(). il y a 8 ans
cmFloatTypes.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmFrameFile.c *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmFrameFile.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmGlobal.c Initial commit il y a 12 ans
cmGlobal.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmGnuPlot.c cmGnuPlot.c : Removed 'inline' from _cmPrintData(). il y a 9 ans
cmGnuPlot.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmGr.c cmGr.c : Changed mouse drag logic in _cmGrEventMsMove(). il y a 9 ans
cmGr.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmGrDevCtx.c cmGrDevCtx.c Added _cmGrDcOffs() macros. il y a 11 ans
cmGrDevCtx.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmGrPage.c cmGrPageLayout() now returns bool. il y a 12 ans
cmGrPage.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmGrPlot.c cmGrPlot.c : Fixed an apparent bug in cmGrPlotObjSetStateFlags() where _cmGrPlotObjSetFocus() was only called if the focus flag was already set when it appears it should only called when it is not already set. il y a 8 ans
cmGrPlot.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmGrPlotAudio.c cmGrPlotAudio.c : The audio plot object no longer uses the underlying graphic objects 'user' pointer. This was a bug because the user of the audio object itself might use this pointer thereby overwrite the pointer set internally by the audio object. il y a 11 ans
cmGrPlotAudio.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmHashTbl.c cmHashTbl.h/c : Initial commit. il y a 10 ans
cmHashTbl.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmJson.c cmJson.h/c : Added cmJsonMemberAtIndex(). il y a 8 ans
cmJson.h cmJson.h/c : Added cmJsonMemberAtIndex(). il y a 8 ans
cmKeyboard.c cmKeyboard.h/c : Added cmIsKeyWaiting(). il y a 9 ans
cmKeyboard.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmLex.c cmLex.c : Fixed bug in _cmLexIntMatcher(). il y a 9 ans
cmLex.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmLib.c cmLib.c : Attempts to load non-library files now fail silently. il y a 10 ans
cmLib.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmLinkedHeap.c *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmLinkedHeap.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmMain.c *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmMallocDebug.c cmMallocDebug.c:Fixed bug in cmMdAllocStr() where terminating zero was not always inserted. il y a 11 ans
cmMallocDebug.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmMath.c cmMath.h/c : Added cmModIncr(). il y a 9 ans
cmMath.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmMem.c cmMem.c : Added a comment at the location where breakpoints may be set to stop on the reallocation of a memory block with a known 'uniqueId'. il y a 11 ans
cmMem.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmMidi.c cmMidi.h/c : Added cmSciPitchToMidiPitch(). il y a 8 ans
cmMidi.h cmMidi.h/c : Added cmSciPitchToMidiPitch(). il y a 8 ans
cmMidiFile.c cmMidiFile.h/c : Added cmMidiFileGenSvgFile() il y a 8 ans
cmMidiFile.h cmMidiFile.h/c : Added cmMidiFileGenSvgFile() il y a 8 ans
cmMidiFilePlay.c cmMidiFile.h/c,cmMidiFilePlay.c : Added cmMidiFileCreate(), cmMidiFileInsertTrack???Msg(). Removed cmMidiFileIsNull() and _cmMidiFileMalloc(). il y a 8 ans
cmMidiFilePlay.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmMidiPort.c cmMidiPort.h/c : cmMpParseMidiData() and cmMpParseMidiTriple() now take a MIDI time stamp as part of the incoming message. il y a 11 ans
cmMidiPort.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmMsgProtocol.c Initial commit il y a 12 ans
cmMsgProtocol.h cmMsgProtocol.h : Added kProgramDfltDuiId and kAudioSysCfgDfltDuiId. il y a 8 ans
cmPgmOpts.c cmPgmOpt.c : Fixed minor formatting of --help text. il y a 9 ans
cmPgmOpts.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmPrefix.h Initial commit il y a 12 ans
cmPrefs.c cmPrefs.h/c: Added cmPrefsGetUInt(). il y a 11 ans
cmPrefs.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmProc.c cmProc.c: Chnaged labs() to fabs() in calc of 'dLogProb' in cmChmmTrain(). il y a 9 ans
cmProc.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmProc2.c cmProc2.h/c : Added cmSpecDist2(). il y a 7 ans
cmProc2.h cmProc2.h/c : Added cmSpecDist2(). il y a 7 ans
cmProc3.c Many Files (See list in comment): Added #include "cmTime.h" to support Audio and MIDI time stamps. il y a 11 ans
cmProc3.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmProc4.c cmProc4.c : Fixed bug in _cmScModulatorReset() where the selected entry group was always the first entry group. il y a 8 ans
cmProc4.h cmProc4.h/c, cmDspKr.c : Changed cmScModulator to use entry groups rather than a single entry list. il y a 8 ans
cmProc5.c cmProc5.h/c : Added cmSeqAlign. il y a 8 ans
cmProc5.h cmProc5.h/c : Added cmSeqAlign. il y a 8 ans
cmProcObj.c cmProc.h,cmProcObj.c: Comment updates. il y a 11 ans
cmProcObj.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmProcTest.c Many Files (See list in comment): Added #include "cmTime.h" to support Audio and MIDI time stamps. il y a 11 ans
cmProcTest.h Initial commit il y a 12 ans
cmRbm.c Many Files (See list in comment): Added #include "cmTime.h" to support Audio and MIDI time stamps. il y a 11 ans
cmRbm.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmRpt.c cmRpt.c : Fixed bug in _cmDefaultPrint() where stdin was used with fputs() instead of stdout. il y a 9 ans
cmRpt.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmRtNet.c cmRtNet.c : Changes to port number and bcastAddr in cmRtNetTest(). il y a 10 ans
cmRtNet.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmRtSys.c cmRtNet.h/c : Corrected mispelling in #ifdef header guards. On failure of cmThreadMutexWaitOnCondVar() in _cmRtThreadCallback() the correct result code is now reported. il y a 10 ans
cmRtSys.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmRtSysMsg.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmSerialize.c Initial commit il y a 12 ans
cmSerialize.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmStack.c cmStack.h/c: Added cmStackTop() to return the top stack element. il y a 11 ans
cmStack.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmStrStream.c cmStrStream.c : Completed initial tests and fixed bugs in cmOStrStreamWrite(). il y a 11 ans
cmStrStream.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmSvgWriter.c cmSvgWriter.c : Removed pan-zoom code from HTML header. il y a 8 ans
cmSvgWriter.h cmSvgWriter.h/c : Added calls to use svg-pan-zoom.js to HTML header. il y a 8 ans
cmSymTbl.c cmSymTbl.c: Fixed cmSymTblRegisterFmt() to return new symbol id. il y a 11 ans
cmSymTbl.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmSyncRecd.c cmSyncRecd.h/c : Changed result codes from cmXXXSrRC to cmXXXSyRc to avoid conflicts with same named result codes from cmSerialize.h. il y a 10 ans
cmSyncRecd.h cmSyncRecd.h/c : Changed result codes from cmXXXSrRC to cmXXXSyRc to avoid conflicts with same named result codes from cmSerialize.h. il y a 10 ans
cmTagFile.c cmTagFile.h/c : cmTagFile now recognizes function definition, and structure and union tags. il y a 11 ans
cmTagFile.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmTaskMgr.c cmTaskMgr.h/c : Many updates and changes to complete the initial development. il y a 11 ans
cmTaskMgr.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmText.c cmText.h/c : Added cmTextLineCount(). il y a 8 ans
cmText.h cmText.h/c : Added cmTextLineCount(). il y a 8 ans
cmTextTemplate.c cmTextTemplate.c : Changed cmTextTemplateTest() to use cmFsMakeUserDirFn() to make platform independent. il y a 8 ans
cmTextTemplate.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmThread.c cmThread.c : Fixed bug in cmThPtrCAS() where #ifdef OS_VER_10_5 was used instead of #ifdef OS_64. il y a 10 ans
cmThread.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmTime.c cmTime.h/c : Added cmTimeDiffMicros(),cmTimeIsLTE(),cmTimeIsGTE(),cmTimeIsEqual(),cmTimeIsZero(),cmTimeSetZero(). il y a 11 ans
cmTime.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmUdpNet.c cmUdpNet.h/c : Changed argv[] in cmUdpNetTest() from char* to const char*. il y a 10 ans
cmUdpNet.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmUdpPort.c cmUdpPort.c : Fixed bug in cmUdpTestV() where arguments were not correctly selected from 'arv'. il y a 10 ans
cmUdpPort.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmUi.c cmUi.c : Removed unused variable from cmUiSelectPanel(). il y a 10 ans
cmUi.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmUiDrvr.c cmUi.h/c and cmUiDrvr.h/c: Many changes and additions. il y a 11 ans
cmUiDrvr.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmUiRtSysMstr.c Many Files (See list in comment): Added #include "cmTime.h" to support Audio and MIDI time stamps. il y a 11 ans
cmUiRtSysMstr.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmVirtNet.c Initial commit il y a 12 ans
cmVirtNet.h *.h/c : Added 'cdg' markup to virtually all source files in libcm, libcm/app and libcm/dsp. il y a 9 ans
cmXml.c cmXml.c : Rewrote _cmXmlNodeHasChildR() to fix bug where all possible children were not visited. il y a 8 ans
cmXml.h cmXml.h/c : Added cmXmlNodeHasChildWithAttr() and cmXmlNodeHasChildWithAttrAndValue(). il y a 8 ans