AIMP Forum

AIMP for Windows => Вопросы / Questions => Topic started by: faiter on June 28, 2020, 09:02:09

Title: Как назначить shortcut для определённой громкости?
Post by: faiter on June 28, 2020, 09:02:09
Добрый

Задача выделить горячие комбинации под 3-4 разные громкости.

Например,
Изменять громкость каждый раз от 100% до 1-5% по 1-2% процента ну такое.

Спасибо
Title: Re: Как назначить shortcut для определённой громкости?
Post by: Artem on June 28, 2020, 10:30:01
Боюсь такой возможности сейчас нет
Title: Re: Как назначить shortcut для определённой громкости?
Post by: Алексей Долматов on June 28, 2020, 11:17:03
Попробуйте регулировать громкость системы, а не плеера.
В плеере ставите 90-100% громкости или иную нужную. В системе ставите Volume 2 и в горячих клавишах настраиваете процентное назначение громкости.
Title: Re: Как назначить shortcut для определённой громкости?
Post by: faiter on July 08, 2020, 20:28:24
Боюсь такой возможности сейчас нет
Спасибо.
Жаль. Наверно, сложно добавить. Может когда-то.
Title: Re: Как назначить shortcut для определённой громкости?
Post by: faiter on July 08, 2020, 20:30:09
Попробуйте регулировать громкость системы, а не плеера.
В плеере ставите 90-100% громкости или иную нужную. В системе ставите Volume 2 и в горячих клавишах настраиваете процентное назначение громкости.
А где в Windows 10 найти горячую клавишу для конкретной громкости, например 28%?
Title: Re: Как назначить shortcut для определённой громкости?
Post by: coldun on July 08, 2020, 20:56:34
А где в Windows 10 найти горячую клавишу
В системе ставите Volume 2 и в горячих клавишах
Title: Re: Как назначить shortcut для определённой громкости?
Post by: faiter on July 08, 2020, 22:17:57
То есть ещё одно стороннее приложение? Уж извольте.
Title: Re: Как назначить shortcut для определённой громкости?
Post by: «G-Li†ch» on July 10, 2020, 12:50:00
Запускать с параметром /VOLUME <%>
Можно поставить ярлыки на него с разными значениями в быстрый запуск, напр.
на четвёртое место (Win+4): %ProgramFiles% (x86)\AIMP\aimp.exe /VOLUME 12
на пятое (Win+5): %ProgramFiles% (x86)\AIMP\aimp.exe /VOLUME 28
на шестое (Win+6): %ProgramFiles% (x86)\AIMP\aimp.exe /VOLUME 100

Тут вам и горячая клавиша, и можно тупо мышкой ткнуть в нужный значок, чтоб установить определённую громкость, не переключаясь в окно проигрывателя.

Возможно, придётся жертвовать другими значками (и немного таким образом захламив панель задач).
Title: Re: Как назначить shortcut для определённой громкости?
Post by: faiter on July 11, 2020, 12:31:15
Запускать с параметром /VOLUME <%>
Можно поставить ярлыки на него с разными значениями в быстрый запуск, напр.
на четвёртое место (Win+4): %ProgramFiles% (x86)\AIMP\aimp.exe /VOLUME 12
на пятое (Win+5): %ProgramFiles% (x86)\AIMP\aimp.exe /VOLUME 28
на шестое (Win+6): %ProgramFiles% (x86)\AIMP\aimp.exe /VOLUME 100

Тут вам и горячая клавиша, и можно тупо мышкой ткнуть в нужный значок, чтоб установить определённую громкость, не переключаясь в окно проигрывателя.

Возможно, придётся жертвовать другими значками (и немного таким образом захламив панель задач).
Опять стороннее приложение для горячих клавиш, но как вариант. Спасибо большое!
Очень странно, что AIMP не поддерживает такие банальные возможности. Это ведь так просто добавить.
Title: Re: Как назначить shortcut для определённой громкости?
Post by: Artem on July 11, 2020, 15:09:40
Опять стороннее приложение для горячих клавиш, но как вариант. Спасибо большое!
Очень странно, что AIMP не поддерживает такие банальные возможности. Это ведь так просто добавить.

Где вы тут нашли стороннее приложение?
Title: Re: Как назначить shortcut для определённой громкости?
Post by: faiter on July 16, 2020, 05:21:46
Где вы тут нашли стороннее приложение?
Чтобы создавать нормальные горячие клавиши(не Win+... и т.п.), нужно стороннее приложение.
А также для того, чтобы горячие клавиши работали и в полноэкранных приложениях, которые могут перехватывать таковые.
Title: Re: Как назначить shortcut для определённой громкости?
Post by: «G-Li†ch» on July 16, 2020, 09:16:36
Для полноэкранных, да, не хватает в командной строке AIMP.exe "противоположного /RESTORE", т.к. даже при настройке в ярлыке сочетания клавиш в "Быстром вызове" + "Сврёноутое в значок" всё равно убирает фокус с активного окна =(
И как вы себе это представляете? Горячих клавиш в окне настроек и так слишком много, а вы ещё 99 строк хотите добавить?
Title: Re: Как назначить shortcut для определённой громкости?
Post by: faiter on July 19, 2020, 19:23:45
И как вы себе это представляете? Горячих клавиш в окне настроек и так слишком много, а вы ещё 99 строк хотите добавить?
Что Вы имеете в виду под 99? Зачем так много?
Title: Re: Как назначить shortcut для определённой громкости?
Post by: «G-Li†ch» on July 20, 2020, 21:25:08
В таблице "горячих клавиш" не предусмотрено "добавление" да ещё и с "вводом" значения какого-либо параметра.
Не знаю, но почему-то он вспомнился, там же фиксированный список, нельзя ни убрать, ни добавить, ни изменить номер…
Если же такое реализовать в AIMP, то это уже будет не совсем примитивное "Hotkeys", а самое настоящее Input (Keyboard/Joystick/HID (EUCON и др.)/MIDI и прочее и так далее) Mapping!
А ещё нужно как-то давать пользователям возможность удалить саму эту строку (или сменить сам параметр, помимо его значения), если вдруг понасоздают лишних параметров. Ненавижу фиксированное (ограниченное) количество "пользовательских значений", да ещё с отсутствием возможности добавить ещё или убрать лишнее. Ведь кому-то может хватить 3, а кому-то и 14 мало (или вообще, как для громкости, от 1 до 100, т.е. нужно аж 99 таких строк, 0 же не нужен, т.к. есть уже "заготовленый" mute).
VirtualDJ – хороший пример – назначешь любые сочетания на абсолютно любое значение, причём сразу нескольких параметров одновременно! Единственный минус – клавиатурные сочетания работают только когда окно VirtualDJ активно, а с MIDI/HID контроллерами работают даже в фоне.
Попробуйте регулировать громкость системы, а не плеера.
В плеере ставите 90-100% громкости или иную нужную.
Как же мне бесят МЫШКИ с такой возможностью (которые регулируют как раз громкость системы вместо проигрывателя), причём не требующих никаких программ (собственных-то нет, не говоря уже о сторонних). А есть программируемые мышки, которые с 7 или более кнопками (часто брендовые), да, для них нужна программа, но не обязательно, чтобы она работала постоянно. Можно прошить нужные "команды" на одном компе, и использовать эту же мышку со своей конфигурацией на другом! Правда, разочаровала меня SteelSeries из-за того, что не продумали "внутренние модификаторы", А мне так хотелось, чтоб при зажимании 6-й кнопки включался режим "media hotkeys", а при отпускании возвращало всё на место – т.е. не нужно тискать второй раз, чтоб выйти из режима (как во многих подделках). О том, чтоб внедрили внутренние модификаторы в мышку уже доложили разработчикам по моему "тикету", не знаю, правильно ли поняли, но главное, чтоб об этом они помнили.
Title: Re: Как назначить shortcut для определённой громкости?
Post by: faiter on July 26, 2020, 00:41:27
тнужно как-то давать пользователям возможность удалить саму эту строку (или сменить сам параметр, помимо его значения)
Как Вы правы. Возможно, было бы проще заставить AIMP "слушать" какие-то команды, поддерживающие параметры, через какой-то интерфейс и горячие клавиши назначать на действия в виде строк - команд. Например, горячая клавиша "Ctrl+1" = "--volume 13 --next track --pause"(где, на самом деле, после нажатия, AIMP вызывает "путь_к_aimp.exe --volume 13 --next track --pause" и, если новый процесс AIMPа видит, что указаны парметры запуска, временно висит в фоновом режиме и, если его специально не закрыли извне, закрывается сам, чтобы не заполнять список запущенных процессов) параметры процесса, который запускал бы новый процесс, где уже запущенный процесс(первый AIMP.exe) "мониторил" другие схожие процессы и если найден, то копировал параметры запуска и закрывал остальные процессы, с которых уже скопировал команду(если вдруг пользователь слишком быстро вызовет такие команды, то можно сортировать процессы по времени запуска или т.п. такое возможно, если данные "команды" вызванны сторонней программой или ярлыком). Далее, первый процесс парсит параметры обрабатывает запрос.
Возможно, есть варианты как "named pipes", как в Unix и т.п.
Что-то можно найти погуглив, например, https://stackoverflow.com/a/50180/5113030
Может странный, но вариант открытия AIMPом своего мини локального TCP сервера, который бы слушал команды, что открыло большое количество возможностей упаления его сторонними приложениями, так как отправить запрос по TCP можно, хоть из командной строки.
Далее остаётся только внутри AIMPа "замапить" команды на действия.
А внутренние горячие клавиши AIMPа, переделать под логику выше.

Рассказал то, что сразу "придумалось". Конечно, есть и более логичные варианты общения процессов между собой и более адекватная обработка запросов.
Конечно, это, возможно куча работы, так как неизвестно что внутри AIMPа и как структурно он расписан, что повлияет на замену логики горячих клавиш.

Функционал управления функциями UI AIMPа, как громкость, перемотка и т.п. извне сильно улучшит отличный плеер.

Примером может послужить, Android Intent (https://developer.android.com/guide/components/intents-filters) и, довольно сложное приложение Tasker, которое может отсылать и принимать запросы типа Intent(Demo (https://youtu.be/r18U8pXw7_k)). Например, таким образом можно управлять плеером в Android, остылая Intent запросы. Другая архитектура, конечно, но, возможно, наглядный пример.

Конечно, это время, но плеер получил бы отличный шарм.

причём не требующих никаких программ (собственных-то нет, не говоря уже о сторонних).
Похоже на уровень драйвера. Может в Windows есть какие либо возможности перехватывать такое? В Linux это точно возможно.
Title: Re: Как назначить shortcut для определённой громкости?
Post by: JD on July 29, 2020, 10:32:24
"Извне" (как и изнутри) оно давно есть и называется SDK (искать по словам remote API), управлять можно как угодно.
Title: Re: Как назначить shortcut для определённой громкости?
Post by: «G-Li†ch» on July 29, 2020, 15:05:15
в Windows есть какие либо возможности перехватывать такое?
В каком смысле "такое"? Медийные клавиши уже давно поддерживаются виндой, более того, их можно переназначить в разделе реестра [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey]
из названий убран "префикс" APPCOMMAND_
  • BROWSER_BACKWARD
  • BROWSER_FORWARD
  • BROWSER_REFRESH
  • BROWSER_STOP
  • BROWSER_SEARCH
  • BROWSER_FAVORITES
  • BROWSER_HOME
  • VOLUME_MUTE
  • VOLUME_DOWN
  • VOLUME_UP
  • MEDIA_NEXTTRACK
  • MEDIA_PREVIOUSTRACK
  • MEDIA_STOP
  • MEDIA_PLAY_PAUSE
  • LAUNCH_MAIL
  • LAUNCH_MEDIA_SELECT
  • LAUNCH_APP1
  • LAUNCH_APP2
  • BASS_DOWN
  • BASS_BOOST
  • BASS_UP
  • TREBLE_DOWN
  • TREBLE_UP
  • MICROPHONE_VOLUME_MUTE
  • MICROPHONE_VOLUME_DOWN
  • MICROPHONE_VOLUME_UP
  • HELP
  • FIND
  • NEW
  • OPEN
  • CLOSE
  • SAVE
  • PRINT
  • UNDO
  • REDO
  • COPY
  • CUT
  • PASTE
  • REPLY_TO_MAIL
  • FORWARD_MAIL
  • SEND_MAIL
  • SPELL_CHECK
  • DICTATE_OR_COMMAND_CONTROL_TOGGLE
  • MIC_ON_OFF_TOGGLE
  • CORRECTION_LIST
  • MEDIA_PLAY
  • MEDIA_PAUSE
  • MEDIA_RECORD
  • MEDIA_FAST_FORWARD
  • MEDIA_REWIND
  • MEDIA_CHANNEL_UP
  • MEDIA_CHANNEL_DOWN
  • DELETE
  • DWM_FLIP3D
Фишка в том, что можно добавить ключ с именем "1", и какую-нибудь программку в ShellExecute, тогда при нажатии на кнопку Mouse4 будет открываться эта программа, но если открыто какое-либо окно проводника/обозревателя, то вы вернётесь назад из текущей папки, так и не запустив программу. А вот APPCOMMAND_Volume_Up, APPCOMMAND_Volume_Down и APPCOMMAND_Volume_Mute (8, 9, 10) — эти клавиши по-прежнему влияют на звук системы (т.е. винда сама для себя перехватывает их, и ей пофиг на эту настройку), и ни запретить, ни переназначить это никак у меня не получается :(
Хоть лезь в параметр "Scancode Map" ключа [HKLM\System\CurrentControlSet\Control\Keyboard Layout]
Code: [Select]
0000 0000 0000 0000 0400 0000 ???? 20E0 ???? 2EE0 ???? 30E0 0000 0000E0 20 (0xAD) — VK_VOLUME_MUTE
E0 2E (0xAE) — VK_VOLUME_DOWN
E0 30 (0xAF) — VK_VOLUME_UP
upd: Ещё одно разочарование – на встроенной (ноутбучной) / PS/2 клаве эти клавиши переназначаются, а вот на внешней беспроводной – нет (т.е. этот параметр не только не влияет на мышь, но даже и на клавиатуру)! Всё равно при нажатии этих кнопок, эти клавиши продолжают делать своё гадкое дело (и AIMP их тоже понимает, хоть и перехватывает). Ну а если в глобальных клавишах AIMP`а настроить кнопки громкости с модификатором (shift/alt/Ctrl…), то винда по прежнему будет затрагивать громкость системы, если эти клавиши были нажаты без модификаторов, пусть даже если прописать их в AppKey\8, 9 и 10. Видимо, в самой винде тоже "висит" какая-то программа, так же слушающая "глобальные клавиши", и перехватывает их – как же тогда её выпилить?
Title: Re: Как назначить shortcut для определённой громкости?
Post by: «G-Li†ch» on October 21, 2021, 12:20:00
хм, что-то обнаруживаю, что не только подключи [8], [9] и [10] не переназначаются, но и [11], [12], [13], [14] тоже. Т.е. даже назначить кнопки "PREV_TRACK" и "NEXT_TRACK" на установку конкретной громкости тоже нельзя.
Пока устраивает решение использовать логарифмический регулятор громкости, и шаг 4%: теперь удерживать эти медийные клавиши можно короче, и с каждым aimp.exe /VOLUP громкость удваивается, с aimp.exe /VOLDWN половинится.
Осталось теперь сделать так, чтобы при горячих клавишах сам ПОЛЗУНОК регулировки в обложке сдвигался тоже логарифмически (и тогда саму настройку перенести туда же, где и настройка шага — см. вложение),  т.е. чтобы мышкой по прежнему регулировало линейно.
Если уж оставить для "мышиного указателя/сенсора" тоже логарифмически (как реализовано сейчас), то эту настройку тоже соответсвующе проименовать.
Сомневаюсь, что для колёсиков мышей возможно сделать независимую настройку регулировки, но было бы неплохо…