Forwarded from &'a ::rynco::UntitledChannel (Rynco Maekawa)
那你确实太无聊了(笑
不过说起这个问题,对接 midi 标准可能还不够,理想状态应该是直接对接频率吧(跑
不过说起这个问题,对接 midi 标准可能还不够,理想状态应该是直接对接频率吧(跑
duangsuse::Echo
其实要做的话用 Haskell 能做得很漂亮
前提是 Haskell 用 flatMap (
每个音翻译成 note:_on _off 序列
https://github.com/duangsuse-valid-projects/Hachiko/blob/master/hachiko_bapu/cli_tools/srt2mid.py#L28
每个音翻译成 note:_on _off 序列
https://github.com/duangsuse-valid-projects/Hachiko/blob/master/hachiko_bapu/cli_tools/srt2mid.py#L28
GitHub
duangsuse-valid-projects/Hachiko
Simple tool for creating pitch timeline. Contribute to duangsuse-valid-projects/Hachiko development by creating an account on GitHub.
duangsuse::Echo
#PLT 奇文共赏 🌚 MIDI 标记语言 https://t.me/c/1320136548/3269
顺带一提,这个东西叫 MIDI DSL 或许更合适些。
其实我的观点是,除非是为了学习编译原理或者创设更高级的类型系统,否则在任何尝试造一门全新语言之前都应该先尝试造一门 DSL。宿主语言的选择如今已经极其多样化,它们具有灵巧复杂的各种机制和类型系统,能够满足绝大多数 DSL 的表达力需要。
面向 DSL 的语言设计是编程语言设计的重要方向(我最早是在 KotlinConf 看到这个词,但是我不确定是不是它提出的,应该不是( )具有良好支持的这些语言简化了 DSL 的编写,其实某种程度上就是把本来在造一门全新语言时也会用自动化工具帮你做的那一部分而已换成了宿主语言而已...
其实应该开个 discussion 会好些(
其实我的观点是,除非是为了学习编译原理或者创设更高级的类型系统,否则在任何尝试造一门全新语言之前都应该先尝试造一门 DSL。宿主语言的选择如今已经极其多样化,它们具有灵巧复杂的各种机制和类型系统,能够满足绝大多数 DSL 的表达力需要。
面向 DSL 的语言设计是编程语言设计的重要方向(我最早是在 KotlinConf 看到这个词,但是我不确定是不是它提出的,应该不是( )具有良好支持的这些语言简化了 DSL 的编写,其实某种程度上就是把本来在造一门全新语言时也会用自动化工具帮你做的那一部分而已换成了宿主语言而已...
其实应该开个 discussion 会好些(
#kotlin #android https://t.me/AndroidDevCn/183545 现在想想 Android 用 annotation processor 做扩充 type check 实在是太多了,还有
@IntDef 能弄 @ markerTelegram
duangsuse in [CN] Android Dev
operator fun @receiver:StringRes
Int.get(ctx:Context) 吗
typealias StringID = @StringRes Int 不知道行不行
Int.get(ctx:Context) 吗
typealias StringID = @StringRes Int 不知道行不行
duangsuse::Echo
文章截图原文请求
稍等 (https://t.me/dsuse/15823
https://discuss.kotlinlang.org/t/compound-extension/10722 里有这个链接 (KT-10468)
https://discuss.kotlinlang.org/t/compound-extension/10722 里有这个链接 (KT-10468)
Telegram
duangsuse::Echo
with(dispatchReceiver) { extensionReceiver.doSomething(params) } 果然他们还是要搞隐式参数啊…… 但这个语法其实未必非要 ext-fun 接受“另一个 receiver(this)” ,写成 fun Float.dp(dim:Float) = this*dim 再 interface View { fun Float.dp()=/**/ } 也可以啊(不过要加的话这个用途还是窄,但也可以只加 class 内部 ext fun 的那个支持,但我很想喷他“为…
duangsuse::Echo
今天最后更新了一次, PulseAudio 的那个后端其实就兼容了个采样点 i16 buffer ,默认 default_sink.monitor peek©&drop ,为此注册了 stream_read 和 context_info 的 callback ,反正算是基本重写了。 透明 background 估计比较难做就没动,支持滚轮缩放什么的想做但就不麻烦了。 GLSL 理论上最好是放 resource 里 fopen() ,因为打包 fs 兼容性的问题没改 感觉目前为止基础控制/架构、利…
C++ 里小心用
GDB 里除了基础 b,run,continue,show,list , stepi 是步进指令 next 才是单步, where/frame 切换上下文 finish 返回
auto op=[](string s) {s.append(wtf);} 这样的东西,尽量全用 referenceGDB 里除了基础 b,run,continue,show,list , stepi 是步进指令 next 才是单步, where/frame 切换上下文 finish 返回
p -elements unlimit -- expr 可以显示数据Forwarded from 647号宇宙 (云天明||群青结工)
#正在发生的往事 #中文互联网观察
真正的挑战在于如何审查封禁方言和少数民族语言内容,如何及时封禁关闭查处违规内容,如何平衡巨量的语音数据处理与事后举报追责的速度。
https://www.zhihu.com/pin/1344629213115072513
真正的挑战在于如何审查封禁方言和少数民族语言内容,如何及时封禁关闭查处违规内容,如何平衡巨量的语音数据处理与事后举报追责的速度。
https://www.zhihu.com/pin/1344629213115072513
Forwarded from 「VoP」維尼之聲 - Voice of Pooh🔊
duangsuse::Echo
C++ 里小心用 auto op=[](string s) {s.append(wtf);} 这样的东西,尽量全用 reference GDB 里除了基础 b,run,continue,show,list , stepi 是步进指令 next 才是单步, where/frame 切换上下文 finish 返回 p -elements unlimit -- expr 可以显示数据
#日常精神分裂 #cplusplus #plt
A: 宏或者模板有没有办法把 identifier 变成 const char* 啊,不想写多余东西真是的
A: template 递归实现的 vararg 好草啊,很多人都喜欢用
B: 感觉 C++ 模板像预处理宏系统的扩充一样,这样就有两个“模板”系统了……
A: 话说 C++ 为什么不使用惯常的子类型检查方法实现类型参数?非要自动填模板
B: 大概是 C++ 和 Go 一样是单态不支持子类型所以只能用模板?而且模板应该会暴露 sizeof 这样的元数据,对闭源库可能是必须的,能做元编程编译期计算也是好扩充
A: C++ 的 class 和数值都有兼容或自动转换吧…… 模板大概就是把型参让编译器一填,然后自己再去检查合规性,省得 in out 约束的,直接最大兼容化了
B: 也是,毕竟 Java,TS 这些类型参数基本都是编译期的,运行时全是 Object
这么看 C# 的真泛型也有点像 C++ 的模板, IL 层面存储类型信息
A: 说说 abeat 项目, glClearColor(rgba) 的参数化你打算怎么实现?
B: 只能是删了改到 shader 代码里,反正花了好大力气弄的动态加载。本来这个频谱图理想状态就是 C++ 只负责绑定频谱数组,全部绘制 OGL 执行的
A: 那么函数图相对上一版的改进应该怎么办
B: 支持选择光标模式为可以看到光标点轴和 raw vp,scale 的模式, xy range 的放设置面板里,必须的。上一版显示 raw 的信息(xrange 还是错的)以及把设置和公式列表放在一起根本是错的,你怎么还不明白
A: 宏或者模板有没有办法把 identifier 变成 const char* 啊,不想写多余东西真是的
A: template 递归实现的 vararg 好草啊,很多人都喜欢用
B: 感觉 C++ 模板像预处理宏系统的扩充一样,这样就有两个“模板”系统了……
A: 话说 C++ 为什么不使用惯常的子类型检查方法实现类型参数?非要自动填模板
B: 大概是 C++ 和 Go 一样是单态不支持子类型所以只能用模板?而且模板应该会暴露 sizeof 这样的元数据,对闭源库可能是必须的,能做元编程编译期计算也是好扩充
A: C++ 的 class 和数值都有兼容或自动转换吧…… 模板大概就是把型参让编译器一填,然后自己再去检查合规性,省得 in out 约束的,直接最大兼容化了
B: 也是,毕竟 Java,TS 这些类型参数基本都是编译期的,运行时全是 Object
这么看 C# 的真泛型也有点像 C++ 的模板, IL 层面存储类型信息
A: 说说 abeat 项目, glClearColor(rgba) 的参数化你打算怎么实现?
B: 只能是删了改到 shader 代码里,反正花了好大力气弄的动态加载。本来这个频谱图理想状态就是 C++ 只负责绑定频谱数组,全部绘制 OGL 执行的
A: 那么函数图相对上一版的改进应该怎么办
B: 支持选择光标模式为可以看到光标点轴和 raw vp,scale 的模式, xy range 的放设置面板里,必须的。上一版显示 raw 的信息(xrange 还是错的)以及把设置和公式列表放在一起根本是错的,你怎么还不明白