AM Posted November 17, 2017 Share Posted November 17, 2017 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é Quote Link to comment Share on other sites More sharing options...
torstenanders Posted November 17, 2017 Share Posted November 17, 2017 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 Quote Link to comment Share on other sites More sharing options...
AM Posted November 17, 2017 Author Share Posted November 17, 2017 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 Quote Link to comment Share on other sites More sharing options...
Stephane Boussuge Posted November 17, 2017 Share Posted November 17, 2017 Somewhere on this forum, there is an example from Janusz on how to implement the seed in you own function... S. Quote Link to comment Share on other sites More sharing options...
opmo Posted November 17, 2017 Share Posted November 17, 2017 You can find how to use the RND-SEED in the documentation. You need to explore bit more the system 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. Quote Link to comment Share on other sites More sharing options...
AM Posted November 17, 2017 Author Share Posted November 17, 2017 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 thanx for help - torsten, stéphane & janusz JulioHerrlein 1 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.