Cubase и AutoHotKey

я юзал в 5-ке или даже в 4-ке. Потом почему-то отпала необходимость, не помню почему. Единственное неудобство было связано с первоначальной настройкой и "уложением" этой проги в автозапуск системы. :) В оостальном всё было удобно и красиво. :yu:
 
Versia Nova, а в чем преимущество перед родными кубейзовыми горячими клавишами и макросами?
 
Woozya, например:

- можно имитировать нажатие Enter после выполнения какой-то команды
- можно задавать паузы, чтобы Кубейз ждал, когда закончится выполнение предыдущей команды и только потом начинал следующую
- можно использовать клавишу Win для вызова команд Кубейза
- можно назначать разные команды на одни и те же клавиши, в зависимости от того, какое окно открыто
- назначать клавиши на команды, которых нет в Key Commands
- и т.п.

Простой пример:

#IfWinActive, ahk_class ahk_class SmtgMain Cubase6
^k::
WinMenuSelectItem, , , Edit, Functions, Repeat...
Send {Enter}{Enter}
return

Обычно, при выделении клипа и нажатии Control+K Кубейз открывает окно Repeat, в котором нужно задать количество повторений и потом нажать кнопку Enter. Но с помощью этого скрипта, Control+K создаёт Shared Copy выделенного клипа без лишних вопросов. Скрипт вызывает команду меню: Edit > Functions > Repeat... и после этого имитирует нажатие Enter.
 
Последнее редактирование:
  • Like
Реакции: Woozya
Может такой пример кого-нибудь заведёт...

^r::
#IfWinActive Cubase 6 - [Cubase 6 Project ahk_class ahk_class SmtgMain Cubase6
MouseGetPos,X,Y
Send {Click 63,118}
MouseMove, X,Y
return

Данный скрипт позволяет переименовывать выделенные клипы в окне проекта при нажатии Control+R (прям как в Ableton Live). Infoline должен быть включён.

- выделяем клип
- нажимаем Control+R
- пишем имя

Как это работает: скрипт сначала запоминает текущую позицию курсора мыши (MouseGetPos,X,Y), затем мчит его к полю Name в инфолайне и совершает на нём акт нажатия левой кнопки мыши (Send {Click 63,118} - 63 и 118 это координаты по горизонтали и вертикали в текущем окне в пикселях), после чего уставший, но довольный курсор возвращается в исходную позицию (MouseMove, X,Y).
 
  • Like
Реакции: Zatvornik и Woozya
Да не за что. Если по какой-то причине вышеуказанный скрипт не работает, то в AHK всегда можно найти альтернативное решение:

#IfWinActive Cubase 6 - [Cubase 6 Project ahk_class ahk_class SmtgMain Cubase6
^r::
BlockInput On
MouseGetPos X,Y
MouseMove 63,126
Sleep 50
Send {Click down}
Sleep 20
MouseMove X,Y
BlockInput Off
return

Этот скрипт отличается от предыдущего тем, что после каждого действия происходит небольшая пауза. Некоторые компьютеры настолько быстры, что делают, быстрее чем думают. Команда Sleep помогает им с этой проблемой. BlockInput блокирует клавиатуру и мышь на время выполнения скрипта, чтобы избежать неприятностей.
 
Вижу, тема не очень популярна... но всё же напишу. Возможно, удастся её оживить.

Как «послать» неNumPad'овые цифры?
 
Note: The names of the letter and number keys are the same as that single letter or digit. For example: b is the "b" key and 5 is the "5" key.
Не работает. У меня «раскладка» (layout) изменена, и цифр в «основном регистре» нет.

Так что:
Код:
#sc013::Send 5
посылает в keycommands Pad5.

Раскладку я изменяю часто (когда нет срочной работы), ибо сейчас в эксперементах — но хотелось бы иметь рабочий Cubase.

Так как быть?
 
Можно закустить консоль Autohotkey — двойной клик по иконке в трее. Зайти в меню View > Key History and Script Info и посмотреть код нужной кнопки (в столбике "SC").
 
Versia Nova, так вот в том и дело, что нет «клавиши с цифрой». Так что посылать скан-код мне не нужно. Мне бы послать именно символ.

