AutoHotKey и Сонар

  • Автор темы Автор темы Vovchik
  • Дата начала Дата начала

Vovchik

Well-Known Member
29 Апр 2005
2.290
1.085
113
65
Смоленск
В Сонаре нельзя назначить Keybinding для создания Clip Envelopes. К счастью, существует бесплатная программа AutoHotKey, позволяющая в любой программе создавать макросы, программировать последовательность команд и операций.
Первым делом надо скачать AutoHotKey и инстоллировать ее.
Теперь создаем текстовый файл и вводим туда следующее (без звездочек, конечно):

**********************************
;Win g - Insert Clip Gain Envelope
#g::
{
MouseClick, right
Send, pc{ENTER}{ENTER}
}
return


;Win p - Insert Clip Pan Envelope
#p::
{
MouseClick, right
Send, pc{ENTER}{DOWN}{ENTER}
}
return


;Win v - Open Velocity MIDI Plugin
#v::
{
Send, !pxcv
}
return


;Snap To Grid Settings

#-::
{
Send, +n
WinWait, Snap To Grid,
IfWinNotActive, Snap To Grid, , WinActivate, Snap To Grid,
WinWaitActive, Snap To Grid,
Send, !t
WinClose
}
return

#=::
{
Send, +n
WinWait, Snap To Grid,
IfWinNotActive, Snap To Grid, , WinActivate, Snap To Grid,
WinWaitActive, Snap To Grid,
Send, !b
WinClose
}
return


#1::
{
Send, +n
WinWait, Snap To Grid,
IfWinNotActive, Snap To Grid, , WinActivate, Snap To Grid,
WinWaitActive, Snap To Grid,
Send, {TAB}+measure
WinClose
}
return

#2::
{
Send, +n
WinWait, Snap To Grid,
IfWinNotActive, Snap To Grid, , WinActivate, Snap To Grid,
WinWaitActive, Snap To Grid,
Send, {TAB}+half
WinClose
}
return


;Toggle Display Vertical Rules
#/::
{
MouseClick, right
Send, miv{ENTER}
}
return
******************************

Сохраняем файл как Sonar.ahk и запускаем этот файл. В трее появится иконка "Н" на зеленом фоне, это значит скрипт готов к работе.
Теперь в Сонаре будут работать следующие шорткаты:

Create Clip Gain Envelope
наводим курсор на аудиоклип (не выделяя его) и жмем Win+G (Win - это клавиша с изображением Windows Logo)

Create Clip Pan Envelope
наводим курсор на аудиоклип (не выделяя его) и жмем Win+P

Запустить Cakewalk Velocity Plugin
выделяем клип(ы) или ноты и жмем Win+V

Переключить Snap To Grid в режим Move To
жмем Win и минус

Переключить Snap To Grid в режим Move By
жмем Win и равно

Переключить Snap To Grid на целые такты
Win+1

Переключить Snap To Grid на половинные ноты
Win+2

Вкл/выкл показ тактовых черт в окне треков
Win / (Win+slash).
--------------------
Скрипт этот я делал путем проб и ошибок, не разбираясь в программировании. Поэтому он несколько кривоват. Команда создания Clip Envelopes работает только в том случае, если в треке нет ни одного Track Envelope. Этот недостаток я исправить не сумел.
Вопрос к тем, кто разбирается в программировании и знаком с AutoHotKey: нельзя ли привести этот скрипт в божеский вид и, может быть, добавить туда какие-то полезные функции? Например, возможность создать Clip Envelopes для всех выделенных клипов сразу. Или возможность перетаскивать треки вверх-вниз не по одному, а сразу все выделенные.
 
Поставил-спасибо еще раз, скрипт работает только с шестым сонаром, с пятым нет, все равно здорово, жаль что я не в Бруклине, примите виртуально:beer:
 
Присоединяюсь к просьбе Вовчика, программеры отзовитесь, очень полезная штука сей скрипт!!!!
 
