Enhancement/Improvement in P5.Touchgui Library - GSOC 2020

Hi, I am Vishal Singh and I’m pursuing my graduation in Computer Science At Harcourt Butler Technical University in India.I have been using p5.js from last one year and made few contribution to p5.js. I was going through p5.js library and I encounter with P5.TouchGui which was part of previous gsoc’19 project made by Carlos Gracio(l05). Currently p5.touchgui has Button, Toggle, Checkbox, GuiSlider, GuiSliderV, GuiCrossfader / GuiCrossfaderV, GuiSlider2d, GuiJoystick as its componenet .I had a little conversation with Carlos Gracio(l05) regarding the possible feature enhancement.

Here are the Overview of the possible Feature Enhancement/Improvement in p5.touchgui library :

  • Gui Object
  1. Pad Bank :- The Pads object is a two-dimensional array of buttons (up to 16x16). They are intended to trigger events instead of represent state, since they eventually return to an ‘off’ value after you touch them. You can set colour and labels for the whole array or for each individual cell.
    Kind of like the functional equivalent of an MPC/MPD or Launchpad, two tactile digital music interfaces.

  2. TextField :- The Text Object produces no data when you touch it. Its purpose is to display arbitrary text including whitespace characters.

  3. Radio Button :- A radio button or option button which allows to choose only one among the option. It can be implemented by using page/group property which is to be implemented.

  4. Range Slider :- A horizontal Slider that has range depicted as label on it and it can be touched or clicked and dragged side to side to change its value.

  5. Color Picker :- A gui colorPicker which can be used to select the color and it will return color/color Object.

  • Gui Style
  1. loadStyleJson() :- Implementing the loadStyleJson() method which enable to load the style from the external json file.

  2. More Preset Style :- Developing more color palettes. Currently p5.touchgui contains Gray(), Rose(), SeaFoam(), Blue(), TerminalGreen(), TerminalRed(), TerminalBlue(), TerminalYellow(), TerminalMagenta. Extending the Collection of preset style.

  3. Page/Group Property(High Priority Feature) :- Implementation of Page/Group property in GuiObject Class. this property enable to grouped the guiObject and toggle together. This will also help to set the Style of same Grouped Object.

  • Documentation
  1. Documentation is required for the prototype method, context method, all objects and essential method, this will help the beginners to understand the code easily.
  • Example
  1. Implementing more Interractive Examples because Examples are the best to portrait about what a library can do.

@lmccart @shiffman @jeremydouglass @saberkhan any guidance would be appreciated.
Could you please mention whom to contact because in idea list page @shiffman is mentioned as mentor ?

Thanks and Regard.

1 Like

Hey @jeremydouglass, I want to propose a project on above thread. I had little conversation with Carlos (l05) who built the p5.touchgui as gsoc’19 project.Could you please tell which mentor to contact?

Hi @singhvisha – thanks for your interest in this project. These are some exciting ideas! I am not the GSOC coordinator – see @saberkhan. Also check the mentors listed under projects on GSOC 2020 (Google Summer of Code). You may want to contact the mentor that worked with Carlos – mentors are often selected after applications are accepted, but past mentors can still give good feedback whether or not they will participate again.

@jeremydouglass, I want to ask another question, Should I start making proposal?

Hey late to the game here. We don’t know who the mentors will be. it will depend on multiple factors that are beyond our control. I do recommend you put in a proposal. Good luck.

1 Like