Товарищ@Aleksandr Oleynik, давайте уже совместно обсуждать алгоритм действия скрипта и его условий, так будет продуктивнее.
Пан
@belovw, а мы шо по вашему делаем?
Вова, я сейчас полностью заново делаю проект, он будет с тблицами и универсальными функциями, я в нём сразу напишу коменты - тебе будет понятно.
А что если отсканировать не айтемы, а Peak файлы айтемов?
Идея хорошая, попробую её обсудить с Женей, он жеж на этих вэйформах СЛОНА съел, я без него за это не возьмусь, я даже не знаю как эти файлы прочесть.
Тем более, что Peak файлы при изменениях в проекте пересохраняются.
Но нужно не забывать, что есть ещё и MIDI Item's
PS: Есть такая замечательная функция, кстати -
integer reaper.GetMediaItemTake_Peaks(
MediaItem_Take take,
number peakrate,
number starttime,
integer numchannels,
integer numsamplesperchannel,
integer want_extra_type,
reaper.array buf)
Gets block of peak samples to buf. Note that the peak samples are interleaved, but in two or three blocks (maximums, then minimums, then extra). Return value has 20 bits of returned sample count, then 4 bits of output_mode (0xf00000), then a bit to signify whether extra_type was available (0x1000000). extra_type can be 115 ('s') for spectral information, which will return peak samples as integers with the low 15 bits frequency, next 14 bits tonality.
Она делает сразу массив данных, который, как я подозреваю, нам очень пригодятся.
И Женя эту функцию в своих скриптах использует - значит знает как её поюзать в наших целях.