Hi!
I've finally managed to get time to finish a prototype for a keyboard navigation interface. I mixed some ideas i had with some I've seen in Desire Data's old screenshot gallery (http://artengine.ca/desiredata/).
I've recorded some gifs to demonstrate it. (https://imgur.com/gallery/WSB40P7). It shows me using the help patch (which i've put in 7.stuff/keyboard.navigation). You can read about which keys to use in the comments.
The source can be found on my GitHub, on the kbd_nav branch (https://github.com/HenriAugusto/pure-data/tree/kbd_nav)
Basically I've wanted to try:
- navigating through objects/inelts connection with ctrl+arrows (cmd+arrows on Mac) - automatically positioning new objects according to selected inlet/outlet - a console bar to send messages to the focused patch - ability to display each object index (to be used with the functionalities below) - a new "goto" canvas message to select any object in the patch - a "magnetic connector" that connects the selected in/outlet to the nearest ins/outs - a "digit connectors" that displays indexes 0 to 9 for the 10 nearest possible connections. Just press the number and it will connect it for you - pd can automatically fill for you a "connect" message in the console containing the info for the selected inlet/outlet. It will even select for you the part you need to fill - You can click objects with shift+enter. Mostly useful for sending bangs and opening subpatches/abstractions
Everything is intended to be as minimal as possible and very easy to use. I wish to propose we study including it in vanilla.
Well, what do you guys think?
This is my first time working on a project this big so help me out if i did anything incorrectly. I've been testing the major functions on Win for a while now but couldn't test on mac/linux.
Cheers, Henri.
When trying to build on Debian I get this errors:
''
g_text.c: In function ‘canvas_howputnew’: g_text.c:166:40: error: ‘struct _kbdnav’ has no member named ‘kn_navigating’ if ( x->gl_editor->e_kbdnav.kn_navigating && x->gl_editor->e_kbdnav.kn_ioindex > 0 ){ ^ g_text.c: In function ‘canvas_obj’: g_text.c:237:41: error: ‘struct _kbdnav’ has no member named ‘kn_navigating’ if ( gl->gl_editor->e_kbdnav.kn_navigating && gl->gl_editor->e_kbdnav.kn_ioindex != 0 ){ ^ g_text.c: At top level: cc1: warning: unrecognized command line option ‘-Wno-format-truncation’ cc1: warning: unrecognized command line option ‘-Wno-stringop-truncation’ cc1: warning: unrecognized command line option ‘-Wno-cast-function-type’
''
Mensaje telepatico asistido por maquinas.
On 6/7/19 11:52 PM, Henri Augusto Bisognini wrote: Hi!
I've finally managed to get time to finish a prototype for a keyboard navigation interface. I mixed some ideas i had with some I've seen in Desire Data's old screenshot gallery (http://artengine.ca/desiredata/).
I've recorded some gifs to demonstrate it. (https://imgur.com/gallery/WSB40P7). It shows me using the help patch (which i've put in 7.stuff/keyboard.navigation). You can read about which keys to use in the comments.
The source can be found on my GitHub, on the kbd_nav branch (https://github.com/HenriAugusto/pure-data/tree/kbd_nav)
Basically I've wanted to try:
- navigating through objects/inelts connection with ctrl+arrows (cmd+arrows on Mac) - automatically positioning new objects according to selected inlet/outlet - a console bar to send messages to the focused patch - ability to display each object index (to be used with the functionalities below) - a new "goto" canvas message to select any object in the patch - a "magnetic connector" that connects the selected in/outlet to the nearest ins/outs - a "digit connectors" that displays indexes 0 to 9 for the 10 nearest possible connections. Just press the number and it will connect it for you - pd can automatically fill for you a "connect" message in the console containing the info for the selected inlet/outlet. It will even select for you the part you need to fill - You can click objects with shift+enter. Mostly useful for sending bangs and opening subpatches/abstractions
Everything is intended to be as minimal as possible and very easy to use. I wish to propose we study including it in vanilla.
Well, what do you guys think?
This is my first time working on a project this big so help me out if i did anything incorrectly. I've been testing the major functions on Win for a while now but couldn't test on mac/linux.
Cheers, Henri.
N�n�r����)em�h�yhiם�w^���
Sorry, it seems that i've uploaded the wrong "g_text.c" version to the kbd_nav branch. I should be fixed now.
________________________________ De: Lucas Cordiviola lucarda27@hotmail.com Enviado: sábado, 8 de junho de 2019 01:10 Para: Henri Augusto Bisognini; pd-dev@lists.iem.at Assunto: Re: [PD-dev] First complete keyboard navigation prototype
When trying to build on Debian I get this errors:
''
g_text.c: In function ‘canvas_howputnew’: g_text.c:166:40: error: ‘struct _kbdnav’ has no member named ‘kn_navigating’ if ( x->gl_editor->e_kbdnav.kn_navigating && x->gl_editor->e_kbdnav.kn_ioindex > 0 ){ ^ g_text.c: In function ‘canvas_obj’: g_text.c:237:41: error: ‘struct _kbdnav’ has no member named ‘kn_navigating’ if ( gl->gl_editor->e_kbdnav.kn_navigating && gl->gl_editor->e_kbdnav.kn_ioindex != 0 ){ ^ g_text.c: At top level: cc1: warning: unrecognized command line option ‘-Wno-format-truncation’ cc1: warning: unrecognized command line option ‘-Wno-stringop-truncation’ cc1: warning: unrecognized command line option ‘-Wno-cast-function-type’
''
Mensaje telepatico asistido por maquinas.
On 6/7/19 11:52 PM, Henri Augusto Bisognini wrote: Hi!
I've finally managed to get time to finish a prototype for a keyboard navigation interface. I mixed some ideas i had with some I've seen in Desire Data's old screenshot gallery (http://artengine.ca/desiredata/).
I've recorded some gifs to demonstrate it. (https://imgur.com/gallery/WSB40P7). It shows me using the help patch (which i've put in 7.stuff/keyboard.navigation). You can read about which keys to use in the comments.
The source can be found on my GitHub, on the kbd_nav branch (https://github.com/HenriAugusto/pure-data/tree/kbd_nav)
Basically I've wanted to try:
- navigating through objects/inelts connection with ctrl+arrows (cmd+arrows on Mac) - automatically positioning new objects according to selected inlet/outlet - a console bar to send messages to the focused patch - ability to display each object index (to be used with the functionalities below) - a new "goto" canvas message to select any object in the patch - a "magnetic connector" that connects the selected in/outlet to the nearest ins/outs - a "digit connectors" that displays indexes 0 to 9 for the 10 nearest possible connections. Just press the number and it will connect it for you - pd can automatically fill for you a "connect" message in the console containing the info for the selected inlet/outlet. It will even select for you the part you need to fill - You can click objects with shift+enter. Mostly useful for sending bangs and opening subpatches/abstractions
Everything is intended to be as minimal as possible and very easy to use. I wish to propose we study including it in vanilla.
Well, what do you guys think?
This is my first time working on a project this big so help me out if i did anything incorrectly. I've been testing the major functions on Win for a while now but couldn't test on mac/linux.
Cheers, Henri.
N�n�r����)em�h�yhiם�w^���
Right, i could finish the build.
Here on my linux box (Debian9 Xfce) everything is working except the < ctrl+'> (control + single quote) to enter the "canvas message console". I can enter it as explained in "connecting_with_the_canvas_msg_console".
Feature request:
I found it difficult to see which cable is selected.
I suggest making the selected cable "Thicker" or something that makes it more visually obvious.
:)
Mensaje telepatico asistido por maquinas.
On 6/8/19 1:23 AM, Henri Augusto Bisognini wrote: Sorry, it seems that i've uploaded the wrong "g_text.c" version to the kbd_nav branch. I should be fixed now.
________________________________ De: Lucas Cordiviola lucarda27@hotmail.commailto:lucarda27@hotmail.com Enviado: sábado, 8 de junho de 2019 01:10 Para: Henri Augusto Bisognini; pd-dev@lists.iem.atmailto:pd-dev@lists.iem.at Assunto: Re: [PD-dev] First complete keyboard navigation prototype
When trying to build on Debian I get this errors:
''
g_text.c: In function ‘canvas_howputnew’: g_text.c:166:40: error: ‘struct _kbdnav’ has no member named ‘kn_navigating’ if ( x->gl_editor->e_kbdnav.kn_navigating && x->gl_editor->e_kbdnav.kn_ioindex > 0 ){ ^ g_text.c: In function ‘canvas_obj’: g_text.c:237:41: error: ‘struct _kbdnav’ has no member named ‘kn_navigating’ if ( gl->gl_editor->e_kbdnav.kn_navigating && gl->gl_editor->e_kbdnav.kn_ioindex != 0 ){ ^ g_text.c: At top level: cc1: warning: unrecognized command line option ‘-Wno-format-truncation’ cc1: warning: unrecognized command line option ‘-Wno-stringop-truncation’ cc1: warning: unrecognized command line option ‘-Wno-cast-function-type’
''
Mensaje telepatico asistido por maquinas.
On 6/7/19 11:52 PM, Henri Augusto Bisognini wrote: Hi!
I've finally managed to get time to finish a prototype for a keyboard navigation interface. I mixed some ideas i had with some I've seen in Desire Data's old screenshot gallery (http://artengine.ca/desiredata/).
I've recorded some gifs to demonstrate it. (https://imgur.com/gallery/WSB40P7). It shows me using the help patch (which i've put in 7.stuff/keyboard.navigation). You can read about which keys to use in the comments.
The source can be found on my GitHub, on the kbd_nav branch (https://github.com/HenriAugusto/pure-data/tree/kbd_nav)
Basically I've wanted to try:
- navigating through objects/inelts connection with ctrl+arrows (cmd+arrows on Mac) - automatically positioning new objects according to selected inlet/outlet - a console bar to send messages to the focused patch - ability to display each object index (to be used with the functionalities below) - a new "goto" canvas message to select any object in the patch - a "magnetic connector" that connects the selected in/outlet to the nearest ins/outs - a "digit connectors" that displays indexes 0 to 9 for the 10 nearest possible connections. Just press the number and it will connect it for you - pd can automatically fill for you a "connect" message in the console containing the info for the selected inlet/outlet. It will even select for you the part you need to fill - You can click objects with shift+enter. Mostly useful for sending bangs and opening subpatches/abstractions
Everything is intended to be as minimal as possible and very easy to use. I wish to propose we study including it in vanilla.
Well, what do you guys think?
This is my first time working on a project this big so help me out if i did anything incorrectly. I've been testing the major functions on Win for a while now but couldn't test on mac/linux.
Cheers, Henri.
N�n�r����)em�h�yhiם�w^���
_______________________________________________ Pd-dev mailing list Pd-dev@lists.iem.atmailto:Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev
Lucas Cordiviola wrote:
> Right, i could finish the build. > > Here on my linux box (Debian9 Xfce) everything is working except the < ctrl+'> (control + single quote) to enter the "canvas message console". I can enter it as explained in > "connecting_with_the_canvas_msg_console". > > Feature request: > > I found it difficult to see which cable is selected. > I suggest making the selected cable "Thicker" or something that makes it more visually obvious.
About the hotkey: Oh, there was an typo on the help patch! It is really shift+'
(in reality the hotkey is bind to "quotedbl" in "pd_bindings.tcl", hence the shift+single quote)
About the cables: yeah, i've also found it difficult. I've tought about making it thicker but i was afraid it would make some confusion with signal cables. I've also thought about using different colors but since PD uses black (+gray), white and blue i've avoided, for now, using other colors.
When cycling between more than one cable I've tried to display the selected cable in blue, making the non-selected cables gray. It helps a little bit but i still think we need some that highlights it better.
Some ideas up for discussion (in no particular order)
- Using green to make it more contrasting with the rest. - Making the line thicker and also green to avoid confusion with signal chords. - Making the line thicker and using a dashed pattern - Displaying like with the normal black fill but with an blue outline. (also it would be thicker as a result)
There is one option that always struck me as something that would be nice that is animating stuff to make them easier to see. But nothing in PD is animated so far so right know i'm considering the other options.
What do you think?
As for the cables highlight may be this:
Displaying like with the normal black fill but with an blue outline. (also it would be thicker as a result)
As for animating stuff I prefer not.
Feature request:
Make TAB a shortcut to "goto x++" and SHIFT+TAB "goto x--". This is how web browsers handle navigation on pages. So pressing TAB will navigate through objects. This (i think) will make it easier to patch with the keyboard.
I like very much your work, patching with the keyboard is something we are not "used to" but now with this PR + "intelligent patching" + "auto-patching" we got almost all we need (probably all we need).
:)
Mensaje telepatico asistido por maquinas.
On 6/9/19 4:10 PM, Henri Augusto Bisognini wrote: Lucas Cordiviola wrote:
> Right, i could finish the build. > > Here on my linux box (Debian9 Xfce) everything is working except the < ctrl+'> (control + single quote) to enter the "canvas message console". I can enter it as explained in > "connecting_with_the_canvas_msg_console". > > Feature request: > > I found it difficult to see which cable is selected. > I suggest making the selected cable "Thicker" or something that makes it more visually obvious.
About the hotkey: Oh, there was an typo on the help patch! It is really shift+'
(in reality the hotkey is bind to "quotedbl" in "pd_bindings.tcl", hence the shift+single quote)
About the cables: yeah, i've also found it difficult. I've tought about making it thicker but i was afraid it would make some confusion with signal cables. I've also thought about using different colors but since PD uses black (+gray), white and blue i've avoided, for now, using other colors.
When cycling between more than one cable I've tried to display the selected cable in blue, making the non-selected cables gray. It helps a little bit but i still think we need some that highlights it better.
Some ideas up for discussion (in no particular order)
- Using green to make it more contrasting with the rest. - Making the line thicker and also green to avoid confusion with signal chords. - Making the line thicker and using a dashed pattern - Displaying like with the normal black fill but with an blue outline. (also it would be thicker as a result)
There is one option that always struck me as something that would be nice that is animating stuff to make them easier to see. But nothing in PD is animated so far so right know i'm considering the other options.
What do you think?
_______________________________________________ Pd-dev mailing list Pd-dev@lists.iem.atmailto:Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev
oops, this feature is already covered on "intelligent patching amendments #575"
Mensaje telepatico asistido por maquinas.
On 6/10/2019 5:15 AM, Lucas Cordiviola wrote:
Feature request:
Make TAB a shortcut to "goto x++" and SHIFT+TAB "goto x--". This is how web browsers handle navigation on pages. So pressing TAB will navigate through objects. This (i think) will make it easier to patch with the keyboard.