UnderwaySoft撰写、编译、发表的部分技术性文章、资料和随记
JUCE 4.0.1发布
2015.11.06 10:15    2017.02.24 04:26    博客/专业/技术
11月4日,JUCE 4.0.1发布,最令人惊喜的变化有四:发布Projucer,开始支持OSC,开始支持64位浮点音频数据,可以导出Android Studio项目了。

JUCE类库升级到3.2.0
2015.07.23 14:20    2017.02.24 04:02    博客/专业/技术
估计这是4.0出台之前最后一次大的升级了。本次升级,GPL协议及商业授权等方面的条款、价格一如既往。代码方面,大的变化主要有:

关于ValueTree的一则教训与实例
2015.06.14 13:52    2017.05.10 15:24    博客/专业/技术
近期在做的项目,牵扯到文件、图像,音频、文本等方面的读写、交换与处理。毋容置疑,JUCE类库的ValueTree类实在是得心应手,方便之极。但是经验有时也不靠谱,轻车熟路,漫不经心的丁点草率,都有可能付出巨大的时间代价。

Linux下使用JUCE类库编程开发
2015.06.13 13:32    2017.05.10 15:24    博客/专业/技术
Linux的发行版本较多,为方便叙述,本节内容以桌面装机量较大的Debian系Ubuntu 14.0以上版本的LTS为例。其他版本,可参照办理。

浅谈多线程共享数据的保护
2015.03.20 10:48    2017.05.10 15:27    博客/专业/技术
多线程环境下,对共享数据的保护(线程互斥)是件很痛苦的事。本文以JUCE类库所提供的CriticalSection临界区及预定义的ScopedLock作用域锁为例,简单谈谈这个问题。

多线程编程的几点思考与忠告
2015.03.19 01:56    2017.09.30 01:50    博客/专业/技术
首先要了解、规划和设计当前执行流程和异步并发的多个任务所对应的整体线程结构与线程间的依赖关系。尽量减少线程间的依赖关系,特别是循环依赖。如有共享数据需在多个线程中并发写入,优先使用C++的volatile关键字(声明数据成员时),而后是atomic原子类,不得已或不影响效率和功能的前提下,才使用CriticalSection临界区和ScopedLock作用域锁。

关于JUCE GUI程序的外观总控
2015.02.04 03:07    2017.05.10 15:24    博客/专业/技术
LookAndFeel是JUCE类库中所有可视化组件的外观“总控”(含组件所显示的字型、字体等)。程序中可以设置全局性的LookAndFeel,某个组件也可以设置自己的LookAndFeel,两者的区别主要是所调用的设置函数不同。全局性设置是LookAndFeel类的静态函数setDefaultLookAndFeel(),可在程序主体类的初始化函数中完成设置。而组件设置自己的LookAndFeel可在上级组件的构造函数中使用setLookAndFeel(),或者在自身的构造函数中调用此函数(如果是自定义的组件、控件类)。

再次介绍一下JUCE类库
2015.01.16 09:36    2017.05.10 15:25    博客/专业/技术
2003年至今,经过持续不断的发展和完善,JUCE已成为一个优秀的大型C++跨平台类库,可用于开发各个主流操作系统下的各类应用程序(包括插件)。真正的“一次编码,直接编译”。目前支持的平台有:MAC OS X,Windows,Linux,iOS,Android。每天,全球有上万名开发者和数百万用户使用着JUCE类库及各种基于该类库的应用程序。

谈谈源码分析
2013.07.22 19:17    2017.05.10 15:27    博客/专业/技术
研究优秀的开源代码,结合类库API文档和代码中的注释,多思考、多总结提炼、多动手练习,可在最短时间内大幅提高编程技术及开发效率。那么,应该如何分析?有没有一定的规律和原则需要遵守?本文尝试谈谈这些问题。

RAII技术的C++常规实现
2013.02.20 19:08    2017.05.10 15:27    博客/专业/技术
RAII:Resource Acquisition Is Initialization,资源获取即初始化(以初始化的方式获取资源)。即:使用对象来代表或管理资源,利用C++对象生命期的概念控制资源的获取和释放,将资源的生命期和对象的生命期紧密关联到一起。如需要某种资源(内存、缓冲区、文件句柄、网络连接等等),则创建一个代表该资源的RAII类的对象即可。步骤有三:

Email: underwaySoft@126.com 微信公众号: UnderwaySoft