UnderwaySoft撰写、编译、发表的部分技术性文章、资料和随记
JUCE类库发布4.2.4版本
2016.09.20 18:20    2017.02.24 19:05    博客/专业/技术
如果定期git pull JUCE类库的develop分支,新版本中的改进和功能应该都熟悉了。最令人瞩目的新功能与改进有三:

JUCE的东家ROLI并购了FX-pansion
2016.09.02 11:26    2017.02.24 19:03    博客/专业/技术
FX-pansion是一家老牌音频(音源)插件开发商,著名的BFD虚拟鼓机就出自该品牌。昨天(2016年9月1日),ROLI正式并购了FX-pansion,这意味着,FX-pansion开发团队已全数纳入Jules麾下。也就是说,JUCE类库的开发、维护团队将进一步发展壮大。(JUCE被ROLI收购后,Jules连人带库一并加入ROLI,并任ROLI软件研发部门的总监)。

VS编译老项目遇到的三个问题的解决方案
2016.08.19 22:05    2017.03.22 19:00    博客/专业/技术
近期将PC机升级为Windows 10,该平台下的IDE升级到VS 2015社区版,编译VS 2012的老项目时出现三个问题:一是C4458警告(声明隐藏了基类成员);二是项目中如使用了第三方静态库(比如cURL),则编译失败;三是使用JUCE类库开发的GUI程序,其界面文字随机性发生变化(比如变细,某些字符和数字显示错误)。解决办法如下:

JUCE_LIVE_CONSTANT宏详解
2016.08.11 20:49    2017.05.10 15:24    博客/专业/技术
JUCE组件类的paint()中绘制各类UI元素时,往往需要反复设置并确定某些数值和颜色,编译运行,不断调整,耗时费力。JUCE_LIVE_CONSTANT()宏专用来简化此流程,可将其称为“实时调整与获取常量”宏。在对付较复杂的GUI界面时,使用该宏能大大提高编码效率,非常方便。

JUCE如何实现抓屏功能?
2016.08.07 19:40    2017.07.26 14:58    博客/专业/技术
有朋友Email询问,使用C++语言和JUCE类库做GUI编程时,如何实现抓屏功能(允许用户将程序界面的某个区域或整个界面保存为图像文件)。这个问题很简单,核心思路有二:

用JUCE开发Android和iOS程序·1
2016.08.04 15:04    2017.05.10 15:24    博客/专业/技术
如何使JUCE开发的移动端App启动后自动全屏?很简单,DocumentWindow类(主窗口)的构造函数中加一段宏包裹即可。启动后即最大化窗口的桌面程序同样也需如此。代码见下:

实现JUCE程序主界面的自由缩放
2016.07.16 10:23    2017.07.26 14:58    博客/专业/技术
此处的“自由缩放”并非传统的调整窗口大小,而是窗口(界面)中的所有GUI元素一并进行缩放。要实现此功能,思路有二:

JUCE: : Listener应写为嵌套类吗?
2016.07.15 21:53    2017.07.26 14:59    博客/专业/技术
是的,应该写到Broadcaster类中,使之成为嵌套类。解释如下:

JUCE 4.2发布
2016.04.08 19:25    2017.07.25 12:58    博客/专业/技术
新功能包括:支持Apple AudioUnit格式,所开发的iOS程序可作为GarageBand的插件来使用。对iOS和安卓的更多支持等等。

海句MVC与系统设置的架构类图
2015.12.20 09:24    2017.07.26 15:01    博客/专业/技术

这两幅类图是软件研发和架构阶段做的设计草图。后期编码和调试完善等过程中,做了一些补充及修改。软件发布后,做了一些重构和完善(增加了一批助手类和嵌套类)。几个搞程序的朋友和我讨论海句的设计开发时,要这两个图,干脆公布出来吧。欢迎讨论交流、批评指正。


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