自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 嵌入式Qt添加ffmpeg动态库的坑

在此记录分享一下,看看你是不是踩了这个坑吧。

2024-11-26 16:02:17 100

原创 【小工具】把文件移到同名目录

【代码】【小工具】把文件移到同名目录。

2024-10-28 09:56:45 119

原创 一个最简单的Windows BMP位图文件解析程序

Windows BMP bitmap位图文件简单解析示例程序

2024-09-05 19:14:19 408

原创 右键新建markdown文件

【代码】右键新建markdown文件。

2023-12-26 17:46:40 399

原创 git config

【代码】git config。

2023-06-12 18:09:53 97

原创 hex数据转换脚本

hex转text

2023-02-13 02:18:30 332

原创 VST3开发入门

VST3 SDK下载和工程编译

2023-01-12 02:14:15 1015 3

原创 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

Linux RTL8761b蓝牙驱动 Ubuntu 20.04可用

rtl8761b蓝牙驱动 UART/USB

2025-01-07

vst-sdk_3.6.14_build-24_2019-11-29.zip

Steiberg官网下载,vst-sdk_3.6.14_build-24_2019-11-29.zip

2020-03-26

EasyTether1.1.4中文版

本人汉化处女座,有错误望指正。让台式电脑也可以连无线网的神器!也可以配合畅无线使用!EasyTether,全世界第一个中文版!

2013-03-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除