From 9d9abbef2c3c3b74c001e59be6b8e23c5f6482e6 Mon Sep 17 00:00:00 2001 From: algomusic Date: Mon, 14 Nov 2016 13:33:00 +1000 Subject: [PATCH 1/2] Uopdates --- grammars/extempore.cson | 2 +- snippets/xtlang-atom.cson | 26 +++++++++++++++++++++----- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/grammars/extempore.cson b/grammars/extempore.cson index 849c994..792414b 100644 --- a/grammars/extempore.cson +++ b/grammars/extempore.cson @@ -78,7 +78,7 @@ patterns: [ name: "constant.language.extempore" } { - match: "\\b(cons|car|cdr|cadr|caddr|cadddr|cond|lambda|quote|eval|append|list|vector|member|load|begin|map|apply|for-each|println|printf|print|rmatch|rsplit|rreplace|cosd|tand|sind|coshd|tanhd|sinhd|acosd|asind|atand|atan2d|ceild|floord|expd|fmodd|powd|logd|log2d|log10d|sqrtd|fabsd|clearerr|ctermid|fclose|fdopen|feof|ferror|fflush|fgetc|fgets|fileno|flockfile|fopen|fputc|fputs|fread|freopen|fseek|ftell|ftrylockfile|funlockfile|fwrite|getc|getchar|getc_unlocked|getchar_unlocked|gets|getw|pclose|perror|popen|putc|putchar|putc_unlocked|putchar_unlocked|puts|putw|remove|rename|rewind|setbuf|setvbuf|tempnam|tmpfile|tmpnam|ungetc|atof|atoi|atol|memccpy|memchr|memcmp|memcpy|memmove|memset|strcat|strchr|strcmp|strcoll|strcpy|strcspn|strdup|strerror|strlen|strncat|strncmp|strncpy|strpbrk|strrchr|strspn|strstr|strtok|strtok_r|strxfrm|base64_encode|base64_decode|cname_encode|cname_decode|swap64f|unswap64f|swap32f|unswap32f|swap64i|unswap64i|swap32i|unswap32i|thread_fork|thread_fork|thread_join|thread_kill|thread_self|thread_sleep|mutex_create|mutex_destroy|mutex_lock|mutex_unlock|mutex_trylock|callback|modulo|random |play-midi-note|mplay|inexact->exact|pm_send|min |max |cosr)\\b" + match: "\\b(cons|car|cdr|cadr|caddr|cadddr|cond|lambda|quote|eval|append|list|vector|member|load|begin|map|apply|for-each|println|printf|print|rmatch|rsplit|rreplace|cosd|tand|sind|coshd|tanhd|sinhd|acosd|asind|atand|atan2d|ceild|floord|expd|fmodd|powd|logd|log2d|log10d|sqrtd|fabsd|clearerr|ctermid|fclose|fdopen|feof|ferror|fflush|fgetc|fgets|fileno|flockfile|fopen|fputc|fputs|fread|freopen|fseek|ftell|ftrylockfile|funlockfile|fwrite|getc|getchar|getc_unlocked|getchar_unlocked|gets|getw|pclose|perror|popen|putc|putchar|putc_unlocked|putchar_unlocked|puts|putw|remove|rename|rewind|setbuf|setvbuf|tempnam|tmpfile|tmpnam|ungetc|atof|atoi|atol|memccpy|memchr|memcmp|memcpy|memmove|memset|strcat|strchr|strcmp|strcoll|strcpy|strcspn|strdup|strerror|strlen|strncat|strncmp|strncpy|strpbrk|strrchr|strspn|strstr|strtok|strtok_r|strxfrm|base64_encode|base64_decode|cname_encode|cname_decode|swap64f|unswap64f|swap32f|unswap32f|swap64i|unswap64i|swap32i|unswap32i|thread_fork|thread_fork|thread_join|thread_kill|thread_self|thread_sleep|mutex_create|mutex_destroy|mutex_lock|mutex_unlock|mutex_trylock|callback|modulo|random |play-midi-note|mplay|inexact->exact|pm_send|min |max |cosr|list-ref|real->integer|rotate)\\b" name: "support.function.extempore" } { diff --git a/snippets/xtlang-atom.cson b/snippets/xtlang-atom.cson index ac0595e..c0fc3de 100644 --- a/snippets/xtlang-atom.cson +++ b/snippets/xtlang-atom.cson @@ -294,13 +294,13 @@ body: "(metplay ${1:metro} ${2:device} ${3:pitch} ${4:vel} ${5:dur} ${6:ch})" "mplay": prefix: "mplay " - body: "(mplay ${1:device} ${2:pitch} ${3:vel} ${4:dur} ${5:0})" + body: "(mplay ${1:device} ${2:pitch} ${3:vel} ${4:dur} ${5:ch})" "midi-play-chord": prefix: "mpchord " body: ''' (for-each (lambda (p) - (mplay ${1:device} p ${2:vel} ${3:dur} ${4:channel})) - (pc:make-chord ${5:lower} ${6:upper} ${7:voices} ${8:'(0 2 4 5 7 9 11)})) + (mplay ${1:device} p ${2:vel} ${3:dur} ${4:ch})) + (pc:make-chord ${5:lower} ${6:upper} ${7:voices} ${8:'(0 2 5 7 9)})) ''' "nargs-test": prefix: "ifnargs " @@ -392,6 +392,9 @@ play: prefix: "play " body: "(play ${1:inst} ${2:60} ${3:80} ${4:dur})" + "pm-send": + prefix: "pms" + body: "(pm_send ${1:device} ${2:*midi-cc*} ${3:ch} ${4:a} ${5:b})" pref: prefix: "pref " body: "(pref$1 ${2:dat} ${3:index})" @@ -478,13 +481,26 @@ (define ${1:fun-name} (lambda (beat dur lst inc) $0 - (mplay ${6:device} (car lst) 100 dur 0) + (mplay ${6:device} (car lst) 50 dur ${7:0}) (callback (*metro* (+ beat (* .5 dur))) '$1 (+ beat dur) dur (rotate lst inc) inc))) - ($1 (*metro* 'get-beat ${2:4}) ${3:1/4} ${4:'(60)} ${5:1}) + ($1 (*metro* 'get-beat ${2:4}) ${3:1/4} ${4:'(60)} ${5:-1}) ''' +"temporal-recursion-rotate-velocity": + prefix: "trrv " + body: ''' + (define ${1:fun-name} + (lambda (beat dur lst inc vel) + $0 + (mplay ${7:device} (car lst) (cosr vel 10 1) dur ${8:0}) + (callback (*metro* (+ beat (* .5 dur))) '$1 (+ beat dur) dur + (rotate lst inc) + inc + vel))) + ($1 (*metro* 'get-beat ${2:4}) ${3:1/4} ${4:'(60)} ${5:-1} ${6:20}) + ''' "temporal-recursion-metro-with-note-attributes": prefix: "trmn " body: ''' From 5b7c46fd8bb4a6f1042e5872563d7a04a0703581 Mon Sep 17 00:00:00 2001 From: algomusic Date: Fri, 25 Nov 2016 11:28:39 +1000 Subject: [PATCH 2/2] Played with density setting to make them more self regulating --- grammars/extempore.cson | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grammars/extempore.cson b/grammars/extempore.cson index 792414b..539ede8 100644 --- a/grammars/extempore.cson +++ b/grammars/extempore.cson @@ -78,7 +78,7 @@ patterns: [ name: "constant.language.extempore" } { - match: "\\b(cons|car|cdr|cadr|caddr|cadddr|cond|lambda|quote|eval|append|list|vector|member|load|begin|map|apply|for-each|println|printf|print|rmatch|rsplit|rreplace|cosd|tand|sind|coshd|tanhd|sinhd|acosd|asind|atand|atan2d|ceild|floord|expd|fmodd|powd|logd|log2d|log10d|sqrtd|fabsd|clearerr|ctermid|fclose|fdopen|feof|ferror|fflush|fgetc|fgets|fileno|flockfile|fopen|fputc|fputs|fread|freopen|fseek|ftell|ftrylockfile|funlockfile|fwrite|getc|getchar|getc_unlocked|getchar_unlocked|gets|getw|pclose|perror|popen|putc|putchar|putc_unlocked|putchar_unlocked|puts|putw|remove|rename|rewind|setbuf|setvbuf|tempnam|tmpfile|tmpnam|ungetc|atof|atoi|atol|memccpy|memchr|memcmp|memcpy|memmove|memset|strcat|strchr|strcmp|strcoll|strcpy|strcspn|strdup|strerror|strlen|strncat|strncmp|strncpy|strpbrk|strrchr|strspn|strstr|strtok|strtok_r|strxfrm|base64_encode|base64_decode|cname_encode|cname_decode|swap64f|unswap64f|swap32f|unswap32f|swap64i|unswap64i|swap32i|unswap32i|thread_fork|thread_fork|thread_join|thread_kill|thread_self|thread_sleep|mutex_create|mutex_destroy|mutex_lock|mutex_unlock|mutex_trylock|callback|modulo|random |play-midi-note|mplay|inexact->exact|pm_send|min |max |cosr|list-ref|real->integer|rotate)\\b" + match: "\\b(cons|car|cdr|cadr|caddr|cadddr|cond|lambda|quote|eval|append|list|vector|member|load|begin|map|apply|for-each|println|printf|print|rmatch|rsplit|rreplace|cosd|tand|sind|coshd|tanhd|sinhd|acosd|asind|atand|atan2d|ceild|floord|expd|fmodd|powd|logd|log2d|log10d|sqrtd|fabsd|clearerr|ctermid|fclose|fdopen|feof|ferror|fflush|fgetc|fgets|fileno|flockfile|fopen|fputc|fputs|fread|freopen|fseek|ftell|ftrylockfile|funlockfile|fwrite|getc|getchar|getc_unlocked|getchar_unlocked|gets|getw|pclose|perror|popen|putc|putchar|putc_unlocked|putchar_unlocked|puts|putw|remove|rename|rewind|setbuf|setvbuf|tempnam|tmpfile|tmpnam|ungetc|atof|atoi|atol|memccpy|memchr|memcmp|memcpy|memmove|memset|strcat|strchr|strcmp|strcoll|strcpy|strcspn|strdup|strerror|strlen|strncat|strncmp|strncpy|strpbrk|strrchr|strspn|strstr|strtok|strtok_r|strxfrm|base64_encode|base64_decode|cname_encode|cname_decode|swap64f|unswap64f|swap32f|unswap32f|swap64i|unswap64i|swap32i|unswap32i|thread_fork|thread_fork|thread_join|thread_kill|thread_self|thread_sleep|mutex_create|mutex_destroy|mutex_lock|mutex_unlock|mutex_trylock|callback|modulo|random |play-midi-note|mplay|inexact->exact|pm_send|min |max |cosr|list-ref|real->integer|rotate|vector-set!|vector-ref|vector-length)\\b" name: "support.function.extempore" } {