Started to look at the grid music programs and found that the controlP5 library has been updated and some of the features need to be changed to reflect the updated library. The first that we found is that Radio cannot be used anymore. It needs to be a RadioButton and that fixes that problem with the updated library.
After fixing the problem above we decided to move forward through the updating of the program and realized that the cast method cannot be used with controller in the updated library. At the present moment we are still trying to figure out how to fix this problem.
Continued working on the problem with the casting of a Radio through the use of the controller. Finally realized that this is impossible to do, so at the moment the code is commented out at the bottom of the method in a different else statement. The update library decided to change the inheritance of the features. For this problem the Radio feature comes this way.
The controller was originally added in this inheritance sequence shown above, but in the new updated library it is this way.
After realizing this the next step is to find a way to get the same idea done, but in a different way that follows this new updated library.
After that we moved on to the next error, which in the scale file contains the variable note. Note is not initialized anywhere in the file or in any other file that makes up the program grid music. We decided to change that variable to root and this makes the program compile. Next it tries to load the program and when it does the application crashes right away. This is due to a couple of issues:
Looked through the program again trying to debug the program. As we moved through the code we realized that PD2 is not supported anymore by Processing. This is different than before. We also looked at older versions of the program and learned that the version that we are attempting work with was updated to be more efficient and for some reason that updated version contains some variables that we have no idea where they came from. This was shown in the scale file where note came out of the middle of nowhere. It was not initialized nor was it inherited. This made it difficult to update, because we had no idea where it was coming from. So we changed it to newNotes, which is initialized in the class. As we learned more about what libraries that were not supported in the updated Processing it led us to look into new libraries that contained machine learning neural networks and pure data that worked with Processing.
I looked for libraries on the Processing libraries site for Machine Learning Neural Networks and pure data. I learned that there are none on the website for neural networks. I decided to do some more research and found the Encog Machine Learning Framework. The website is here: Encog. Then I went through the whole Introduction on Clojure and getting started. I tried to install the Clojure IDE into the terminal through the use of the lean script and putting it in my bin folder, but for some reason it never worked. I just decided to use the online IDE that is provided on the Clojure website to go through the introduction and getting started. The Clojure language is quite different than the rest, but is quite interesting on how it makes the code so much smaller in the number of lines and carries out the rest of the code.
Read through the ANN's article reviewing how neural networks work. Then finished up my understandings of the Clojure language. Searching and looking over articles that I could find. Then attempted again to install the lein.txt file again and could not figure it out. Then I started to look at the open frameworks introduction and read through it and started to work through it.
Finally figured out how to install lein into the terminal. To do so you first have to install home brew and then after that use the brew function to install lein. This finally worked. Then I went through the whole introduction and getting started using the terminal to make sure that I understood it well. Here are the links to Homebrew and Clojure Intro.
Here is another intro that was helpful: Introduction on Tumbler
The next step was to learn openFrameworks. The link to the introduction is here:
Finally, GridMusic runs correctly when we moved the controls and Grid into one window. The next step is to see if we can use OSC to send note/duration paris to another program rather than using minim.