<div class='quotetop'>QUOTE(\"Osman\")</div>
скрипт работает только с шестым сонаром, с пятым нет[/b]
А это потому, что скрипт имитирует реальные нажатия клавиш. В 6-м Сонаре на правый клик на клипе открывается меню, где в слове Envelopes подчеркнута буква "p" - Envelopes. В 5-ке в этом же слове подчеркнута "n" - Envelopes. Стало быть, соответствующая строка должна выглядеть так:

;Win g - Insert Clip Gain Envelope
#g::
{
MouseClick, right
Send, nc{ENTER}{ENTER}
}
return
 
Дополнение к вышеприведенному скрипту. Добавляем туда следующий текст:

#WheelDown::
{
Send, ^{PGDN}
}
return

#WheelUp::
{
Send, ^{PGUP}
}
return

Запускаем Сонар, запускаем скрипт Sonar.ahk, держим Win key и колесом мыши гоняем Now Time вперед-назад.
 
<div class='quotetop'>QUOTE(\"Vovchik\")</div>
Команда создания Clip Envelopes работает только в том случае, если в треке нет ни одного Track Envelope.[/b]
Всё равно - ОЧЕНь полезная вещь. Большое чел.спасибо.
 
В том-то и дело ,что скрипт как бы имитирует реальные нажатия клавиш. Ведь как мы делали бы клип энвелоп без мыши? Правый клик - нажать "р" - появляется меню с двумя пунктами - нажимаем "с" - попадаем на Create Clip Envelope. Это в том случае, если в треке нет Track Envelopes. Если есть хотя бы один, картина другая - на пункте Envelopes уже три строчки и, нажав на "с", попадаем на Create Track Envelope. Как заставить скрипт выбрать нужный пункт меню напрямую - я так и не понял.
 
Если бы! Я уж всё облазил - нет. Только первый уровень правой кнопки редактируется, а то что выпадает на слове Envelope - не имеет постоянного вида, там то больше строчек, то меньше.
 
В том то и дело, что при созданном Track Envelope скрипт попадает на меню Create Clip Envelope. Потому как скрипт отсчитывает позицию строки в меню. Если позиция поменялась со второй на третью, то уже надо вставлять в скрипт опцию для 3-го пункта, и она уже будет не через Win+G работать, а сделать его на (к примеру) Win+Х. Т.е. получается, что для создания Clip Envelope будет два значения скрипта.
Win+Х при созданном Track Envelope, и Win+G, если нет ни одной огибающей. Тут на самом деле ничего не изменишь, надо просто это воспринять как небольшое неудобство и привыкнуть...)))
 
сорри, что немного не по теме
а можно ли в сонаре создавать темплейты для эффектов? например часто требуется повесить эквалайзер+анализатор - можно ли это сделать одним нажатием мышки, а не выбирать каждый эффект отдельно? или только с помощью autohotkey такое можно сделать?
 
<div class='quotetop'>QUOTE(\"Vovchik\")</div>
Команда создания Clip Envelopes работает только в том случае, если в треке нет ни одного Track Envelope.[/b]

У меня нет шестого сонара сонара .Эти команды которые ты используешь для создания огибающих не повторяются например в главном меню.
Например в нюше это можно сделать и на правом клике на обьекте и из главного меню.
 
<div class='quotetop'>QUOTE(\"q_h\")</div>
У меня нет шестого сонара сонара .Эти команды которые ты используешь для создания огибающих не повторяются например в главном меню.
Например в нюше это можно сделать и на правом клике на обьекте и из главного меню.[/b]
Видишь ли, в этом топике речь идет именно о 6-м Сонаре и ни единым словом не упоминается Нюша. И если бы команды для создания клип-огибающих повторялись в главном меню, я бы эту тему не открывал, тебе не кажется?
 
<div class='quotetop'>QUOTE(\"ddr400\")</div>
сорри, что немного не по теме
а можно ли в сонаре создавать темплейты для эффектов?[/b]
А через track template не пробовал?
Вроде как можно создавать аудио трек с конкретным набором эффектов.
 
Originally posted by PaulVadim
А через track template не пробовал?
Вроде как можно создавать аудио трек с конкретным набором эффектов.

это можно, но тогда встает гимор с добавлением синта - там тоже щелкать мышкой надо, получаются теже яйца, вид сбоку :)
 
q_h

Вот пять скриншатов:

menu1 - ни в треке, ни в клипе еще нет ни одного энвелопа;

menu2 - в треке создан панорамный энвелоп;

menu3 - в треке есть панорама, а на клипе - гейн;

menu4 - на клипе есть гейн, в треке - ничего;

menu5 - на клипе есть и пан, и гейн, в треке - ничего.
 
сразу повесить два эффекта не получилось, повесил по одному эффекту на хоткей.

вот скрипт, его можно добавить к уже существующему. в 6 сонаре у меня организован layout для эффектов, поэтому все находится на своих местах и менюшки никуда не переезжают и не двигаются. цифры после DOWN означают кол-во нажатий на кнопку down.
чтобы вам посчитать под себя - в fx bin нажимаете правую кнопку, затем "a" и дальше уже считайте сколько раз надо нажать стрелку вниз, чтобы добраться до нужного пункта :) ну или если у вас плагины начинаются с уникальных букв, т.е. например Eq-Sonituseq то можно вместо down и т.п. написать например Send, aes{ENTER}
win+w и win+q

; Win w - Insert equalizer

#w::
{
MouseClick, right
Send, a{DOWN 7}{ENTER}{DOWN 2}{ENTER}
}
return

; Win q - Insert Analyze

#q::
{
MouseClick, right
Send, a{DOWN 6}{ENTER}{ENTER}
}
return
 
<div class='quotetop'>QUOTE(\"ddr400\")</div>
в 6 сонаре у меня организован layout для эффектов, поэтому все находится на своих местах и менюшки никуда не переезжают и не двигаются[/b]
С постоянными меню, пусть даже и переорганизованными, нет проблем. Там точно известно, сколько раз нажать {DOWN}. Речь идет о меню создания Envelopes. Там количество пунктов меню каждый раз меняется. Если в треке нет ни одного энвелопа, то чтобы попасть на Create Clip Envelope, надо нажать {DOWN} один раз. Стоит только создать на треке хотя бы один энвелоп, теперь чтобы попасть на Create Clip Envelope, надо нажать {DOWN} два раза.
 
Да все просто. Надо изменить буквы, чтобы создание огибающих клипа активировалось одной буквой, создание огибающих трека - другой. И можно привязать буковки к огибающим громкости и панорамы, чтоб вообще путаницы не было.
Для этого нужно отредактировать файл TTSRes15.dll и, возможно, sonardefaultmenus.xml
Если интересно - могу повозиться...
 
Вот вам патч. Разархивируйте, поместите его в директорию с программой (С:Program FilesCakewalkSONAR 6 Producer Edition), и запустите там. Буковки появятся. Остается только подкоректировать скрипт и

будет всем хорошо!!!! :) :super2:
 
<div class='quotetop'>QUOTE(\"ddr400\")</div>
это можно, но тогда встает гимор с добавлением синта - там тоже щелкать мышкой надо, получаются теже яйца, вид сбоку :)[/b]
Так сохраняй темплейт сразу и с эффектами и с синтом...
 
Originally posted by bant
Вот вам патч. Разархивируйте, поместите его в директорию с программой (С:Program FilesCakewalkSONAR 6 Producer Edition), и запустите там. Буковки появятся. Остается только подкоректировать скрипт и  

будет всем хорошо!!!! :) :super2:

Ругается...
 
если чо, то вот описание autohotkey на русском. там же есть форум где можно задать вопрос.
http://www.script-coding.info/AutoHotkeyTr...ranslation.html
вообще мне представляется что можно считывать информацию из контекстного меню, и на основе условий if выполнять разные действия, но сам я не программер, разобраться в этом черт ногу сломит :)
 
:lol: Это у меня был какойто глюк с версией...
Все поправил... :smile:

Пробуем. Этот патч для Sonar 6.0.1 !!!
 
Это ж совсем другое дело! Теперь команда в скрипте выглядит так:

******************
#g::
{
MouseClick, right
Send, pcg{ENTER}
}
return

#p::
{
MouseClick, right
Send, pcp{ENTER}
}
return
***********************

Респект!:beer:
 

Сейчас просматривают