denemo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Denemo-devel] jackmidi compile warnings


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:
On 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_values
from 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;
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. IIRC
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.

Richard




Jeremiah



(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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]