AFfilesetup afNewFileSetup (void) { AFfilesetup setup; setup = (_AFfilesetup *) _af_malloc(sizeof (_AFfilesetup)); if (setup == NULL) return AF_NULL_FILESETUP; *setup = _af_default_file_setup; setup->tracks = _af_tracksetup_new(setup->trackCount); setup->instruments = _af_instsetup_new(setup->instrumentCount); if (setup->miscellaneousCount == 0) setup->miscellaneous = NULL; else { setup->miscellaneous = (MiscellaneousSetup *) _af_calloc(setup->miscellaneousCount, sizeof (MiscellaneousSetup)); for (int i=0; i<setup->miscellaneousCount; i++) { setup->miscellaneous[i].id = i+1; setup->miscellaneous[i].type = 0; setup->miscellaneous[i].size = 0; } } return setup; }
/* Initialize instrument id list for audio file. */ void afInitInstIDs (AFfilesetup setup, const int *instids, int ninsts) { if (!_af_filesetup_ok(setup)) return; if (!_af_unique_ids(instids, ninsts, "instrument", AF_BAD_INSTID)) return; _af_setup_free_instruments(setup); setup->instrumentCount = ninsts; setup->instrumentSet = true; setup->instruments = _af_instsetup_new(setup->instrumentCount); for (int i=0; i < setup->instrumentCount; i++) setup->instruments[i].id = instids[i]; }