MAX/MSP SDK学习05:A_GIMME方法
今天终于将A_GIMME方法部分的描述看懂了,上周因为太赶时间加上这文档很抽象一直没看懂。也就那么一回事,记录一下。
A_GIMME方法用于接收多个参数。
①内置消息选择器传递多个参数时一定要使用A_GIMME;
②自定义消息选择器传递多个参数时建议也使用A_GIMME;
#include "ext.h" // standard Max include, always required
#include "ext_obex.h" // required for new style Max objecttypedef struct _gimme {t_object ob; // the object itself (must be first)/* 自定义属性 */
} t_gimme;void* gimme_new(t_symbol* s, long argc, t_atom* argv);
void gimme_free(t_gimme* x);
void gimme_assist(t_gimme* x, void* b, long m, long a, char* s);
// 自定义函数
void gimme_printArgs(t_gimme* x, t_symbol* s, long argc, t_atom* argv);void* gimme_class;void ext_main(void* r) {t_class* c;// "gimme" 建议和项目名一样,否则在max/msp中创建自定义组件会出问题c = class_new("gimme", (method)gimme_new, (method)gimme_free, (long)sizeof(t_gimme),0L /* leave NULL!! */, A_GIMME, 0);/* you CAN'T call this from the patcher */class_addmethod(c, (method)gimme_assist, "assist", A_CANT, 0);// 注意:这里的"gimme"为自定义的消息选择器,会被加入消息选择器表中;而"anything"为消息选择器表内置// 自定义消息选择器class_addmethod(c, (method)gimme_printArgs, "gimme", A_GIMME, 0); class_register(CLASS_BOX, c); /* CLASS_NOBOX */gimme_class = c;post("I am the gimme object");
}void gimme_assist(t_gimme* x, void* b, long m, long a, char* s) {if (m == ASSIST_INLET) { // inletsprintf(s, "I am inlet %ld", a);} else { // outletsprintf(s, "I am outlet %ld", a);}
}void gimme_free(t_gimme* x) {;
}/* argc指在创建组件时,直接跟在组件后面的参数个数;argv存储参数具体值*/
void* gimme_new(t_symbol* s, long argc, t_atom* argv) {t_gimme* x = NULL;long i;x = (t_gimme*)object_alloc(gimme_class);return (x);
}// 接收多个参数,并打印所有参数
void gimme_printArgs(t_gimme* x, t_symbol* s, long argc, t_atom* argv) {long i;t_atom* ap = argv;for (int i = 0; i < argc; i++) {switch (atom_gettype(ap)) {case A_LONG:post("arg %ld: %ld", i, atom_getlong(ap));break;case A_FLOAT:post("arg %ld: %lf", i, atom_getfloat(ap));break;case A_SYM:post("arg %ld: %s", i, atom_getsym(ap)->s_name);break;default:post("%ld, unknown atom type: %ld", i, atom_gettype(ap));break;}ap++;}
}
运行结果:

相关文章:
MAX/MSP SDK学习05:A_GIMME方法
今天终于将A_GIMME方法部分的描述看懂了,上周因为太赶时间加上这文档很抽象一直没看懂。也就那么一回事,记录一下。 A_GIMME方法用于接收多个参数。 ①内置消息选择器传递多个参数时一定要使用A_GIMME; ②自定义消息选择器传递多个参数时建…...
LangChain: 类似 Flask/FastAPI 之于 Django,LangServe 就是「LangChain 自己的 FastAPI」
原文:LangChain: 类似 Flask/FastAPI 之于 Django,LangServe 就是「LangChain 自己的 FastAPI」 - 知乎 说明:LangServe代替 langchainserver 成为新的langchain 部署工具 官网资料:🦜️🏓 LangServe | &…...
mmdet全教程
官方给的文档一言难尽,网上的教程又没有从大纲到源码的完整解读,计划年后开个系列记录一下...
1992-2021年省市县经过矫正的夜间灯光数据(GNLD、VIIRS)
1992-2021年省市县经过矫正的夜间灯光数据(GNLD、VIIRS) 1、时间:1992-2021年3月,其中1992-2013年为年度数据,2013-2021年3月为月度数据 2、来源:DMSP、VIIRS 3、范围:分区域汇总:…...
Guava的Retryer
Retryer类是Guava库中的一个重试工具类,它提供了一种在调用方法时自动重试的机制。Retryer类中的call()方法用于执行需要重试的方法,如果方法执行失败,则Retryer会根据配置的规则进行重试。Retryer类可以配置重试的次数、重试间隔时间、重试的…...
Docker实践笔记7:构建MySQL 8镜像
使用Docker构建MySQL 8镜像并运行容器 本教程将指导您使用Dockerfile构建和运行一个MySQL 8容器。让我们开始吧! 步骤1:创建Dockerfile 在您的项目根目录下创建一个名为Dockerfile的文件。以下是Dockerfile的示例内容: # 基于最新的MySQL…...
# 学习 Prolog 和 离散逻辑的16个等价公式:一趟有趣的逻辑之旅
Prolog 的语法很奇怪,需要一些时间来适应,所以我花了点时间,想用Prolot来学习和验证离散逻辑的16组等价公式。 1. 双重否定律 (Double Negation Law) A ⇔A 首先,我们来看看双重否定律。在 Prolog 中,我们可以这样验证它: fun1(A,Z):-memb…...
Win11+Modelsim SE-64 10.6d搭建UVM环境
1、添加源文件及tb文件 在目录下建立文件夹,将DUT和Testbench添加进去,文件夹内容如下所示: 2、以《UVM实战》中的例子做简单的示例: 2.1 设计文件 :dut.sv 功能很简单,即将接受到的数据原封不动发送出去…...
LeetCode(32)串联所有单词的子串【滑动窗口】【困难】(含图解)
目录 1.题目2.答案3.提交结果截图4.图解 链接: 串联所有单词的子串 1.题目 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如,如果 w…...
【Delphi】使用TWebBrowser执行JavaScript命令传入JSON参数执行出错解决方案
目录 一、问题背景: 二、实际示例: 三、解决方案: 1. Delphi 代码: 2. javaScript代码: 一、问题背景: 在用Delphi开发程序,无论是移动端还是PC端,都可以很方便的使用TWebBrows…...
04 if进阶
elif 否则如果 如果条件没有满足 会继续进入“否则如果”里面判断 只要满足一个条件 条件判断立即终止 chinese 100 if chinese 100:print("我们去迪士尼玩")elif chinese > 90:print("我们去朱雀森林公园")else:print("回家写作业")if n…...
2023全球数字贸易创新大赛9-12
目录 回答评委提问:先说痛点-再说怎样解决 食品安全溯源是否全流程 星火• 链网...
vue3的两个提示[Vue warn]: 关于组件渲染和函数外部使用
1. [Vue warn]: inject() can only be used inside setup() or functional components. 这个消息是提示我们,需要将引入的方法作为一个变量使用。以vue-store为例,如果我们按照如下的方式使用: import UseUserStore from ../../store/module…...
Ubuntu环境下基于libxl库文件使用C++实现对表格的操作
功能 表格不存在则创建后再进行操作创建sheet添加新的工作表在sheet中增加数据设置单元格样式 相关配置 下载地址:libxl选择 LibXL for Linux 4.2.0 i386 x64 armhf aarch64 安装配置 1,使用 tar zxvf 文件名.tar.gz 进行文件解压2,创…...
Sentinel与SpringBoot整合
好的,以下是一个简单的Spring Cloud整合Sentinel的代码示例: 首先,在pom.xml中添加以下依赖: <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel&l…...
如何实现数据通过表格批量导入数据库
文章目录 1. 准备工作2. 创建数据库表3. 编写导入脚本4. 优化和拓展4.1 批量插入的优势4.2 错误处理4.3 数据验证4.4 数据转换 5. 总结 🎉如何实现数据通过表格批量导入数据库 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页:IT陈寒的博客&…...
(动手学习深度学习)第13章 计算机视觉---微调
文章目录 微调总结 微调代码实现 微调 总结 微调通过使用在大数据上的恶道的预训练好的模型来初始化模型权重来完成提升精度。预训练模型质量很重要微调通常速度更快、精确度更高 微调代码实现 导入相关库 %matplotlib inline import os import torch import torchvision f…...
训练跳跃(青蛙跳台阶),剑指offer,力扣
目录 题目地址: 题目: 青蛙跳台阶问题 我们直接看题解吧: 相似题目,斐波那契数列: 解题方法: 难度分析: 审题目事例提示: 解题思路: 代码实现: 小鸡识补充 题…...
Linux中路由route
route 显示当前路由表信息 route add -net 192.168.10.0 netmask 255.255.255.0 dev ens160去往192.168.10.0/24网段的路由通过ens160网卡出去add 添加路由(del表示删除路由)-A 设置地址类型(默认ipv4 配置ipv6地址时:-A …...
美国国家安全实验室员工详细数据在网上泄露
一个从事出于政治动机的攻击的网络犯罪组织破坏了爱达荷国家实验室(INL)的人力资源应用程序,该组织周日在电报上发帖称,已获得该核研究实验室员工的详细信息。 黑客组织 SiegedSec 表示,它已经访问了“数十万用户、员…...
2026 AI辅助攻击元年:网络安全攻防范式的彻底重构与生存指南
2026年已被全球网络安全界公认为"AI辅助攻击元年"。这一历史性转折点并非来自单一技术突破,而是AI攻击能力从量变到质变的集中爆发。本文基于SANS、MITRE、亚马逊威胁情报等权威机构2026年最新数据,系统分析了AI辅助攻击的技术演进、核心特征与…...
SILICON芯科 EFR32MG24A020F1024IM40-BR QFN40 无线收发芯片
1.功能列表 EFR32MG24的突出特性如下所示。 低功耗无线系统级芯片 高性能32位78MHzARMCortex-M33,配备DSP指 令和浮点单元,用于高效信号处理 最高1536kB闪存程序内存 最多256kB RAM数据存储 2.4GHz无线通信操作 用于AI/ML加速的矩阵向量处理器 无线性能 …...
对接 Claude Code 编程助手时配置 Taotoken 作为 API 提供商
对接 Claude Code 编程助手时配置 Taotoken 作为 API 提供商 1. 准备工作 在开始配置前,请确保已注册 Taotoken 账号并获取有效的 API Key。登录控制台后,可在「API 密钥管理」页面创建新密钥。同时,在「模型广场」查找 Claude 系列模型的 …...
中医AI诊疗助手:免费开源的中医大语言模型完全指南
中医AI诊疗助手:免费开源的中医大语言模型完全指南 【免费下载链接】CMLM-ZhongJing 首个中医大语言模型——“仲景”。受古代中医学巨匠张仲景深邃智慧启迪,专为传统中医领域打造的预训练大语言模型。 The first-ever Traditional Chinese Medicine lar…...
Arduino UNO串口控制DFPlayer Mini播放音乐,这5个常见问题你遇到了吗?(附解决方案)
Arduino UNO与DFPlayer Mini串口音乐播放:5大疑难问题深度解析 当你在工作室里兴奋地连接好Arduino UNO和DFPlayer Mini模块,期待着第一段旋律从扬声器传出时,却发现迎接你的可能是沉默、杂音或是各种意想不到的错误提示。这种挫败感每个创客…...
2025年全球开发者时间处理习惯报告:为什么Arrow库成为Python开发者的终极选择
2025年全球开发者时间处理习惯报告:为什么Arrow库成为Python开发者的终极选择 【免费下载链接】arrow 🏹 Better dates & times for Python 项目地址: https://gitcode.com/gh_mirrors/ar/arrow 在Python开发中,日期和时间处理一直…...
JSXBIN解码技术深度解析:构建高效二进制脚本逆向工程方案
JSXBIN解码技术深度解析:构建高效二进制脚本逆向工程方案 【免费下载链接】jsxer A fast and accurate JSXBIN decompiler. 项目地址: https://gitcode.com/gh_mirrors/js/jsxer 面对Adobe ExtendScript生态系统中广泛使用的JSXBIN二进制格式,开发…...
Taotoken 用量看板与账单追溯功能如何帮助控制项目预算
Taotoken 用量看板与账单追溯功能如何帮助控制项目预算 1. 用量看板的核心观测维度 Taotoken 用量看板为项目管理者提供了多维度的实时观测能力。在控制台首页的用量概览区域,可以直观查看当前计费周期内的总 Token 消耗量、各模型调用占比以及费用分布。这些数据…...
3D结构光相机核心 | 干货精讲首发、相位原理全解篇 | 机器视觉 2025 | 从本质到计算、解包裹与工业实战,彻底搞懂相位如何决定3D重建精度
目录 一、核心认知:为什么相位是3D结构光成像的“灵魂”? 二、底层原理:从本质理解相位的产生与作用机制 2.1 相位的本质:光的波动特性与条纹编码逻辑 2.2 3D结构光中相位的核心作用:连接条纹与深度的桥梁 三、核心技术:相位计算流程与关键步骤解析 3.1 多步相移法…...
【论文解读】U-Mamba: Enhancing Long-range Dependency for Biomedical Image Segmentation
题目:U-Mamba: Enhancing Long-Range Dependency for Biomedical Image Segmentation 作者:Jiarun Liu, Hao Yang, Hongyu Zhou, Yan Xi, Lequan Yu, Cheng Li, Yong Xia, Yizhou Yu 链接:https://arxiv.org/pdf/2401.047221. Motivation (动…...
