Учел замечания, вываливаю модифициованный скрипт. Теперь он выводит ровно столько нот, сколько просят, а также учитывает, что первая нота не обязательно в первом такте.
;=================================================
(do
(dword prep -1)
(dword bit)
(int num_bit 4)
(int num_tmp)
(int key)
(getInt num_bit "How much bits? " 2 64)
(forEachEvent
(if (== Event.Kind NOTE)
(do
(if (!= prep -1)
(do
(= bit (/ (- Event.Time prep) num_bit))
(+= prep bit)
(= num_tmp num_bit)
(while (> (-- num_tmp) 0)
(do
(= key (- Note.Key 1))
(insert prep Event.Chan NOTE key 100 Note.Dur)
(+= prep bit)
)
)
(= prep Event.Time)
)
(= prep Event.Time)
)
)
)
)
)
;===================================================
tarzan
Аськой не пользуюсь, и не умею.
Попробую поставить.
[ADDED=Serg196]1131127248[/ADDED]
модифицированный скрипт положил сюда:
webfile.ru/613554
;=================================================
(do
(dword prep -1)
(dword bit)
(int num_bit 4)
(int num_tmp)
(int key)
(getInt num_bit "How much bits? " 2 64)
(forEachEvent
(if (== Event.Kind NOTE)
(do
(if (!= prep -1)
(do
(= bit (/ (- Event.Time prep) num_bit))
(+= prep bit)
(= num_tmp num_bit)
(while (> (-- num_tmp) 0)
(do
(= key (- Note.Key 1))
(insert prep Event.Chan NOTE key 100 Note.Dur)
(+= prep bit)
)
)
(= prep Event.Time)
)
(= prep Event.Time)
)
)
)
)
)
;===================================================
tarzan
Аськой не пользуюсь, и не умею.
Попробую поставить.
[ADDED=Serg196]1131127248[/ADDED]
модифицированный скрипт положил сюда:
webfile.ru/613554