#Tidal GE: Grammatical Evolution of Tidal Mini-Language
This is a web-based API for evolving populations of tidal music patterns. It is primarily intended for use with the extramuros framework. It uses CORS to allow any web service to grab patterns.
##Current setup procedure
Set up my branch of git extramuros by running the
startup.shscript in my git/extramuros branch.
Startup the tomcat server - go to localtomcat/bin and enter ``catalina.sh run''
Open the page 127.0.0.1:8000/jqtest.html - it has a standard exramuros layout, but with extra buttons.
We're running Tomcat 7
###Compiling the parser classes
To compile java to classes, from the
WEB-INF directory, do:
javac -cp ../../../../lib/servlet-api.jar *.java
(not all java classes compile at the moment, but the ones we need do!)
There's a script in WEB-INF/classes called
updateparser.sh that does this for you - note the command is slightly different to the above - so, TODO: check which is the correct method!
sends the pattern to tidal for rendering audio
sends the pattern to the GA population. If the bucket isn't full, it is simply appended with a fitness of one.
includes a parsing step to make sure we aren't pushing rubbish into the population.
requests a mutated individual from the population
`Regulates' a pattern in the population - up increases it's regulation, down decreases it.
The idea is that a population is run in a browser
##Notes on installing from scratch / updating
Needs to be enabled in catatlina using the following code
<filter> <filter-name>CorsFilter</filter-name> <filter-class>org.apache.catalina.filters.CorsFilter</filter-class> </filter> <filter-mapping> <filter-name>CorsFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
I've got this statement in both
webapps/tidalGE/web.xml but I'm not sure which is the correct one..
Require the following entries:
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping>
There are several in tidalGE, used for debugging and testing. Let's list them here: