870920 Menu

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

海句-主要更新记录

截至目前,海句主要更新记录:

  • 更改:在线翻译和查询Wikipedia直接使用系统浏览器,不再弹出程序内置的浏览器窗。
  • 完善:Linux-Debian系列桌面系统下,正确显示程序图标。
  • 修复:Linux平台下,笔记本和调音台等对话框的标题栏未显示的Bug。
  • 发布:2015年5月30日,“海句”发布Linux桌面版。推荐Ubuntu 14.0以上发行版。
  • 修复:重命名课件文档后,文件浏览面板无法播放的BUG。
  • 发布:2015年5月5日,Windows和OSX平台下发布海句2.0正式版。网站改版。

浏览全文

“海句”程序的MVC架构(类图)

iw-MVC

欢迎访问UnderwaySoft官网,下载并体验该软件。

浏览全文

JUCE 4.0.1发布

11月4日,JUCE 4.0.1发布,主要变化有:

– 发布Projucer。Running注:Projucer类似于Introjucer,是一款独立运行的“准IDE”软件,专为使用JUCE类库的C++程序员打造。几年前Jules曾发布过一个操作演示,最让人惊奇的是该软件能做到“所见即所得”,即修改代码的同时,该软件后台自动进行基本无延迟的同步编译,程序员能实时看到代码的运行效果。Jules发布视频演示后,着实在业内引起了一些轰动,甚至惊动了C++界赫赫有名的大佬Scott Meyers,此人专为此写了一篇博客。后来由于一些变故和个人原因,Jules停止了Projucer的持续开发,再后来就没有下文了。没想到突然就冒了出来。这次发布的版本,由于笔者尚未试用,不清楚是否与几年前的那个Projucer一致。有一点可以肯定,Projucer的实时编译功能目前不能在Windows平台下正常使用,LLVM的问题……

浏览全文

小隐本记-主要更新记录

截至目前,小隐本记的主要更新记录:

  • 添加:查看和设置提醒日期对话框中显示该日期是星期几
  • 发布:1.0.0816-Alpha版
  • 其他:若干小的修复和改进
  • 添加:点击主界面同步图标后,弹出的菜单中增加一项“启用/停用同步”
  • 修复:某些Android设备,程序切换到前台黑屏,旋转方向后无响应等Bug
  • 改进:各平台下统一询问式对话框的样式
  • 发布:1.0.0730-Alpha版

浏览全文

JUCE类库升级到3.2.0

估计这是4.0出台之前最后一次大的升级了。本次升级,GPL协议及商业授权等方面的条款、价格一如既往。代码方面,大的变化主要有:

浏览全文

“思维树”最初的构思

“思维树”是2012年年初我个人打算开发的一款知识管理与学习型个人软件,跨平台运行(Windows,OSX,iOS和Android)。由于各种原因,最后没有完成(该软件的一些理念与原则性东西,在我后来开发的“小隐本记”中得到了体现和借鉴。而复习模块的基本算法也在“海句”这款软件中做了相对完美地实现。这两款软件可到UnderwaySoft官网下载)。现将当初做头脑风暴时构思出的框架(基本功能与结构)发上来,以作备忘。

浏览全文

关于ValueTree深度复制的一则教训与实例

近期在做的项目,牵扯到文件、图像,音频、文本等方面的读写、交换与处理。毋容置疑,JUCE类库的ValueTree类实在是得心应手,方便之极。但是经验有时也不靠谱,轻车熟路,漫不经心的丁点草率,都有可能付出巨大的时间代价。

这两天整合调试某模块时,发现一个奇怪的现象:每次跑起来,不管喂进去多少条“记录”(程序中的概念定为note,一个note包含多项数据),明明总文件每次都保存成功了,MVC三者之间运作协调也良好无误,前台显示正常。但是下次启动,只保留了最后的note,其他都不见了。因总文件用了加密技术,懒得写查看单元,就尝试在已有代码中跟一跟。搞了许久无果,郁闷之至。

浏览全文

Linux下使用JUCE类库编程开发-1

Linux的发行版本较多,为方便叙述,本节内容以桌面装机量较大的Debian系Ubuntu 14.04 LTS为例。其他版本,可参照办理。

2015-06-13

使用JUCE类库在Linux下开发的程序员,遇到的首要问题是编译项目所需的库。这些库可一次性装完,也可在make时提示缺什么装什么:

浏览全文

JUCE类库FileBasedDocument详解

先了解一下程序中读写文件的大体流程(分两种情况):

  1. 从无到有的生成文件。运行程序,内部创建各种各样的数据类型和数据对象,一番操作处理后,将数据保存到磁盘文件中。该过程往往利用临时创建或某些类一直持有的XmlElement、ValueTree、JSON等对象(数据模型)来读取、计算和设置(修改、新增等等)各种数据。如有需要时,将这些对象中的数据保存到磁盘文件中。
  2. 读写已有的数据文件。和上个情况差不多,所不同的,内部的数据模型对象在创建时即直接初始化为磁盘文件中的数据,即:先加载和读取磁盘文件中的数据,将所需的数据设置到数据模型中(比如XmlElement对象的属性值)。而后,针对这些数据模型的对象进行读取和设置操作,处理完毕,将数据回写到磁盘文件中。

浏览全文