正如我在另一个帖子中已经说过的那样,我正在开发一个与音频实时图形编程相关的项目(类似Pure Data,Max/MSP,Reaktor).
我在互联网上做了一天的研究,寻找一个好的(维护的,文档齐全的,高度可移植的)C++库,用于与音频和MIDI的低级交互,但我仍然无法决定一个库.
我正在考虑PortAudio + PortMIDI(PortMedia),但他们缺少文档(特别是PortMIDI),并且没有官方社区,只有邮件列表(我认为论坛社区非常重要!),同样(或最差)的情况RTAudio和RTMidi库.
我也尝试一下:
所以...我的问题是:你有任何实时音频/ MIDI的经验吗?你推荐我哪个图书馆?
谢谢
为什么在这种情况下我不能使用 C++17 结构化绑定?
std::map<int, int> m;
std::find_if( m.cbegin(), m.cend(), []( const auto & [x, y] ){ return x == y; } );
Run Code Online (Sandbox Code Playgroud) 如果你在C#中编写一个2d图形密集型应用程序(如动画软件或带有自动图形控件的音序器),哪一个是图形库的更好选择?
我想开发一个跨平台的应用程序(至少在Windows 7,Linux上是可移植的),我只想使用C#,避免在C++中混合代码(由于互操作问题).
我已经尝试过OpenTK,但它缺少文档,而且它似乎不是很稳定(使用Mono它让我有时会崩溃X服务器!!!)......也许我错了,但是我觉得这不是一个长期支持的库,它会死...
.NET/Mono 有一个好的和稳定的 OpenGL包装器吗?
我知道在Mono(Moonlight)上有一个Silverlight的移植,但我读到它的性能很差.
谢谢.
我想开发一个类似于Pure Data的应用程序(在C++中),但是有一个很酷的GUI和更好的文档...是的,像Max/MSP或Reaktor,但是免费且开放!
为了创建一个吸引人的,反应性的和可移植的界面,我正在考虑使用OpenGL.在我看来,有一些像Blender GUI.
在开始开发我的自定义GUI工具包之前,我用Google搜索,以了解是否存在我可以使用的东西,并且我发现:
你知道其他工具包吗?如您所知,我正在寻找一个可移植的库(在C++中),快速且受支持.
另一种可能性是从头开始使用SDL或Freeglut我的自定义工具包,在这种情况下,这可能是最好的解决方案?
PS:阅读关于这个主题的其他主题我注意到许多开发人员建议使用Qt ... Qt可以依赖OpenGL进行渲染吗?或者它只能托管OpenGL画布?无论如何你认为在Qt中创建这样的东西是可能的(有良好的性能):
如果我猜对了std::rc::Rc
,就不可能在 Rust 中通过a创建可变借用,您必须使用Cell
或RefCell
。但无论如何我无法理解如何使用它们。例如考虑这个简单的例子:
use std::cell::RefCell;
struct X (i32);
impl X {
fn foo(&mut self) {
self.0 = 0;
}
}
fn main () {
let x = X(5);
let rcx = RefCell::new(&x);
let mut mutx: std::cell::RefMut<&X> = rcx.borrow_mut();
(*mutx).foo();
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
16:5: 16:9 error: cannot borrow immutable local variable `mutx` as mutable
16 mutx.foo();
Run Code Online (Sandbox Code Playgroud)
但是,如果我从行中删除引用(并更新类型mutx
):
let rcx = RefCell::new(x);
Run Code Online (Sandbox Code Playgroud)
一切安好。但我不明白为什么,因为RefMut::deref_mut() -> &mut T
在第 16 …
我想开发一个带有复杂GUI的应用程序(带动画的组合框,带样条的图表,透明层......).我有很好的C#2.0经验,而且我正在学习WPF,但我读到了,遗憾的是,没有计划将WPF移植到Mono.
如果我坚持使用C#并使用OpenGL创建自定义GUI控件(通过OpenTK),我觉得这将是一项艰苦的工作(与GTK集成,调试,难以用于设计表单).
我可以使用Java(使用JOGL),但我不熟悉它,而且我不了解性能问题.
最后一个选项是C++,但我必须做一个大的修订(自上次使用它以来的几年),我发现很难用C++开发GUI和便携式应用程序.(也许我错了!不过,我很害怕用这种语言开发这么复杂的应用程序.)
你有什么建议?我最好选择C#+ OpenTK,Java + JOGL还是返回C++?
我正在开发一个模块,它必须处理来自外部系统的许多事件.我将使用提供事件(OnNewMessage)的第三方类将一些参数作为输入传递,将两个参数作为输出传递,每个事件需要一堆时间才能被处理.我想以并行方式提供这些事件,以避免阻塞调用者并并行处理多个请求.
这是我的代码示例:
void Init()
{
provider.OnNewMessage += new OnMessageEventHandler(processEvent);
}
void processEvent(string xml, int …, out string resultXML, out string description)
{
...
}
Run Code Online (Sandbox Code Playgroud)
在C#3.5中执行此操作的最佳方法是哪种?
谢谢
我觉得我的实现过于繁琐,我想有更好的方法来实现这个简单的事情.
我有一个Grid
表示游戏板的结构,我有一个方法可以将一个单元添加到网格中,这个方法(add_cell
)检查网格中是否已经存在一个单元格才能添加它.
struct Cell {
// A simplified version with only one coordinate
position: i8,
}
struct Grid {
// List of cells in the grid
cells: Vec<Rc<Cell>>,
}
impl Grid {
// Add a cell in to the grid
pub fn add_cell(&mut self, cell: Cell) {
let is_not_yet_in;
{
if self.cells.iter().find(|&c| c.position == cell.position).is_some() {
is_not_yet_in = false;
} else {
is_not_yet_in = true;
}
}
if is_not_yet_in {
self.cells.push(Rc::new(cell).clone());
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在声明之后放了假 …