@Delamere
hi_tools/hi_tools/MiscToolClasses.cpp
in HISE source code.
Find this line and edit as you need, adding tempo values:
void TempoSyncer::initTempoData()
{
tempoNames.add("32/1"); tempoFactors[ThirtyTwouple] = 128.0f;
tempoNames.add("16/1"); tempoFactors[Sixteenthuple] = 64.0f;
tempoNames.add("8/1"); tempoFactors[Octuple] = 32.0f;
tempoNames.add("4/1"); tempoFactors[Quadruple] = 16.0f;
tempoNames.add("2/1"); tempoFactors[Double] = 8.0f;
tempoNames.add("1/1"); tempoFactors[Whole] = 4.0f;
tempoNames.add("1/2D"); tempoFactors[HalfDuet] = 2.0f * 1.5f;
tempoNames.add("1/2"); tempoFactors[Half] = 2.0f;
tempoNames.add("1/2T"); tempoFactors[HalfTriplet] = 4.0f / 3.0f;
tempoNames.add("1/4D"); tempoFactors[QuarterDuet] = 1.0f * 1.5f;
tempoNames.add("1/4"); tempoFactors[Quarter] = 1.0f;
tempoNames.add("1/4T"); tempoFactors[QuarterTriplet] = 2.0f / 3.0f;
tempoNames.add("1/8D"); tempoFactors[EighthDuet] = 0.5f * 1.5f;
tempoNames.add("1/8"); tempoFactors[Eighth] = 0.5f;
tempoNames.add("1/8T"); tempoFactors[EighthTriplet] = 1.0f / 3.0f;
tempoNames.add("1/16D"); tempoFactors[SixteenthDuet] = 0.25f * 1.5f;
tempoNames.add("1/16"); tempoFactors[Sixteenth] = 0.25f;
tempoNames.add("1/16T"); tempoFactors[SixteenthTriplet] = 0.5f / 3.0f;
tempoNames.add("1/32D"); tempoFactors[ThirtyTwoDuet] = 0.125f * 1.5f;
tempoNames.add("1/32"); tempoFactors[ThirtyTwo] = 0.125f;
tempoNames.add("1/32T"); tempoFactors[ThirtyTwoTriplet] = 0.25f / 3.0f;
tempoNames.add("1/64D"); tempoFactors[SixtyForthDuet] = 0.125f * 0.5f * 1.5f;
tempoNames.add("1/64"); tempoFactors[SixtyForth] = 0.125f * 0.5f;
tempoNames.add("1/64T"); tempoFactors[SixtyForthTriplet] = 0.125f / 3.0f;
}
and this:
MiscToolClasses.h
/** The note values. */
enum Tempo
{
ThirtyTwouple = 0,
Sixteenthuple,
Octuple,
Quadruple,
Double,
Whole, ///< a whole note (1/1)
HalfDuet, ///< a half note duole (1/2D)
Half, ///< a half note (1/2)
HalfTriplet, ///< a half triplet note (1/2T)
QuarterDuet, ///< a quarter note duole (1/4D)
Quarter, ///< a quarter note (1/4)
QuarterTriplet, ///< a quarter triplet note (1/4T)
EighthDuet, ///< a eight note duole (1/8D)
Eighth, ///< a eighth note (1/8)
EighthTriplet, ///< a eighth triplet note (1/8T)
SixteenthDuet, ///< a sixteenth duole (1/16D)
Sixteenth, ///< a sixteenth note (1/16)
SixteenthTriplet, ///< a sixteenth triplet (1/16T)
ThirtyTwoDuet, ///< a 32th duole (1/32D)
ThirtyTwo, ///< a 32th note (1/32)
ThirtyTwoTriplet, ///< a 32th triplet (1/32T)
SixtyForthDuet, ///< a 64th duole (1/64D)
SixtyForth, ///< a 64th note (1/64)
SixtyForthTriplet, ///> a 64th triplet 1/64T)
numTempos
};
once you find these lines in the HISE source code, you will need to add the timing parameters you want to add, something like this: .cpp
// (..........)
setTempo(ThirtyTwo, "1/32", 0.125f);
setTempo(ThirtyTwoTriplet, "1/32T", 0.25f / 3.0f);
setTempo(SixtyForthDuet, "1/64D", 0.125f * 0.5f * 1.5f);
setTempo(SixtyForth, "1/64", 0.125f * 0.5f);
setTempo(SixtyForthTriplet, "1/64T", 0.125f / 3.0f);
// new tempos
setTempo(HundredTwentyEighthDuet, "1/128D", 0.125f * 0.25f * 1.5f);
setTempo(HundredTwentyEighth, "1/128", 0.125f * 0.25f);
setTempo(HundredTwentyEighthTriplet, "1/128T", 0.0625f / 3.0f);
setTempo(TwoHundredFiftySixthDuet, "1/256D", 0.125f * 0.125f * 1.5f);
setTempo(TwoHundredFiftySixth, "1/256", 0.125f * 0.125f);
setTempo(TwoHundredFiftySixthTriplet, "1/256T", 0.03125f / 3.0f);
setTempo(FiveHundredTwelfthDuet, "1/512D", 0.125f * 0.0625f * 1.5f);
setTempo(FiveHundredTwelfth, "1/512", 0.125f * 0.0625f);
setTempo(FiveHundredTwelfthTriplet, "1/512T", 0.015625f / 3.0f);
in .h:
SixtyForthDuet, ///< a 64th duole (1/64D)
SixtyForth, ///< a 64th note (1/64)
SixtyForthTriplet, ///> a 64th triplet 1/64T)
// add those lines for faster tempos:
HundredTwentyEighthDuet, ///< a 128th note with dot
HundredTwentyEighth, ///< a 128th note
HundredTwentyEighthTriplet, ///< a 128th note triplet
TwoHundredFiftySixthDuet, ///< a 256th note with dot
TwoHundredFiftySixth, ///< a 256th note
TwoHundredFiftySixthTriplet, ///< a 256th note triplet
FiveHundredTwelfthDuet, ///< a 512th note with dot
FiveHundredTwelfth, ///< a 512th note
FiveHundredTwelfthTriplet, ///< a 512th note triplet
numTempos
};
I suggest a double check of the values but it should work.
Once you have modified the two files (.cpp and .h) you will have to recompile HISE again from its source code.