|
From: | Jeremiah Benham |
Subject: | Re: [Denemo-devel] jackmidi compile warnings |
Date: | Fri, 2 Oct 2009 14:30:35 -0500 |
On Oct 2, 2009, at 12:05 PM, Richard Shann <address@hidden> wrote:
On Fri, 2009-10-02 at 07:53 -0500, Jeremiah Benham wrote:well, is this a bug in both uses of substitute_midi_values? That is, was it a bug already? Should have been. This is only to do with the dratted distinction between user channel numbering 1-16 and midi encoding. IIRCOn Fri, 02 Oct 2009 10:12:56 +0100 Richard Shann <address@hidden> wrote:J. I am getting some warnings,../../denemo/src/jackmidi.c: In function ‘jack_midi_playback_sta rt’:../../denemo/src/jackmidi.c:684: warning: ignoring return value of‘smf_seek_to_seconds’, declared with attribute warn_unused_re sult../../denemo/src/jackmidi.c: At top level: ../../denemo/src/jackmidi.c:701: warning: conflicting types for ‘jack_midi_playback_stop’ ../../denemo/src/jackmidi.c:327: warning: previous implicit declaration of ‘jack_midi_playback_stop’ was here I haven't had time to try jack out recently - are things working generally?Mostly. Transport is a bit flaky. I am considering removing all transport code and re-adding it at a later date. It starts the transport and stops it. That is it. If it is stopped the play button must but hit twice to get it going again. I have not figured out why yet. I have started to study an example of jack transport here: http://jackit.sourceforge.net/cgi-bin/lxr/http/source/example-clients/transport.c Apparently it allows for tempo change. I am going to study it to help me to understand how the jack transport works better. If we are releasing soon I will wait until the next release to change anything.There is a bug with (PlayNote) caused by eliminating substitute_valuesfrom view.c. I had modified: *c = '0'+channel-1 to be this in view.c: *c = '0'+channel; There reason is if the user has set channel 0 it does not substitute correctly giving a value of -1 instead of 0;denemo uses MIDI encoding internally. Perhaps exportmidi.c uses user numbering?
I know what the issue is now. I did not realize the user sets channel 3 in the interface but what gets set is 2. So if I am correct the user would set it to 1 if they wanted channel 0. I took a look at muse and there channels are numbered 1-16 in the user interface. I cheched rosegarden and they are also labeled 1-16. So there is a bug is in the ui that allows selecting 0-15. I will investigate where else this dicrepency exists.
Jeremiah
I am also confused on how you propose a user is to play notes in succession via script. (PlayNote "0x3c" 1000) (wait 1000) (PlayNote "0x3e" 1000) Where (wait) is the code not yet implemented that is like sleep but keeps the main loop active. Would it look like the above. If not, what would the user do to have one note followed by the next?I think this is easy: you just do (d-OneShotTimer 1000 "(PlayNote \"0x3c\" duration)") when it executes it will schedule its own off event. right? Of course, if you are going to keep running your script in some loop (i.e. not doing d-Get* or something) then you will need to check for events, which is where that other stuff comes in - it all depends what you want to be doing while the notes are sounding. RichardJeremiah(I am thinking forward to a release, and so to keeping things tidy etc). Richard _______________________________________________ Denemo-devel mailing list address@hidden http://lists.gnu.org/mailman/listinfo/denemo-devel_______________________________________________ Denemo-devel mailing list address@hidden http://lists.gnu.org/mailman/listinfo/denemo-devel
[Prev in Thread] | Current Thread | [Next in Thread] |