tonychyi.wetofu.top
Drumstick
https://tonychyi.wetofu.top/tags/drumstick
把 LMMS 的 Midi 导入功能改用 drumstick 实现了. 啊,更好的方法就是,用他妈的什么 portsmf 用 drumstick 啦 [email protected]. 终于折腾好了 带着对 drumstick 的撞憧憬,我终于还是给自己挖了个大坑,把原来 LMMS 在 Midi 文件导入时用到的 portsmf 库换成了 drumstick。 Portsmf 是按顺序返回 Midi 事件,而 drumstick 是基于 Qt 的 Signal/Slot 机制。 然后对整个的 MidiImport 插件进行了大拆解 将混乱不堪的代码按照 class 分成了几个文件。 接着写了一个 midiReader 类,用来接收 Midi 事件,并添加到 LMMS 的轨道中。 那么接下来的工作就是实现 midiReader 的 Slot。
tonychyi.wetofu.top
链接交换
https://tonychyi.wetofu.top/1970/01/01/links
遵循 CC 协议、GNU 自由文档协议有额外加成,站点应以原创文章为主。
tonghuix.blogspot.com
FOSS Geek | 爱开源魅影: C/C++的通用Makefile模板
http://tonghuix.blogspot.com/2012/04/ccmakefile.html
Touch me, Trust me, Savor each sensation. 主力博客: https:/ tonghuix.io. 本文在 http:/ sourceforge.net/projects/gcmakefile/ 的成果上改进得来。 主要修改如下: 1.去掉了说明部分,使得模版更简洁; 模版本身已经具备自说明特性。 2.去掉自动生成目标名称部分; 目标名称必须指定。 3.%.d文件替换为.%.d文件, 即隐藏了依赖文件, 使得源代码目录编译后看起来更简洁. 4.如果不指定源代码目录(SRCDIRS), 则自动搜索当前目录下的所有子目录, 而不仅仅只是当前目录. 这个模版最大特点就是可以适应各种不同的应用, 基本上拿来就可以用, 改动很少; 而且自适应增删源文件, 自适应多级目录结构, 自动检查头文件依赖. Generic Makefile for C/C Program # # License: GPL (General Public License) # Author: whyglinux. 标签: Open Source Tech. 订阅: 帖子评论 (Atom). 北京创客空间...
tonghuix.blogspot.com
FOSS Geek | 爱开源魅影: 大家一起完善 OpenStreamMap 协助尼泊尔救灾
http://tonghuix.blogspot.com/2015/04/openstreammap.html
Touch me, Trust me, Savor each sensation. 主力博客: https:/ tonghuix.io. 转自台湾 g0v.tw 的 林雨苍的Facebook原文. 尼泊尔发生了大地震,造成许多人丧生。目前该地区亟需救援。 但救援的第一个前提是该地区的路网需要被标示,因此目前开放街图( Open Street Map. 65289;计划正在利用卫星地图快速画出当地偏远地区道路路网,协助救难人员前往该地区救灾。目前需要大量人力协助。 目前有两个协助完善路网的计画: http:/ ift.tt/1HDVQ7c. 这是多人协作的任务,所以开始编辑时会锁定地图,可以稍微作个两三条公路就存档、解除锁定,让其他人继续编辑,所以请不要担心一编辑就要完成。不过请记得完成编辑后要解除锁定喔! 我刚刚编辑了一下,发现难度没有很高,因此写了一篇教学,请有空的朋友可以去尝试看看。 http:/ ift.tt/1HDVOMo. 本文欢迎大家分享、转贴。 相关连结: 尼伯尔地震OSM Wiki协作指引页面 http:/ ift.tt/1HDVOMp. 订阅: 帖子评论 (Atom). 北京创客空间即...
tonghuix.blogspot.com
FOSS Geek | 爱开源魅影: 理解开源,必读的“四书五经”
http://tonghuix.blogspot.com/2013/09/foss-books.html
Touch me, Trust me, Savor each sensation. 主力博客: https:/ tonghuix.io. 理解开源,必读的“四书五经”. 今天是2013年的SFD(Software Freedom Day,软件自由日),值此中秋SFD双节时刻,祝各位开源同仁和睦团圆!节日愉快! 前几天终于Kindle的2G存储被我玩没空间了,利用小长假整理整理那些已经看完的小说,还有那些短期不用的参考书,也暂时先移出来。整理书的过程中,我发现自己收集了很多有关FOSS的相关书籍、论文等等,这里简单整理一下,希望给那些愿意真正投入开源,不仅仅是旁边吆喝的人,也能说“专业的话”,而不至于露怯! 推荐这些书不仅面向开源开发者/维护者,还包括组织运营开源社区,推广宣传开源软件的人,总之涵盖推进开源事业的每一个贡献者,当然也包括打酱油的! 整理以后发现,比较重要的有四本书,同时另外一些比较重要的相对短小的书或者论文大概有五本(篇)。因此我就将之命名为—— 理解开源的“四书五经”. 12298;大学》: The Cathedral and the Bazaar. 在儒家经典里《大学&#...
tonghuix.blogspot.com
FOSS Geek | 爱开源魅影: 必须警惕的一些“开源逆潮”
http://tonghuix.blogspot.com/2014/05/warning-bad-os.html
Touch me, Trust me, Savor each sensation. 主力博客: https:/ tonghuix.io. 最近一段时间开源在中国有大幅蔓延的趋势,这是个好事,也是作为开源推进者求之不得的事情。不过,在如此开源繁华的背后,却是我们不得不警惕的一些貌似推进开源,实则有违开源精神,且极大阻碍开源推进的潮流,我将其命名为—— “开源逆潮”. 提前声明,我对此粗浅的理解仅代表我个人意见,请不要对号入座。 这种人在国内不算多,在国外有一些,这几年也产生了一些影响,导致很多普通人对搞开源的人产生一种极端狂热,极端自由的误解,因而对开源产生了一些抵触。国内虽然目前没有很多这样的人,但是这族群有扩大化的趋势,由于我们受到的教育常常教我们以二元对立的方式看待事物,所以这种人的潜在对象会有很多。 这种人只有我神州大地特有!随着XP停服,微软真的疲软,“国产操作系统”的提法最近又甚嚣尘上,很多人追风群起。其实极端民族主义和过度爱国行为,本质上就是另一种极端主义!与上面一样是非...具有这类思想的人,一般是没有自己的独立思想和独立人格,极其容易受到蛊惑,具...开源软件运动其背后的自由ӌ...
tonghuix.blogspot.com
FOSS Geek | 爱开源魅影: [转]小心!八个小细节可辨出身边的小人!
http://tonghuix.blogspot.com/2015/05/blog-post_20.html
Touch me, Trust me, Savor each sensation. 主力博客: https:/ tonghuix.io. 每个地方都有小人,通常,小人做人处事不太厚道,常以不良手段达成目的。 与小人相处,稍不谨慎,会吃大亏;学会分辨小人,非常重要。他们言行有以下特色:. 通常是另有阴谋目的,并不单纯以此为乐; 有时为了升迁,衬托自己优秀,也不惜丑化对手。 他们唯恐天下不乱,惯用「听说」造句,歪曲事实,无中生有。 分化同事感情,制造纷争和事端,鹬蚌相争,结果渔翁得利。 他们口才好,善于撇清责任; 事后扮演和事佬,双面间谍,闽语所谓「双面刀鬼」。 12300;赞美鼓励」和「奉承拍马」不同,后者舌灿莲花有心机,热情又嘴巴甜,让人晕陶陶而迷失方向。 他们更刻意亲近上司,常伺机打小报告,备受宠爱。 工作方面,言行不一,善于表面功夫,也善于俟机邀功抢功。 待人方面,他们是表里不一两面人,有时面前夸你套出你的秘密,背后就损你出卖你。 明明是自己言行有过错,却死不承认,昧着良心硬拗瞎掰,也要找一个冤大头(软柿子)来背黑锅。 他们口才犀利又敢发誓&#...订阅: 帖子评论 (Atom). 提前声明A...
tonychyi.wetofu.top
修复了 LMMS Pitch Bend Bug
https://tonychyi.wetofu.top/2017/01/04/lmms-pitch-bend-fix
修复了 LMMS Pitch Bend Bug. Leo song 对我说,搞报表平台的代码不如研究 LMMS. 有一个存在了很长时间的 BUG 导入 Midi 文件的时候,对 Pitch Bend 不能很好的处理导致走音。 在 Cakewalk 中测试,如果是单纯调整 Pitch Bend,最大范围是 2 个半音,而我这里有个 文件. 经过一番测试,发现是 RPN(0, 12) 这个参数在起作用. 0, 0, Header, 1, 7, 960 1, 0, Start track 1, 0, Control c, 0, 101, 0 1, 0, Control c, 0, 100, 0 1, 0, Control c, 0, 6, 12 1, 0, Control c, 0, 38, 0. 再看 LMMS 的代码 plugins/MidiImport/MidiImport.cpp. 可以很清楚的看到,LMMS 很偷懒,根本没有处理 RPN 事件。 当读取到 100 和 101 控制器时,读取其中的值. 我和 @liushuyu [email protected]. 并在发送 100 和 101 之后将.
tonychyi.wetofu.top
用 Go 实现一个守护进程
https://tonychyi.wetofu.top/2016/10/25/daemonize-with-golang
Package main import ( fmt io/ioutil os os/exec path/filepath strconv time ) func main() { / 处理程序后的参数 if len(os.Args[1:]) 0 { switch os.Args[1] { / 停止守护进程,从 /tmp/pidfile 中获取进程 ID case stop: bpid, := ioutil.ReadFile(/tmp/pidfile) pid, := strconv.Atoi(string(bpid) proc, := os.FindProcess(pid) proc.Kill() fmt.Println(Killed.) os.Exit(0) } } / 启动守护进程,即当自身的父进程不为 1 时,就启动一个新的进程, / 并退出自己,直到父进程为 1 一般是 init 为止 if os.Getppid()!
SOCIAL ENGAGEMENT