JoostVK Posted January 19, 2015 Share Posted January 19, 2015 Dear creators of Opusmodus,I'm currently trying out the demo, so I'm in the first stages of getting to know OM.I'm trying to do a very simple referral to a variable to make an OMN-snippet, but I get all sorts of error codes from the listener. Even to the point that copying some of the tutorial code, and replacing the names of the variables makes the code generate errors...?Here's the example, so any help or suggestion is welcome:(example is based on 'stage2'-code, I only replaced the names of the variables):(setf p_arp0 '(c4 cs4 fs4 g4 c5)) (setf l_arp0 (span p_arp0 '(e))) (setf d_arp0 '(p< < < < ff)) (setf arpeg0 (make-omn :length l_arp0 :pitch p_arp0 :velocity d_arp0))when I evaluate the snippet with the original variables, being 'pitches', 'length' and so on, it works. When I use my own names, however, like in the pasted example, it gives the following error code:"> Error: OMN Parse Error: (annotate (parse-omn-audition-phrase) (fail nil ((setf l_arp0 (span p_arp0 '(e))) (setf d_arp0 '(p< < < < ff)) (setf arpeg0 (make-omn length l_arp0 pitch p_arp0 velocity d_arp0))))) > While executing: omn-audition-to-ast, in process Listener-1(6). > Type cmd-. to abort, cmd-\ for a list of available restarts. > Type :? for other options. 5 >"or it shows just any previous evaluation in the Assistant (ignoring the fact that I changed some notes,...)Another case:this example works:(setf arp1 '(w eb4e4gs4a4d5 arp)) this doesn't:(setf p_arp1 '(eb4e4gs4a4d5) (setf arp1 '(w p_arp1 arp)) Is there a certain way to name variables? Is there any interference with program-keywords? It would be a vital function, since I compose on paper mostly using a system of variable-substition to keep economy in my material.Could you please help. I can't find anywhere in the documentation what I'm doing wrong. I'm seriously interested in using/buying Opusmodus...Greetings from Brussels, Joost Van kerkhoven Quote Link to comment Share on other sites More sharing options...
opmo Posted January 19, 2015 Share Posted January 19, 2015 (edited) The snippet notation and audition is working and I don't see here any error.To hear or display the arpeg0 expression, evaluate the p_arp0, l_arp0 and d_arp0 first, then select the expression:(setf p_arp0 '(c4 cs4 fs4 g4 c5)) (setf l_arp0 (span p_arp0 '(e))) (setf d_arp0 '(p< < < < ff)) (setf arpeg0 (make-omn :length l_arp0 :pitch p_arp0 :velocity d_arp0))You can't put a variable into OMN form list.(setf p_arp1 '(eb4e4gs4a4d5)) (setf arp1 '(w p_arp1 arp))This is correct:(w eb4e4gs4a4d5 arp)Check the OMN The Language documents.As for variable assembly please check the ASSEMBLE-SECTION and ASSEMBLE-SEQ function documents. You find the documents in the System Library - 1st button on the right - or use the search input - last button on the right. Edited July 27, 2015 by opmo Quote Link to comment Share on other sites More sharing options...
JoostVK Posted January 20, 2015 Author Share Posted January 20, 2015 Thanks! It was the evaluation that of the first expressions that was lacking. I just selected everything and launched 'snipped - notation', but indeed, first evaluating sounds logical. I'll have a look at the 'assemble'-commands! Thanks & greetings! Quote Link to comment Share on other sites More sharing options...
JoostVK Posted January 21, 2015 Author Share Posted January 21, 2015 Hi,I'd like to ask if, in the not too far future, there could be some tutorials on the LISP-side of Opusmodus... I studied a littlebit this documentation on assemble-seq a.o. and I figured out that my problem above was solvable with using the 'list' and 'flatten' commands, which made me conclude, in the end, that a rather thorough knowledge of Common Lisp is necessary...The 'stages' and video-tutorials are interesting, but allow me two remarks: first, they are very 'applied', which makes it hard to translate them to other situations, and secondly many of them are strongly biased to generative algoritms, with all possible variations of random or other mathematics-based generation... while this is interesting and all, there exists already a lot of software, like Openmusic to solve those problems.Since you advertise yourself as exactly positioning 'in between' generative software and score-writers, it'd be very helpful to have some more documentation on that middle-ground focus.Sorry for all this comment, but I just wanted to share my '50 cents'... On the one hand, I think you guys made a wonderfull, maybe truly innovative program, on the other hand, my first experiences are a lot of error and some littlebit of trial, mainly because the way lisp and opusmodus coöperate is hard to figure out from the documentation...Starting for example with the little detail that you need to press 'evaluate' before variables are recognized... I'd like some more tips and tricks on those aspects of the program. Meanwhile I'm turbo-reading a LISP-course.Thanks anyway in advance for all the help!Greetings, Joost Quote Link to comment Share on other sites More sharing options...
opmo Posted January 21, 2015 Share Posted January 21, 2015 Thank you Joost for your analyses. I too think we might need a short introduction to Common Lisp. In the video section you will find two 'Getting Started' videos. One of them talks about exactly that - basis lisp and how to use. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.