ORCΛ:视听直播编码的esolang

2020-05-09 03:23:39

Orca是一种深奥的编程语言,旨在快速创建程序定序器,其中字母表的每个字母都是一个操作,其中小写字母对bang进行操作,大写字母对每一帧进行操作。

此应用程序不是合成器,而是一个灵活的实时编码环境,能够将MIDI、OSC和amp;UDP发送到您的音频/视频接口,如Ableton、Renoise、VCV Rack或超级对撞机。

C实现的直播编码环境运行在终端上。它的设计是为了节能。它可以处理大文件,即使您的终端很小。如果您需要帮助,请访问聊天室或论坛。

sudo apt-get install git libncures5-dev libncursesw5-dev libportmidi-devgit clone https://github.com/hundredrabbits/Orca-c.git cd orca-cmake#编译orcabuild/orca#run orca。

要选择您的MIDI输出设备,请按F1(或Ctrl+D)打开主菜单,然后选择MIDI输出.。

┌ORCA─┐┌PortMidi Device Selection─┐│新││>;[*]#0-MIDI至0端口││打开.。││[]#2-ES1371││保存│└─┘│另存为.。│设置bpm.。││设置网格大小.。││自动调整网格│>;MIDI输出.。│控件.。││运算符.。││关于.。│退出│└─┘。

核心库:C99编译器(不需要VLA),外加足够的libc用于malloc、realloc、free、memcpy、memset和memmove。(此外,还必须支持#杂注ONCE。)。

命令行解释器:以上功能,外加POSIX,以及足够的libc用于常见字符串操作(strlen、strcmp等)。

LiveCoding终端UI:以上功能,加上ncurses(或兼容的curses库),以及浮点支持(用于计时)。或者,PortMidi可用于启用直接MIDI输出。

构建脚本(简称Tool)是用bash编写的。它应该可以与GCC(包括MUSL-GCC包装器)、tcc和clang一起使用,并且会自动检测您的编译器。您可以使用-c选项手动指定编译器。

目前已知构建在macOS(GCC、clang、tcc)和linux(GCC、MUSL-GCC、tcc和clang,可选使用lld)和Windows上的cygwin或wsl(GCC或clang,tcc未经测试)。

PortMidi是一个可选的依赖项。在运行工具构建脚本时,可以通过添加选项--portmidi来启用它。

./tool build-c clang-7--portmidi orca#使用名为clang-7的编译器#(启用了优化)和#(启用了用于MIDI输出的PortMidi)构建livecoding环境。#二进制文件放在build/orca./tool build-d orca#livecoding环境的调试版本。#BINARY放在build/debug/orca./tool build-d cli#无头CLI解释器的调试版本。#BINARY放置在build/debug/cli./tool lean#与make lean相同。删除内部版本/。

Make Release#Optimized Build,二进制文件放在build/or camake debug#调试版本,二进制文件放在build/debug/orcamake干净#删除build/。

默认情况下,make包装器将启用--portmidi。如果您单独运行工具构建脚本,默认情况下不会启用--portmidi。

用法:orca[选项][文件]常规选项:--undo-limit<;number>;设置最大撤消步骤数。如果您计划处理大文件,请将其设置为较低的数字。默认值:100--Initial-Size<;nxn>;创建新栅格文件时,请使用这些起始尺寸。--bpm<;number>;设置节奏(每分钟节拍)。默认值:120--SEED<;number>;设置随机函数的种子。默认值:1-h或--help打印此消息并退出。OSC/MIDI选项:--Strict-减少传出MIDI和OSC消息的计时抖动。使用更多CPU时间。--OSC-MIDI-BIDULE<;path>;将MIDI设置为通过格式化为Plogue Bidule的OSC发送。路径参数是Plogue OSC MIDI设备的路径。示例:/OSC_MIDI_0/MIDI

$./tool build--portmidi orca#使用构建脚本编译orca$build/orca#运行orca。

┌控件─┐│Ctrl+Q退出││箭头键移动光标││Ctrl+D或F1打开主菜单││0-9、A-Z、a-z、。插入字符││!:%/=#*││空格键播放/暂停││Ctrl+Z或Undo││Ctrl+X Cut││Ctrl+C Copy││Ctrl+V Paste││Ctrl+S Save││Ctrl+F Frame前进││Ctrl+I或插入附加/覆盖模式││';(引号)矩形选择模式││Shift+箭头键调整矩形选择││Alt+箭头键滑动选择││`(Grave)或~幻灯片选择模式││Escape返回正常模式或取消选择││(AND)调整网格大小(水平)││_││+调整网格(垂直)││[AND]调整网格标尺(水平)││}调整网格标尺(垂直)和>;调整BPM││?控件(此消息)│└─┘。

CLI(cli二进制)从文件读取并运行orca模拟1个Timestep(默认)或指定的数字(-t选项),并将网格的结果状态写入标准输出。