Jump to content
Sign in to follow this  
AM

saving the output (omn) in a seperat file

Recommended Posts

hi all

 

is there a possibility to SAVE my output - the OMN-lists - (rnd-generated structures) in a seperate file? that by EVALUATION the OMN-lists will be written in a sepeart/new-generated file? 

...so that i have not to re-import it via MIDI (makes a lot of strange rhythms)

 

thanks for help

andré

Share this post


Link to post
Share on other sites

Randomly created data can be recreated if you fix a seed. It is very handy that Opusmodus supports setting a seed for all its randomised functions (in contrast to pretty much all other composition systems). You can initialise the seed with init-seed. See also 

 

 

This feature probably makes it unnecessary for you to save/read files. If you still want to write to and read from text files, the Common Lisp macro with-open-file is your friend.  

 

For more details see the following links

 

Textbook

http://www.gigamonkeys.com/book/files-and-file-io.html

 

Cookbook with examples 

http://cl-cookbook.sourceforge.net/files.html

 

Language reference

http://clhs.lisp.se/Body/m_w_open.htm

 

Best,

Torsten

 

Share this post


Link to post
Share on other sites

thank you, torsten - the problem is, that i'm working with my own random/pick-functions which don't work with SEED - so, that's my fault/problem :thinking:

Share this post


Link to post
Share on other sites

You can find how to use the RND-SEED in the documentation. You need to explore bit more the system :smile:
Function example using RND-SEED function:

(defun rnd-number* (n low high &key seed)
  (do-verbose ("rnd-number*")
    (rnd-seed seed)
    (if (zerop n) nil
      (cons (round (+ low (rnd-round 0 (- high low) :seed (seed))))
            (rnd-number* (decf n) low high :seed (seed))))))

Each time we evaluate the expression we get a different result.
(rnd-number* 12 0 5)
=> (0 3 2 5 3 3 4 3 2 2 4 4)
 
Adding seed to the expression will produce always the same result.
(rnd-number* 12 0 5 :seed 45)
=> (2 2 5 4 5 0 5 3 5 3 1 1)

 

If you need more help please let me know.

Share this post


Link to post
Share on other sites

yes, i know - i love to code a lot of things myself, and at the moment i'm not very virtuous in it. but I have found a solution - without rebuilding my big programs. with

(pprint-last-score)

i can read and save the OMN, after evaluating and exporting xml/midi. so you were right, janusz, the solution was in the SYSTEM FUNCTIONS :smile:

thanx for help - torsten, stéphane & janusz

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×