From ea70ace4fa94ed135cf2b1557ff1b868a36bb403 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Vallejo?= Date: Fri, 24 Sep 2021 14:18:15 +0200 Subject: [PATCH 01/11] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 67f757a..b35b923 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ English | [Español](./README-es.md) Windows® Volume Control for Nano. Slider -- [Linux](https://github.com/jesusvallejo/Midi2Vol-Linux) -This is mainly developed for Nano. Slider, but it can be fairly easily used with any Midi based potentiometer. +This is mainly developed for [Nano. Slider](https://www.keebwerk.com/nano-slider/), but it can be fairly easily used with any Midi based potentiometer. It is written only for Windows® and wont work on any other plataform as it has to be written in OS compatible language (C# in this case with .net framework). The app lives in the tray in order to be less intrusive, for the moment the only options are to exit the app and to Add/remove the StartUp run. From 5d319b28f68422ae591a9362b8acd698508a6d66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Vallejo?= Date: Wed, 29 Sep 2021 12:42:50 +0200 Subject: [PATCH 02/11] Update README.md --- README.md | 53 ++++++++--------------------------------------------- 1 file changed, 8 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index b35b923..e9bf0f9 100644 --- a/README.md +++ b/README.md @@ -14,50 +14,13 @@ Windows® Volume Control for Nano. Slider -- [Linux](https://github.com/jesusval This is mainly developed for [Nano. Slider](https://www.keebwerk.com/nano-slider/), but it can be fairly easily used with any Midi based potentiometer. It is written only for Windows® and wont work on any other plataform as it has to be written in OS compatible language (C# in this case with .net framework). -The app lives in the tray in order to be less intrusive, for the moment the only options are to exit the app and to Add/remove the StartUp run. - -This version has per app volume control as well as current device volume control, it can be configured via the config menu button or editing config.json,to add/edit more apps.In order to make ti work we have to change some things on the qmk keymap,instancitate an app variable as 0x3E,``` uint8_t app = 0x3E; ``` , on slider function we have to change midi_send_cc to ```midi_send_cc(&midi_device, 2, app, 0x7F - (analogReadPin(SLIDER_PIN) >> 3));``` and last use the macro utility to change ``` app ``` value to what ever is configured in the config.json - -ex: -``` -uint8_t app = 0x3E; - -// Defines the keycodes used by our macros in process_record_user -enum custom_keycodes { - QMKBEST = SAFE_RANGE, - SPOTIFY,DISCORD -}; -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case SPOTIFY: - if (record->event.pressed) { - // when keycode SPOTIFY is pressed - app= 0x3F; - } else { - app= 0x3E; - // when keycode SPOTIFY is released - } - break; - case DISCORD: - if (record->event.pressed) { - // when keycode SPOTIFY is pressed - app= 0x40; - } else { - app= 0x3E; - // when keycode SPOTIFY is released - } - break; - } - return true; -} -void slider(void) { - if (divisor++) { // only run the slider function 1/256 times it's called - return; - } - - midi_send_cc(&midi_device, 2, app, 0x7F - (analogReadPin(SLIDER_PIN) >> 3)); -} -``` +The app lives in the tray in order to be less intrusive. + +This version has per app volume control(Windows mixer, could be Spotify , Google Chrome) as well as current device volume control(Earphones,Speakers), it can be configured via the config menu button or editing config.json,to add/edit more apps.(config.json is under \user\AppData\midi2vol, it is recomended to use the menu configurator to avoid parsing errors) + +In order to make it work you will need to add some code to your keymap,or pehaps use the one i provide here: https://github.com/jesusvallejo/nanokeymaps/ + +Remember to use different hex values. Default volume value is: ```0x3E```. I'll provice a binary files but i recommend you to compile it by yourself. It is provided as is, and it comes with no guarantee.(see [Licence](https://raw.githubusercontent.com/jesusvallejo/Midi2Vol/master/LICENSE)) @@ -75,5 +38,5 @@ Volume handling: TODO - [ ] Check wether the AppRaw input in config menu is an hex. - [ ] Make it easier for user to change app icons.(not sure if possible) - +- [ ] Check .json parsing errors From 07b65d7ce146ac52a84742969cea112c3ff5bb03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Vallejo?= Date: Wed, 29 Sep 2021 12:44:55 +0200 Subject: [PATCH 03/11] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e9bf0f9..aa319e7 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,8 @@ In order to make it work you will need to add some code to your keymap,or pehaps Remember to use different hex values. Default volume value is: ```0x3E```. -I'll provice a binary files but i recommend you to compile it by yourself. +I'll provice a [binary files](https://github.com/jesusvallejo/Midi2Vol/releases)but i recommend you to compile it by yourself.Binaries are unsigned as the certificate costs money per year. + It is provided as is, and it comes with no guarantee.(see [Licence](https://raw.githubusercontent.com/jesusvallejo/Midi2Vol/master/LICENSE)) Nevertheless any change, update or upgrade is welcomed. From 524d9257740f10f7cb8a1bacc7d8413e36354182 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Vallejo?= Date: Wed, 29 Sep 2021 12:45:19 +0200 Subject: [PATCH 04/11] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index aa319e7..ee30729 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ In order to make it work you will need to add some code to your keymap,or pehaps Remember to use different hex values. Default volume value is: ```0x3E```. -I'll provice a [binary files](https://github.com/jesusvallejo/Midi2Vol/releases)but i recommend you to compile it by yourself.Binaries are unsigned as the certificate costs money per year. +I'll provice a [binary files](https://github.com/jesusvallejo/Midi2Vol/releases) but i recommend you to compile it by yourself.Binaries are unsigned as the certificate costs money per year. It is provided as is, and it comes with no guarantee.(see [Licence](https://raw.githubusercontent.com/jesusvallejo/Midi2Vol/master/LICENSE)) From 0c7c74601a4c3da036f19e60d7d1a924131f9654 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Vallejo?= Date: Wed, 29 Sep 2021 13:01:12 +0200 Subject: [PATCH 05/11] Update README-es.md --- README-es.md | 37 +++++++++++++++---------------------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/README-es.md b/README-es.md index 07052aa..72a810f 100644 --- a/README-es.md +++ b/README-es.md @@ -11,37 +11,30 @@ Control de Volumen de Windows® para Nano. Slider -- [Linux](https://github.com/ -Este proyecto esta desarrollado en principio para Nano. Slider, sin embargo debería ser realmente sencillo crear una versión para cualquier pontenciometro que funcione via MIDI. -Esta aplicacion funciona solo en Windows® y en consecuencia no funcionará en ninguna otra plataforma, esto se debe a que ha sido escrita especificamente en C# para poder controlar el volumen del equipo. +Este proyecto esta desarrollado en principio para [Nano. Slider](https://www.keebwerk.com/nano-slider/), sin embargo debería ser realmente sencillo crear una versión para cualquier pontenciómetro que funcione via MIDI. +Esta aplicacion funciona solo en Windows®([Version para Linux](https://github.com/jesusvallejo/Midi2Vol-Linux)). -La aplicación se ejecuta en la bandeja de iconos para ser menos intrusiva, por el momento las únicas opciones son Exit(para cerrar la aplicación) y Add/remove the StartUp run(para añadir o eliminar la ejecución durante el encendido). -Durante la instalacion la aplicacion sera añadida para su ejecución durante el encendido por defecto, en caso de no querer que esto ocurra podra eliminarla facilmente con la opcion Add/remove the StartUp run. +La aplicación se ejecuta en la bandeja de iconos para ser menos intrusiva. +Esta version tiene control de volumen para aplicaciones(Usa el mixer de windows y puede controlar el volumen de aplicaciones como Spotify o Google Chrome) y dispositivos(Ademas puede controlar el volumen del dispositivo del sistema que reproduce sonido en ese momento, auriculares, altavoces). +Estos ajustes se pueden modificar usando el boton config o editando el archivo config.json(se encuentra en el directorio +```\user\AppData\midi2vol\```, se recomienda usar el menu para evitar problemas de parsing en el archivo). -Existen tres versiones de la aplicación, las tres vesiones son exactamente iguales a excepción del icono mostrado, de modo que la aplicación se puede parecer a tu Nano. Slider. +Se incluyen [binarios ](https://github.com/jesusvallejo/Midi2Vol/releases) para su instalación, sin embargo recomiendo que lo compiles tu mismo. +Los binarios vienen sin firmar ya que el certificado cuesta anualmente. -Se incluye un binario para su instalación, sin embargo recomiendo que lo compiles tu mismo. -Se provee tal cual esta , y carece de cualquier garantia.(ver [Licencia](https://raw.githubusercontent.com/jesusvallejo/Midi2Vol/master/LICENSE)) +Se provee tal cual esta , y carece de cualquier tipo de garantia.(ver [Licencia](https://raw.githubusercontent.com/jesusvallejo/Midi2Vol/master/LICENSE)) Siempre se agradece cualquier mejora o propuesta. Este projecto usa las siguientes librerias: -- ~~AudioSwitcher.AudioApi.CoreAudio : https://github.com/xenolightning/AudioSwitcher~~ - En desuso, ahora usa NAudio, AudioSwitcher inicializaba muy lento +Midi handling: - NAudio: https://github.com/naudio/NAudio +Volume handling: +- CSCore: https://github.com/filoe/cscore TODO -- [x] Update code to better integrate official name: Midi2Vol -- [x] Msi installer -- [x] Edition Icon -- [x] Separate classes into multiple files to improve readability -- [x] Add auto launch on boot -- [x] Add menu to Apply/Remove auto launch on boot -- [x] Add Hot-Plug support -- [x] Solved Bug: wont work after sleep mode -- ~~[ ] One Msi installer, multiple icons that can be selected to fit any Nano. Slider appearance~~ Deprecated -- [ ] Ask on install , whether to run on Startup or not -- [x] Set proper public/private flags to code -- [x] Test stability -- [ ] Allow control when changing audio output Devices +- [ ] Check wether the AppRaw input in config menu is an hex. +- [ ] Make it easier for user to change app icons.(not sure if possible) +- [ ] Check .json parsing errors From 86e7af4dddcb4b37f3212b41ae65bfdb1b060ecc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Vallejo?= Date: Wed, 29 Sep 2021 13:01:24 +0200 Subject: [PATCH 06/11] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ee30729..9d4345e 100644 --- a/README.md +++ b/README.md @@ -11,12 +11,12 @@ English | [Español](./README-es.md) Windows® Volume Control for Nano. Slider -- [Linux](https://github.com/jesusvallejo/Midi2Vol-Linux) -This is mainly developed for [Nano. Slider](https://www.keebwerk.com/nano-slider/), but it can be fairly easily used with any Midi based potentiometer. -It is written only for Windows® and wont work on any other plataform as it has to be written in OS compatible language (C# in this case with .net framework). +This is mainly developed for [Nano. Slider](https://www.keebwerk.com/nano-slider/), but it coul be fairly easily ported to any Midi based potentiometer. +It is written only for Windows®([Linux Version](https://github.com/jesusvallejo/Midi2Vol-Linux)). The app lives in the tray in order to be less intrusive. -This version has per app volume control(Windows mixer, could be Spotify , Google Chrome) as well as current device volume control(Earphones,Speakers), it can be configured via the config menu button or editing config.json,to add/edit more apps.(config.json is under \user\AppData\midi2vol, it is recomended to use the menu configurator to avoid parsing errors) +This version has per app volume control(Windows mixer, could be Spotify , Google Chrome) as well as current device volume control(Earphones,Speakers), it can be configured via the config menu button or editing config.json,to add/edit more apps.(config.json is under ```\user\AppData\midi2vol```, it is recomended to use the menu configurator to avoid parsing errors). In order to make it work you will need to add some code to your keymap,or pehaps use the one i provide here: https://github.com/jesusvallejo/nanokeymaps/ From 56daa1cb7e9c0be16701079f7be0e8820946edd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Vallejo?= Date: Wed, 29 Sep 2021 13:02:03 +0200 Subject: [PATCH 07/11] Update README-es.md --- README-es.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README-es.md b/README-es.md index 72a810f..5685386 100644 --- a/README-es.md +++ b/README-es.md @@ -15,7 +15,9 @@ Este proyecto esta desarrollado en principio para [Nano. Slider](https://www.kee Esta aplicacion funciona solo en Windows®([Version para Linux](https://github.com/jesusvallejo/Midi2Vol-Linux)). La aplicación se ejecuta en la bandeja de iconos para ser menos intrusiva. -Esta version tiene control de volumen para aplicaciones(Usa el mixer de windows y puede controlar el volumen de aplicaciones como Spotify o Google Chrome) y dispositivos(Ademas puede controlar el volumen del dispositivo del sistema que reproduce sonido en ese momento, auriculares, altavoces). + +Esta version tiene control de volumen para aplicaciones(Usa el mixer de windows y puede controlar el volumen de aplicaciones como Spotify o Google Chrome) y dispositivos(Además puede controlar el volumen del dispositivo del sistema que reproduce sonido en ese momento, auriculares, altavoces). + Estos ajustes se pueden modificar usando el boton config o editando el archivo config.json(se encuentra en el directorio ```\user\AppData\midi2vol\```, se recomienda usar el menu para evitar problemas de parsing en el archivo). From f1d9cca7b87ab00122dd6ce27ccae2b7cb75c293 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Vallejo?= Date: Wed, 29 Sep 2021 13:03:10 +0200 Subject: [PATCH 08/11] Update README-es.md --- README-es.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README-es.md b/README-es.md index 5685386..efdea98 100644 --- a/README-es.md +++ b/README-es.md @@ -12,23 +12,23 @@ Control de Volumen de Windows® para Nano. Slider -- [Linux](https://github.com/ Este proyecto esta desarrollado en principio para [Nano. Slider](https://www.keebwerk.com/nano-slider/), sin embargo debería ser realmente sencillo crear una versión para cualquier pontenciómetro que funcione via MIDI. -Esta aplicacion funciona solo en Windows®([Version para Linux](https://github.com/jesusvallejo/Midi2Vol-Linux)). +Esta aplicación funciona solo en Windows®([Version para Linux](https://github.com/jesusvallejo/Midi2Vol-Linux)). La aplicación se ejecuta en la bandeja de iconos para ser menos intrusiva. -Esta version tiene control de volumen para aplicaciones(Usa el mixer de windows y puede controlar el volumen de aplicaciones como Spotify o Google Chrome) y dispositivos(Además puede controlar el volumen del dispositivo del sistema que reproduce sonido en ese momento, auriculares, altavoces). +Esta versión tiene control de volumen para aplicaciones(Usa el mixer de windows y puede controlar el volumen de aplicaciones como Spotify o Google Chrome) y dispositivos(Además puede controlar el volumen del dispositivo del sistema que reproduce sonido en ese momento, auriculares, altavoces). -Estos ajustes se pueden modificar usando el boton config o editando el archivo config.json(se encuentra en el directorio +Estos ajustes se pueden modificar usando el botón config o editando el archivo config.json(se encuentra en el directorio ```\user\AppData\midi2vol\```, se recomienda usar el menu para evitar problemas de parsing en el archivo). Se incluyen [binarios ](https://github.com/jesusvallejo/Midi2Vol/releases) para su instalación, sin embargo recomiendo que lo compiles tu mismo. Los binarios vienen sin firmar ya que el certificado cuesta anualmente. -Se provee tal cual esta , y carece de cualquier tipo de garantia.(ver [Licencia](https://raw.githubusercontent.com/jesusvallejo/Midi2Vol/master/LICENSE)) +Se provee tal cual está , y carece de cualquier tipo de garantía.(ver [Licencia](https://raw.githubusercontent.com/jesusvallejo/Midi2Vol/master/LICENSE)) Siempre se agradece cualquier mejora o propuesta. -Este projecto usa las siguientes librerias: +Este projecto usa las siguientes librerías: Midi handling: - NAudio: https://github.com/naudio/NAudio From 6ba115a289f26a7c0e02713ba43a3d7b1d1ed6da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Vallejo?= Date: Wed, 29 Sep 2021 13:06:00 +0200 Subject: [PATCH 09/11] Update README-es.md --- README-es.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README-es.md b/README-es.md index efdea98..1f53f88 100644 --- a/README-es.md +++ b/README-es.md @@ -21,6 +21,8 @@ Esta versión tiene control de volumen para aplicaciones(Usa el mixer de windows Estos ajustes se pueden modificar usando el botón config o editando el archivo config.json(se encuentra en el directorio ```\user\AppData\midi2vol\```, se recomienda usar el menu para evitar problemas de parsing en el archivo). +Para que este software funcione jundo con el Nano. Slider tendrás que añadir unas lineas de codigo a tu keymap, o usar este: https://github.com/jesusvallejo/nanokeymaps/ (Incluye el .hex compilado para facilitar el flasheo y probar las funciones del software) + Se incluyen [binarios ](https://github.com/jesusvallejo/Midi2Vol/releases) para su instalación, sin embargo recomiendo que lo compiles tu mismo. Los binarios vienen sin firmar ya que el certificado cuesta anualmente. From dc88a7279cd09150029bf335cc86a5d8dea6b92c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Vallejo?= Date: Wed, 29 Sep 2021 13:07:26 +0200 Subject: [PATCH 10/11] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9d4345e..70747aa 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ In order to make it work you will need to add some code to your keymap,or pehaps Remember to use different hex values. Default volume value is: ```0x3E```. -I'll provice a [binary files](https://github.com/jesusvallejo/Midi2Vol/releases) but i recommend you to compile it by yourself.Binaries are unsigned as the certificate costs money per year. +I'll provice [binary files](https://github.com/jesusvallejo/Midi2Vol/releases) but i recommend you to compile it by yourself.Binaries are unsigned as the certificate costs money per year. It is provided as is, and it comes with no guarantee.(see [Licence](https://raw.githubusercontent.com/jesusvallejo/Midi2Vol/master/LICENSE)) From 1cead85c373b2df4b3e32ed23aa687174915cbd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Vallejo?= Date: Wed, 29 Sep 2021 13:07:39 +0200 Subject: [PATCH 11/11] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 70747aa..b5ddc25 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ In order to make it work you will need to add some code to your keymap,or pehaps Remember to use different hex values. Default volume value is: ```0x3E```. -I'll provice [binary files](https://github.com/jesusvallejo/Midi2Vol/releases) but i recommend you to compile it by yourself.Binaries are unsigned as the certificate costs money per year. +I'll provide [binary files](https://github.com/jesusvallejo/Midi2Vol/releases) but i recommend you to compile it by yourself.Binaries are unsigned as the certificate costs money per year. It is provided as is, and it comes with no guarantee.(see [Licence](https://raw.githubusercontent.com/jesusvallejo/Midi2Vol/master/LICENSE))