@Archchie, хочу предложить идею. Не так давно я начал изучать создание скриптов и даже сделал себе несколько))) Просто учился делать скрипты и нечаянно сделал себе пару достаточно удобных. Один выделяет, другой мьютирует айтем или трек, находящиеся под курсором. То есть, если под курсором айтем, значит айтем, если курсор не на айтеме, тогда соответствующий трек. Наткнулся на один твой скрипт, где происходит выделение в зависимости от контекста. Но там нужно кликнуть элемент. Взял оттуда кусок кода и сделал себе два скрипта по перемещению треков и айтемов вверх и вниз, в зависимости что я кликнул. Призадумался, что так, исходя из контекста, можно объединить кучу похожих по смыслу экшенов в один. Ну, пару примеров я привёл. Ещё можно например использовать изменение позиции эдит курсора по гриду, если курсор над временной шкалой, если над айтемом, по началу айтемов, если над регионом - по началу регионов. Таким же образом добавлять выделение вправо, влево и так далее. Как угодно, это всё только для примера. То есть можно сэкономить много хоткеев или места, которое занимают куча кнопок на все случаи жизни. Но тут сложно угадать для всех))))) Одному такое совмещение удобно, другому другое подавай))) Самих скриптов на все случаи жизни в репозитории море, их можно самостоятельно натыкать себе в один, как я себе сделал в одном из случаев. Просто взял четыре готовых скрипта и расставил их по контексту.
Я для себя всё равно буду ещё что-то делать и продолжать изучать скрипты, если не сейчас, то позже. Но вот после
Archie_Var; Popup menu single-level(n).lua мне пришло в голову, что ты мог бы таким же образом сделать скрипт, который предлагал бы список контекста и возможность вставить туда свой экшен. Мне кажется это было бы круто.
Понятно, что не все экшены смогут таким образом работать корректно, например, в моём, где выделенный трек или айтем движется вниз, я попытался использовать Script: Archie_Track; Move selected tracks down by one visible(`).lua, но при этом трек перемещается вниз только на одну позицию, дальше, если есть выделенный айтем, то движется он, если ничего, то просто прекращает работать. Я подставил другой, стало не так удобно, но работает. А вот твой аналогичный на движение вверх работает нормально. В принципе, для себя можно каждую функцию расписать, а не подставлять готовые экшены, но это о другом уже.
Собственно, просто делюсь идеей)))) А вот прилагаю, на всякий случай, мультики про скрипты, которые я себе сделал. Кстати, добавление или исключение при выделении у меня работает без Ctrl, что интересно. Но, опять таки, после такого выделения у меня не всегда срабатывает скрипт на перемещение))) Как бы, это, оказывается, не совсем то выделение, которое ему надо. Но это нюансы. Тут ещё стоит поизучать.