electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Articles  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links  |  Store
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
Live streaming at radio.electro-music.com

  host / artist show at your time

poster

Please visit the chat
 Forum index » DIY Hardware and Software » ChucK programming language
Midi Sysex/RealTime/PrgCh messages
Post new topic   Reply to topic Moderators: Kassen
Page 1 of 1 [3 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Author Message
mario.buoninfante



Joined: Jul 12, 2016
Posts: 11
Location: Salerno - Italy

PostPosted: Thu Aug 10, 2017 5:37 am    Post subject: Midi Sysex/RealTime/PrgCh messages Reply with quote  Mark this post and the followings unread

Hi all,

does anybody know why ChucK doesn't deal with anything but Note On/Off and CC's?
that's weird cause it uses RtMidi that implements the full MIDI protocol.
is there any particular reason?

cheers,
Mario
Back to top
View user's profile Send private message
MusicMan11712



Joined: Aug 08, 2009
Posts: 990
Location: Out scouting . . .

PostPosted: Thu Aug 10, 2017 5:49 am    Post subject: Reply with quote  Mark this post and the followings unread

I haven't looked at or used ChucK midi in years; so, I am not sure if they ever fixed the issues from several years ago. The best thing to do is to look at how ChucK implements midi (i.e., look at the source code). I seem to recall it is based on 3-byte structures--even if you try to use 2-byte or 1-byte midi commands. From my experience, don't even try sysex--the order of sending 3-byte commands scrambles sysex.

I seem to recall that 2-byte CC commands worked, though I think I might have written some on-the-fly CC thinning code to avoid a lot of processing.

Other than experimenting, I basically used ChucK for on-the-fly PC-based midi routing.

As you probably know you can hardcode midi ports based on Chuck --probe's listing. If you do that, powerup order [the order your PC enumerates midi devices] will affect the device offsets. Or, you can get more elaborate to assign device offsets to be independent of powerup order.

Unless Chuck's Midi code has been fix in the past 5-7 years, don't waste your time trying to do sysex--just my opinion.

Steve

http://electro-music.com/forum/topic-37351.html
Back to top
View user's profile Send private message
mario.buoninfante



Joined: Jul 12, 2016
Posts: 11
Location: Salerno - Italy

PostPosted: Thu Aug 10, 2017 6:32 am    Post subject: Reply with quote  Mark this post and the followings unread

Hi Steve,

thanks for your reply. Honestly I'd like to see a "normal implementation", I don't really want to force ChucK's behavior, trying several tricks (I know several guys have done this).
I know what you mean, and I know this is an old topic. unfortunately I'm not a C++ programmer (I used to deal with scripting language and audio language - including ChucK of course Wink ), so I can't help too much in this case (Gee, I'd really like to!). but having a look at the source code, yes, it seems that everything has to be contained within a 3 bytes array. but I can't figure out why this decision was taken.
ChucK's implementation is based on RtMidi, that deals with the entire MIDI protocol. that means they left out those messages on purpose. weird.
I mean, nowadays having a strong MIDI implementation is essential for an Audio Midi programming language, and this is one of the few stuff that ChucK doesn't have. in my humble opinion this is one of the most flexible programming language (clear syntax, time based, STK audio generators, deals with Faust, offer the possibility to live code, etc.), and I'm seeing some important steps (kadenze courses, few updates on github, etc.), but I don't know why, I always have the feeling that it should be pushed further! as I said, at the moment I can't contribute to it (at least talking about source code - I can contribute only at a higher level: ChucK libraries, advertising it, creating music with it, etc.), I'm about to study C++, but of course it takes time before I can active contribute developing it (but it's really on my schedule! - I need get rid of this restrictions Wink ). but anyway, on ChucK Programming Language group on Facebook one guy told me will take a look at it (of course whenever he'll have time). so, I'll give a shout as soon as I hear something from him.

cheers,
Mario
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic Moderators: Kassen
Page 1 of 1 [3 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software » ChucK programming language
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
e-m mkii

Please support our site. If you click through and buy from
our affiliate partners, we earn a small commission.


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use