#ifndef sampleinfo_HEADER_ #define sampleinfo_HEADER_ #include typedef struct { char *name; // The sample name - used when opening files. uint8_t numLayers; // Number velocity layers. uint8_t numVariations[MAX_LAYERS]; // Number of variations per layer. uint8_t rrIdx[MAX_LAYERS]; // Round-robin index per layer. Sample *sample[MAX_LAYERS][MAX_VARS]; // Samples. uint8_t numCut; // Number of samples cut by this one. uint8_t cutInds[MAX_SAMPLES]; // Indices of samples cut by this one. // Applied at load time. double rms_time; // In ms. double crop_thresh; // 0-1 double playback_speed; // 1 => no change. double gain; double pan; double gammaAmp; double gammaLayer; double tauOff; // If non-zero, fade out time-constant when pad release. double tauCut; // Fade out time constant when sample is cut. double tauFadeIn; } SampleInfo; #endif