Skip to content

Commit

Permalink
automatic predicates for all events
Browse files Browse the repository at this point in the history
  • Loading branch information
the-drunk-coder committed Aug 6, 2018
1 parent e24c859 commit b15e646
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 18 deletions.
5 changes: 4 additions & 1 deletion megra-event-base.lisp
Expand Up @@ -254,7 +254,10 @@
',parent-keyword-parameter-names
',(mapcar #'cadr parent-keyword-parameters))
(print-tags (event-tags evt))
(print-combi-fun (value-combine-function evt))))))))
(print-combi-fun (value-combine-function evt)))))
;; define event predicate for filters
(defun ,(read-from-string (concatenate 'string (symbol-name short-name) "-" (symbol-name 'p))) (event)
(typep event ',class-name )))))
;; end event definition macro ...

;; another macro if you want to make an event available under a different
Expand Down
7 changes: 0 additions & 7 deletions megra-event-filters.lisp
Expand Up @@ -3,17 +3,10 @@
;; some default event filters
(defmethod all-p ((e event) &key) t)

(defmethod transition-p ((e event) &key)
(typep e 'transition))

(defun snare-p (event)
(or (member 'snare (event-tags event))
(member 'sn (event-tags event))))

(defun bd-p (event)
(or (member 'bassdrum (event-tags event))
(member 'bd (event-tags event))))

(defun ride-p (event)
(member 'ride (event-tags event)))

Expand Down
21 changes: 11 additions & 10 deletions megra-playground.megra
Expand Up @@ -8,11 +8,13 @@

(clear)

(typep (saw 100) 'saw-event)

(pring 'bass4 t)

(event-source (growth 'bass4 0.3))

x(pull-events (gethash 'bass-2 *chain-directory*))
(pull-events (gethash 'bass-2 *chain-directory*))

(handle-events 0)

Expand All @@ -26,17 +28,16 @@ x(pull-events (gethash 'bass-2 *chain-directory*))

(global-resources 30)

(chain 'bass-2 ()
(exh 100 sn)
(cc 80 (lvl 0.0) :f #'sn-p)
(lim 'lvl 0.3 0.4)
(lmctrl 0.4 'loop 15 :lifespan 18)
;;(probctrl 0.7 11 10 'triloop)
(s 'bass-2 ()
(inh 50 sn)
(inh 50 bd)
;;(lmctrl 0.4 'loop 15 :lifespan 18)
(probctrl 0.1 11 10 'triloop)
(nuc 'bass4
(list
(bd '|909| :lp-dist 1.0)
(sn '|78| :rev 0.01)
(saw 100 :dur 70 :rel 60 :lp-dist 1.0 :lp-freq 500))
(bd '|909| :lp-dist 0.0 :lvp 0.3)
(sn '|78| :rev 0.01 :lvl 0.3)
(saw 100 :dur 70 :rel 60 :lp-dist 1.0 :lp-freq 500 :lvl 0.3))
:gap 100 :reset t))

(s 'hat (:sync-to 'bass-2)
Expand Down

0 comments on commit b15e646

Please sign in to comment.