Вот, например, что-то подобное:
http://www.autohotkey.com/forum/topic4473.html

Т.е. мне нужно remap'нуть всякую раскладку в «классическую» QWER.

Я это себе представляю так: скан-коды посылают символы:
Код:
#sc00E::Send {+}
#sc002::Send {]}
#sc003::Send {-}
#sc004::Send {[}
;#sc005::Send
;#sc006::Send
[B]#sc01C::Send 9 ; Enter[/B]
#sc010::Send {p}
;#sc011::Send
#sc012::Send {/}
[B]#sc013::Send 0 ; R[/B]
;#sc014::Send
#sc01E::Send {o}

Но если с буквами и остальными символами всё нормально работает, то с цифрами не хочет. Как я уже написал, посылает num'ы.


Конечно, можно «послать» и другие символы (например, вместо нуля — «)», вместо девяти — «(» и т.д.) или вообще другие клавиши (те же num'ы или F#) и «за'bind'ить» на них hotkey'и. Но прежде чем сдаваться перед AutoHotKey'ем хотелось бы узнать, можно ли «посылать» цифры вообще.
 
Последнее редактирование:
arkaine,
в QWERTY цифры :
02 (1), 03 (2), 04 (3), 05 (4), 06 (5), 07 (6), 08 (7), 09 (8), 0a (9), 0b (0)
например:
SC04C::send {SC006} - посылается цифра 5
 
  • Like
Реакции: Zatvornik и Versia Nova
q_h, мне это известно. Я бы не писал, не ознакомившись со «стандартной документацией». Я же написал, что «изменена раскладка». Если послать sc клавиши ноль (#sc013::Send {SC00B}), то я со своей изменённой раскладкой получу то, что было назначено на эту клавишу. Мне же нужен обычный, не num'овый ноль.
 
Последнее редактирование:
Я изменил раскладку в Keyboard Layout Manager:
layouteng.gif

Без Win тоже, что и с Win (посылается точка). В том смысле, что «команда» работает, но эта команда — не то, что нужно. Это не из серии «как бы заставить работать команду». Тут, то ли я не знаю, то ли этого просто нет.

Вариант с посыланием других клавиш мне не нравится из-за того, что вся клавиатура будет напичкана горячими клавишами, а disable'ить («return»'ить) «всю клавиатуру» — та ещё возня. Так что, пока единственный выход — посылать поддерживаемые символы (€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿
ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ). Но как бы в них не запутаться... Так что предпочтительны цифры.
 
Разобрался.

Оказывается в моём скрипте уже были «посланы» некоторые символы из unicode, и эти можно было послать по аналогии с ними.

В общем, вот то, что мне требовалось:
Код:
#sc01C::Send {U+0039} ; Enter
#sc013::Send {U+0030} ; R
 
Последнее редактирование:
Работает ли у кого связка клавиш Win+Shift+4?

Код:
+#sc005::Send 123
или
Код:
+#vk34::Send 123
 
Как можно реализовать такое:

удалить выделенную аудио дорожку отовсюду:
из секвенсора, из пула и с харда?

в общем начисто
 
Как можно реализовать такое:

удалить выделенную аудио дорожку отовсюду:
из секвенсора, из пула и с харда?

в общем начисто

кстати тоже интересовало!)) а то из окна проекта она удаляется, а в пуле и на харде остается! и проект потом со всеми ненужными дублями весит раза в 2 больше!
 
кстати тоже интересовало!)) а то из окна проекта она удаляется, а в пуле и на харде остается! и проект потом со всеми ненужными дублями весит раза в 2 больше!

По окончании работ над проектом CTRL+P>Remove Unused Media from Pool, Закрываем проект > File>Clear Project > выбираем проект, который нужно очистить от ненужного.

Хотя я обычно делаю так. Когда заканчиваю работу над проектом, открываю Pool, Remove Unused Media ( удаляет из пула и из папки Audio проекта все материалы, не использованные в финальной версии проекта), далее Prepare Pool for Archive - копирует все материалы, так или иначе использованные в вашем проекте, но не скопированные по каким-либо причинам в папку Audio проекта (например какой-нибудь сэмпл из библиотеки, который проект подгружает непосредственно из этой библиотеки, а не из папки с проектом). После всего этого жму File>Backup Project ... Весь проект переносится в другую папку, указываю финальное название проекта. Все. Старую папку с проектом можно полностью удалить, новый проект будет полностью чистым без каких-либо лишних материалов.
 
Предыдущий вопрос решился. Появился новый.

Возникла потребность "привязать" AHK к определенным элементам Cubase (не ко всему целиком). Как это сделать?

Мой основной скрипт идет следующим образом:
Код:
GroupAdd, Cubase, ahk_class CubaseFrameWindowClass
GroupAdd, Cubase, ahk_class SteinbergWindowClass
Return

#IfWinActive ahk_group Cubase

Ла-ла-ла
Ла-ла-ла
Ла-ла-ла
Ла-ла-ла

#IfWinActive
CubaseFrameWindowClass и SteinbergWindowClass охватывают весь Кубейс.

Мне же нужно для определенной функции охватить лишь такие элементы программы как основное окно, оно же "Cubase 5" и "Transport" (оба находятся в SteinbergWindowClass).

Я пробовал:
Код:
#IfWinActive Cubase 5
И оно работает. Но если, например, я использую обозреватель интернета и захожу в тему с заголовком, содержащим текст "Cubase 5", то функция из AHK начинает действовать и на обозреватель.

Вопрос в том, как привязаться к уникальному окну. Я "ремаплю" скролл, и мне не хотелось бы чтобы этот ремапинг вынуждал меня каждый раз нажимать Alt или Ctrl для скроллинга в плагинах. С Infoline'ом уже свыкся, но с плагинами, если этого можно избежать, не хотелось бы свыкаться.
 
Последнее редактирование:
arkaine, полный формат #ifWin:
#IfWinActive Transport ahk_class SteinbergWindowClass
...
#IfWinActive Cubase 5 ahk_class SteinbergWindowClass
...
 
  • Like
Реакции: arkaine
Поскольку удалось успешно решить предыдущий вопрос, я уже почти лезу на стены и хочу узнать, а можно ли сделать следующее: изменить в Кубейсе сочетание Ctrl+Click (для смены расположения левого локатора) на Shift+Click.

Вопрос в том, как сделать, чтобы скрипт запускался лишь при расположении курсора в определенных координатах? Диапазоном этих координат будет, конечно же, временнАя шкала Кубейса.


И еще вопрос:
Код:
#IfWinActive Cubase 5 ahk_class SteinbergWindowClass
Это действует на название заголовок и класс окна ("Window Title & Class"). А можно ли как-нибудь привязать скрипт к конкретному "подокну" в Кубейсе?

Вот есть такая информация из Window Spy'я:
Код:
>>>>>>>>>( Now Under Mouse Cursor )<<<<<<<<
ClassNN:	SteinbergMDIWindowClass1
Text:	[COLOR="#FF0000"]Key Editor[/COLOR]: Battery 3
Color:	0xF0F0F0  (Blue=F0 Green=F0 Red=F0)
Вот здесь я бы хотел привязаться к Key Editor'у.
 
Последнее редактирование:
К стати, давно хотел спросить, а под мак есть что-то подобное?
 
derbeerk, в гугле много тем по поиску альтернатив AHK'ю на Мак и ответы в том числе. Правда не уверен, что все из советуемого столь хорошо как и AHK.


Кстати, я в последнее время задаюсь вопросом, а есть ли на Маке софт, поддерживающий необходимый для меня функционал (в плане клавиш и некоторых функций).

Сенсорные дисплеи, тачпэды, трекболлы, джойстики или еще какие-манипуляторы -- это, конечно, хорошо, что ведутся разработки новых технологий, однако моя привязанность к мыши выше даже объективно большей продуктивности. Так же и с клавиатурой: что есть Cmd клавиша -- это просто замечательно, но я бы и ее подстроил "под себя".

Когда, например, переустанавливал систему или пользовался чужим компьютером -- что ламо-ламом (правда взгляд на клавиатуру это значительно компенсировал), однако с использованием своего проблем почти нет.
 

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