Jump to content

Using variables for keywords, possible?


Recommended Posts

Hi,

 

(setf test '((q a4 mf e a4 p e gs4 f  e4 mp g4 p) 
               (q a4 e e gs4 e4 d4)))
(setf one '(1 3))
(dictum '(:remove :event :bar 1 :event one) test)

This gives an error, is there a way to use variables for keywords?

 

Thanks and Happy Easter everybody 🙂

 

Edit: Just checked another function (randomly choosen). Here a variable for a keyword works fine.

My guess is that it has to do with the quotation mark inside the dictum, is there a way around this?

 

(setf test-2  '((q a4 mf e a4 p e gs4 f  e4 mp g4 p) 
               (q a4 e e gs4 e4 d4) 
               (e e4 g4 e4 g4 q a4)))
(setf sec '(0 2))
(pitch-transpose '(7 -5 ) test-2 :section sec)
==>((q e5 e p eb5 f b4 mp d5 p) (q a4 p e e gs4 e4 d4) (e b3 p d4 b3 d4 q e4))

 

Link to comment
Share on other sites

The DICTUM function is design to be the last function you are using in your composition - manual and rule base edit.

Therefore there is no need for variables here.

 

The dictum itself can be a list of variables:

(setf
 3-dm1
 '(
   (:range (7q e.) :apply (dechord x))
   (:range (7q s) :apply marc)
   (:range (h. 1) :apply (pfp2-a pfp))
   (:range (ws 2) :apply (pfp3-a pfp))
   (:any q :apply ponte)
   (:any e :apply ric)
   (:apply marc :bar (1 157))
   ;(:apply spicc :bar (4))
   (:apply mart :bar (178 179 180 181))
   (:butlast leg :bar (158))
   (:apply tasto :bar (53 59 61 156 166 167))
   (:sub (-q) :bar (10 13 21 33 34 35 36)) 
   )
 
 3-dm2
 '((:range (7q e.) :apply (dechord x))
   (:range (7q s) :apply marc)
   (:range (h. 1) :apply (pfp2-a pfp))
   (:range (ws 2) :apply (pfp3-a pfp))
   (:any q :apply ponte)
   (:any e :apply ric)
   (:apply marc :bar (1))
   ;(:apply spicc :bar (4))
   (:apply mart :bar (177))
   (:apply leg :bar (157))
   (:butlast leg :bar (158 170 182))
   (:apply tasto :bar (21 59 60 156 166 167))
   (:sub (-q) :bar (19 39 42 74))
   )
 
 3-dm3
 '(
   (:range (7q e.) :apply (dechord x))
   (:range (7q s) :apply marc)
   (:range (h. 1) :apply (pfp2-a pfp))
   (:range (ws 2) :apply (pfp3-a pfp))
   (:any q :apply ponte)
   (:any e :apply ric)
   (:apply marc :bar (1 3 5 6 7))
   (:apply ric :bar (4))
   (:apply spicc :bar (168))
   (:apply leg :bar (157))
   (:butlast leg :bar (158 182))
   (:apply tasto :bar (21 53 59 60 155 156 166 167))
   (:sub (-q) :bar (39 42 47 50 51 61 68 71))
   )
 
 3-dm4
 '(
   (:range (7q e.) :apply (dechord x))
   (:range (7q s) :apply marc)
   (:range (h. 1) :apply (pfp2-a pfp))
   (:range (ws 2) :apply (pfp3-a pfp))
   (:any q :apply ponte)
   (:any e :apply ric)
   (:apply marc :bar (1))
   ;(:apply ric :bar (4))
   (:apply leg :bar (157))
   (:butlast leg :bar (158 170 182))
   (:apply tasto :bar (53 59 61 155 156 166 167))
   (:sub (-q) :bar (11 12 16 18))
   )
 )

(setf
 3-v1 (dictum 3-dm1 3-v1)
 3-v2 (dictum 3-dm2 3-v2)
 3-v3 (dictum 3-dm3 3-v3)
 3-v4 (dictum 3-dm4 3-v4)
 )

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy