- 博客(26)
- 资源 (2)
- 收藏
- 关注
原创 【Qt】libpng warning: iCCP: known incorrect sRGB profile
此脚本用于批量处理指定目录下png问题。
2025-02-20 19:21:44
111
转载 【转载】解决 C++ 链接到一个绝对路径的动态链接库
如果readelf -d bin/auto可以看到/home/zhangzq/lib/libqtutil.so整个绝对路径都被编码到了依赖项。这会带来问题,其它人无法访问我个人目录下的文件,导致无法运行程序。最近升级系统,出现好多莫名其妙的问题。其中一个便是 G++编译后,发现其中一个动态链接库引用了绝对地址。原作者:https://zhiqiang.org/author/zhiqiang.html。链接:/coding/cpp-link-with-absolute-path.html。
2025-02-18 11:20:55
28
原创 嵌入式Qt使用ffmpeg视频开发记录
解码后的YUV通道数据分别保存在avframe->data[0]、avframe->data[1]、avframe->data[2],仅通过avframe->data[0]取数据,大概率可以取到不完整的UV数据,表现为视频颜色有残影,因为这几段数据内存不连续。可以帮我们完成分帧,不足一帧的数据也会继续留在上下文中,不用担心,大可从文件中不断读取固定长度的数据送入parser,获取到完整的packet后就可以向解码器中传入packet数据。在此记录一下Qt下视频应用开发的自学历程,可供初学者参考和避雷。
2024-11-27 17:56:21
486
1
原创 C语言版filter2函数
#define MAX(a, b) (a) > (b) ? (a) : (b)#define MIN(a, b) (a) < (b) ? (a) : (b)typedef double dtype;void filter2(const dtype* x, int xlen, const dtype* h, int hlen, dtype* y){ int i, j; int hmid = (hlen - 1) / 2; for(i=0;i<xl
2021-09-03 11:42:12
327
原创 函数指针调用
#include <stdio.h>#define FP_SAFE_RUN(fp, args...) (void)((fp) && ((fp)(args), 0))void add(int a, int b){ printf("%d + %d = %d\n",a, b, a+b);}void (*g_fp_calc )(int, int) = add;int main(int argc, char *argv[]){ FP_SAFE_RUN(g_
2021-03-13 23:39:31
204
原创 WARNING宏
调试期间,代码中可能会加很多assert,但是有时一些不那么严重的错误又不希望死机,只想让他打印一下错误。我定义了一个这样的宏来实现:#define warning(expr, string) (void)(!!(expr) || (log_print(string), 0))extern void log_print(char*, ...);...
2020-12-27 03:13:31
562
原创 数组与取地址符“&“
涉及数组成员的取址,可以使用数组名加偏移量(p = arr+5)或数组加下标再取地址(p = &arr[5]),那&arr代表什么呢?我一开始只知道arr和&arr的值相等。#include <stdio.h>int arr[10]; int main(int argc, char *argv[]){ printf("%p ,%p, %p\n", &arr, arr, &arr[0]); return 0;}/*Output:
2020-12-27 02:43:27
4048
原创 VST 2.0编程总结
之前搞VST 2.0 SDK编程,基本上入门了,4月份开始搁置。现在想再捡起来,发现代码有点生疏了,是时候再梳理一下了。插件的重要的部分一个是音频信号处理算法,一个是GUI。VST 2.0规范不需要开发者考虑音频信号处理时缓存、调度之类的事情,只需要实现音频处理和GUI相关的接口即可。音频效果对应一个AudioEffectX类。通过定义一个类继承自AudioEffectX,重写processReplacing函数来实现想要的功能。音频效果的重要的一点是参数。用户通过交互界面将调整的参数告诉程序,VST
2020-12-27 01:38:19
765
2
原创 C语言中short int的移位操作
SINT16 s16_val = fpga_spi_read(reg, addr); printf("value = %d\n", s16_val);新同事问我一个问题,说FPGA给的9-bit有符号数,打印出来是个正数。我一看,9 bit的有符号数对short来说接收下来高7位肯定全是0,于是想当然地帮他改成了: SINT16 s16_val = fpga_spi_read(reg, addr); s16_val = (s16_val << 7) >> 7; prin.
2020-10-28 03:11:36
753
原创 使用Win32 API绘制wav文件波形
最近想把Win32 GDI绘图捡回来一些。在CFree下写了一个读取16-bit int PCM wav文件并在窗口中绘制波形的小程序。总结一下主要的收获:1. Windows资源文件.rc以前在Visual Studio下编写Win32和MFC程序,rc文件都是自动生成。这次用CFree写程序,条件不允许,就需要自己编辑了。这次主要用到rc文件添加菜单。IDC_WIN32WNDEMO MENUBEGIN POPUP "文件(&F)" BEGIN MENUITEM "打开(&
2020-10-25 02:50:33
1116
1
原创 VSTGUI:自定义绘图类(二)
昨晚把自定义绘图功能实现了,在写的过程中,发现上次总结的内容有很多错误:不需要listener实现时继承的类是CControl
2020-04-29 09:16:32
203
原创 VSTGUI:自定义绘图类(一)
与以往不同,以往都是先写完代码再进行总结,这次要在写代码之前做一些必要的讨论,以支持后面的工作。之前都是照着例程,再参照自己想法写,但是现在的需求是,需要根据三个控件的参数画一条曲线来显示参数变化,这个功能没有现成的类可以实现,需要通过继承某个基类进行定制。此需求的功能和使用过的CParamDisplay类似,共同点是,通过监听控件来改变显示。我们实际需要监听三个控件,那就要看CParamDis...
2020-04-27 23:16:09
337
原创 VSTGUI:Slider& Display
本次基本完成了效果器界面的部分,加入3个Slider控制参数,3个Display显示参数。以下进行总结。1. AudioEffectX & AEffGUIEditor用户自定义两个类分别继承于AudioEffectX和AEffGUIEditor(暂称为效果类和界面类),AudioEffectX负责信号处理,AEffGUIEditor负责显示。在这里自定义了ACompressor继承自A...
2020-04-27 02:12:23
311
原创 VSTGUI:Slider
给VST增加界面,主要是重载AEffGUIEditor类及其open,close函数。ctor使用BMP图片,new一个CBitmap。给AEffGUIEditor::rect初始化。AEffGuiComp::AEffGuiComp(AudioEffect * effect):AEffGUIEditor(effect){ m_pbmp_back = new CBitmap(IDB...
2020-04-26 01:26:46
229
原创 VSTGUI:开端
开始了带界面的VST的编写。遇到问题:1>------ 已启动生成: 项目: Comparoma, 配置: Debug Win32 ------1>ACompressor.obj : error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall ACompressor::setProgram(int)" (?setProgra...
2020-04-22 21:28:35
379
原创 创建一个简单的VST之Channel Mixer
创建一个简单的VST之Channel Mixer上次做了一个将数据直接透传的VST插件,意在熟悉VST SDK的开发过程。这次在之前的基础上,实现简单的声道重混缩功能。本来只想做调节音量功能来做练习,后来发现拓展个声道重混缩功能也是顺水推舟的事。和上次相比不同的是,这次需要增加可调的参数。考虑一个Channel Mixer的功能,需要以下几个参数:左声道输出的左声道比例、右声道比例右声道输...
2020-03-30 00:14:07
1120
原创 创建一个最简单的VST
创建一个最简单的VST现在主流的是vst3,Steinberg已经不想支持VST之前的版本了。从官方下载的VST3 SDK中(只提供3.0版)附带VST2 SDK,但是实测缺少一些头文件,无法单独使用,网络上资源也是极其难找。据说VST现在只作为VST3的子集使用。VST插件在国内音乐人中还是被广泛使用的,从0开始开发VST插件,我个人想着还是从VST开始比较好。因为Win32的基础不是很好...
2020-03-28 00:29:13
3072
3
原创 Qt下实现录制麦克风声音
先上header,header是灵魂有一些是没用的。#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QString>#include <QFile>#include <QAudio>#include <QAudioFormat>#include &...
2019-07-13 18:58:23
2129
3
原创 指针常量和常量指针
#include <stdio.h>#include <stdlib.h> int a[9] = {0,0,0,0,0,0,0,0,0,};int b;int main(void){ int const* pa = a; const int* pb = a; int* const pc = a; int bb = pa[0]; pa...
2019-06-19 14:35:26
112
vst-sdk_3.6.14_build-24_2019-11-29.zip
2020-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人