870920 Menu

程序设计、C++语言、跨平台开发、JUCE类库等等……

JUCE类库发布4.2.4版本

如果定期git pull JUCE类库的develop分支,新版本中的改进和功能应该都熟悉了。最令人瞩目的新功能与改进有三:

  1. Projucer的实时编译功能开始支持Windows平台(目前仅限Windows 10)
  2. 控件(组件)的复杂布局与定位始终是JUCE类库在GUI方面的一大软肋。最终,在基于某热心贡献者的基础上,JUCE类库采用了FlexBox布局模式。详情和用法可参考css网页前端编程领域的FlexBox灵活布局设计
  3. 移除VST 2插件开发时所需的外部依赖(VST 3已囊括)

浏览全文

JUCE的东家ROLI并购了FX-pansion

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

浏览全文

使juce::TextEditor具有行间距

JUCE的TextEditor(文本编辑器)在多行显示模式下没有额外的行间距,默认行高是当前所用字体的高度,导致阅读体验较差。可采用源码Hack(硬编码)的办法增大行间距。需改动3处(以JUCE 4.2.3版本为例)。打开../modules/juce_gui_basics/widgets/juce_TextEditor.cpp,277行找到TextEditor::Iterator类:

浏览全文

VS 2015编译老项目所遇到的三个问题的解决方案

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

浏览全文

Swing-Parking项目小结

Swing-Parking是一款运行于Linux Ubuntu,Windows x64和OSX 10.8以上平台的桌面单机小程序,用于车辆转弯、倒车及入库的教学演示、沙盘模拟和辅助训练。开发语言:C++ 11,类库:JUCE 4.2.3,IDE:Xcode 7.2 on OSX 10.10.5, VS 2015 on Windows 10。立项日期:2016年07月26日,第一阶段编码完工于2016年8月12日。

浏览全文

JUCE_LIVE_CONSTANT宏详解

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

浏览全文

“小隐本记”更新到1.0.160808

欢迎下载使用!

http://www.underwaysoft.com/mybio

 

JUCE小Tips:实现抓屏功能

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

浏览全文

用JUCE开发Android和iOS程序的一个小Tip

DocumentWindow类(主窗口)的构造函数中需加一段宏包裹,使程序启动后即处于全屏。有些桌面程序同样也需如此,此时就不必多此一举了。代码见下:

浏览全文

JUCE类库小Tips:可缩放的界面

此处的“可缩放”并非传统的调整窗口大小,而是窗口(界面)中的所有GUI元素一并进行缩放。要实现此功能,思路有二:

浏览全文