Hey Michael

I've been playing around with seq24 + Hydrogen for a it (hey - it's fun - 
though quite quirky... ) My conclusions are:
 * With 4/4 time, H2 as time master and seq24 following seems to work, beat 
counter and all, no Speicherzugriffsfehler either.
 * In 7/8 time though, it does NOT work.
 * Seq24 as time master seems *totally* unreliable. If I'm at, say, bar 7, and 
I reposition Hydrogen to the first bar, seq24 itself (song mode) goes to bar 
one, but subsequently tells Hydrogen that it should continue from bar 7...

I'm attaching a patch (against head) that just enables debugging output that 
tells you what info H2 gets from Time Master, if you'd like to see for 
yourself.


On Monday 11 August 2008 15:55:11 Michael Wolkstein wrote:
> hi jakob,
>
> > Yes, I tested that, and it seemed ok. Do you get segfaults there too?
>
> No.. it works perfect great!!
>
> > That's right after you added the 'time master' functionality to H2,
> > right?
>
> yes, the time master funktion patch is based on rev 195. I am not sure, but
> I think that mauser committ the patch into rev 196 or 197
>
> > > A few months ago I make
> > > some changes into the transport to get better sync with ardour in this
> > > behavior.
> > > Also that hydrogen realy starts at the first beat, bar, and tick.
> >
> > Which revision number was that?
>
> Revision 137 or 138
>
> greetings wolke
>
>
>
> -Nachricht --------
>
> > Datum: Mon, 11 Aug 2008 14:12:16 +0200
> > Von: Jakob Lund <[EMAIL PROTECTED]>
> > An: [email protected]
> > Betreff: Re: [Hydrogen-devel] Annoying bugs fixed!
> >
> > On Monday 11 August 2008 08:47:40 [EMAIL PROTECTED] wrote:
> > > hi,
> > >
> > > today I test with rev 314.
> > > I get the same problems!!> Yes, I tested that, and it seemed ok. Do you
> > > get segfaults there too? Segfault happens also into "use jack
> > > transport" mode.
> > >
> > > Then I have test an older version rev 240.
> >
> > That's right after you added the 'time master' functionality to H2,
> > right?
> >
> > > With the older version I do not get any segfaults in every transport
> >
> > mode.
> >
> > > Changings into the crazy transport of hydrogen needs a lot of different
> > > tests. Do you test change the BPM with ardour as transport master and
> > > hydrogen in "use jack transport mode" into a song?
> >
> > Yes, I tested that, and it seemed ok. Do you get segfaults there too?
> >
> > > A few months ago I make
> > > some changes into the transport to get better sync with ardour in this
> > > behavior.
> > > Also that hydrogen realy starts at the first beat, bar, and tick.
> >
> > Which revision number was that? Rev. 246-247 is a patch by me that
> > modifies
> > jack_output.cpp. I checked it out, it has the same irregularities.. The
> > modifications to your (H2 as time master) code made by me in that patch
> > were a
> > bit arbitrary, I'm looking at that again now.
> >
> > > BPM changings are complete capricious. Because the start frame position
> >
> > to
> >
> > > play the next sample will change.
> > >
> > > debugoutput before segfault in rev 314 with use jack transport mode.
> >
> > After
> >
> > > change bpm to a slower bpm value.
> > >
> > > (E) Sampler     __render_note Note pos in the future?? Current frames:
> > > 4124666629, note frame pos: 79783 (E) Sampler     __render_note Note
> > > pos
> >
> > in
> >
> > > the future?? Current frames: 4124666629, note frame pos: 234363 (E)
> >
> > Sampler
> >
> > >     __render_note Note pos in the future?? Current frames: 4124666629,
> >
> > note
> >
> > > frame pos: 279241 (E) Sampler     __render_note Note pos in the
> > > future?? Current frames: 4124666629, note frame pos: 279241 (E) Sampler
> > > __render_note Note pos in the future?? Current frames: 4124666629, note
> > > frame pos: 284227 (E) Sampler     __render_note Note pos in the
> > > future?? Current frames: 4124666629, note frame pos: 289214 (E) Sampler
> > > __render_note Note pos in the future?? Current frames: 4124666629, note
> > > frame pos: 294200 (E) Sampler     __render_note Note pos in the
> > > future?? Current frames: 4124666629, note frame pos: 299187 (E) Sampler
> > > __render_note Note pos in the future?? Current frames: 4124666629, note
> > > frame pos: 299187 (E) Sampler     __render_note Note pos in the
> > > future?? Current frames: 4124666629, note frame pos: 304173 (E) Sampler
> > > __render_note Note pos in the future?? Current frames: 4124666629, note
> > > frame pos: 304173 Speicherzugriffsfehler
> >
> > Is 'Speicherzugriffsfehler' the german word for segmentation fault?
> > Sounds pretty nasty anyway :-)
> >
> > > Am Mon, 11 Aug 2008 02:33:22 +0200
> > >
> > > schrieb Jakob Lund <[EMAIL PROTECTED]>:
> > > > On Monday 11 August 2008 01:34:18 Michael Wolkstein wrote:
> > > > > Hi jakob :-),
> > > > >
> > > > > > would test revision 317 to see if I've broken anything.
> > > > > > Especially wolke, who I think uses H2 in a different context than
> > > > > > what I do
> >
> > !?
> >
> > > > > I get 2 errors.
> > > > >
> > > > > 1. If I start a song without Jack transport, and stop the song on
> >
> > any
> >
> > > > > position in the song, then enable jack transport, and play again
> >
> > from
> >
> > > > > last position in song. I can not jump to the beginning of the song.
> >
> > Now
> >
> > > > > the beginning is on the last position without transport.
> > > >
> > > > I just tried with seq24, and I see the same weird behaviour. Dammit,
> >
> > back
> >
> > > > to debugging :-s . Things were running smoothly with Ardour though..
> >
> > They
> >
> > > > must behave differently as time master in some way.
> > > >
> > > > > 2. often Segmentation fault if you use jack time master with tap
> >
> > tempo,
> >
> > > > > or start hydrogen by tapping beatcounter.
> > > > >
> > > > > This is a very usefull funktion, with time master you can start
> > > > > sequenzer like seq24 with your tapped tempo.
> >
> > Yes, that's definately very cool!
> >
> > > > > greetings wolke
> > > > >
> > > > > Am Mon, 11 Aug 2008 01:07:09 +0200---- Original-Nachricht --------
> > > > >
> > > > > > Datum: Mon, 11 Aug 2008 01:07:09 +0200
> > > > > > Von: Jakob Lund <[EMAIL PROTECTED]>
> > > > > > An: [email protected]
> > > > > > Betreff: [Hydrogen-devel] Annoying bugs fixed!
> > > > > >
> > > > > > Hello List :-)
> > > > > >
> > > > > > I made two commits tonight that fix a few annoyances that have
> >
> > been
> >
> > > > > > getting on
> > > > > > my nerves for a while.
> > > > > >
> > > > > > One is, when Hydrogen reached the end of the song, it would stop
> >
> > and
> >
> > > > > > go back
> > > > > > (locate) to the start of the song. With the jack driver however,
> >
> > that
> >
> > > > > > wouldn't
> > > > > > always happen. Especially when working in sync with Ardour (which
> >
> > is
> >
> > > > > > my primary, if not only, use case at home). The remedy seems to
> >
> > be,
> >
> > > > > > to postpone
> > > > > > the locate part for one processing cycle ( = buffer length).
> > > > > > (this took 10 minutes to code, but at least 5 ours to figure
> > > > > > out!).
> > > > > >
> > > > > > The other has been mentioned by journeyman in a mail (Date:
> > > > > > 2008-07-22 23:10, "[Hydrogen-devel] Small UI bug"), and concerns
> >
> > the
> >
> > > > > > position
> > > > > > of the little triangle (timeline cursor) in the song panel, when
> > > > > > repositioning
> > > > > > with playback stopped.
> > > > > >
> > > > > > I'm really quite satisfied with the result, hence the commits
> > > > > > (!), but like I
> > > > > > said, I'm always using H2 together with Ardour so I'd REALLY LIKE
> >
> > IF
> >
> > > > > > PEOPLE
> > > > > > would test revision 317 to see if I've broken anything.
> > > > > > Especially wolke, who
> > > > > > I think uses H2 in a different context than what I do !?
> > > > > >
> > > > > > Cheers
> > > > > > Jakob Lund.
> >
> > -------------------------------------------------------------------------
> > This SF.Net email is sponsored by the Moblin Your Move Developer's
> > challenge
> > Build the coolest Linux based applications with Moblin SDK & win great
> > prizes
> > Grand prize is a trip for two to an Open Source event anywhere in the
> > world
> > http://moblin-contest.org/redirect.php?banner_id=100&url=/
> > _______________________________________________
> > Hydrogen-devel mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/hydrogen-devel

Index: libs/hydrogen/src/IO/jack_output.cpp
===================================================================
--- libs/hydrogen/src/IO/jack_output.cpp	(revision 317)
+++ libs/hydrogen/src/IO/jack_output.cpp	(working copy)
@@ -229,7 +229,7 @@
 		calculateFrameOffset();
 	 	return;
 	} else {
-		if ( m_transport.m_status != TransportInfo::ROLLING || !( m_JackTransportPos.valid & JackPositionBBT ) /**the last check is *probably* redundant*/ ) 
+		if ( ( m_transport.m_status != TransportInfo::ROLLING ) || !( m_JackTransportPos.valid & JackPositionBBT ) /**the last check is *probably* redundant*/ ) 
 			return;
 		
 		WARNINGLOG( "..." );
@@ -247,8 +247,7 @@
 		}
 		float hydrogen_ticks_to_locate =  bar_ticks + ( m_JackTransportPos.beat-1 )*hydrogen_TPB + m_JackTransportPos.tick *( hydrogen_TPB/m_JackTransportPos.ticks_per_beat ) ;
 	
-// 		char bbt[30];
-// 		sprintf( bbt, "Locating BBT: [%d,%d,%d]", m_JackTransportPos.bar, m_JackTransportPos.beat, m_JackTransportPos.tick );
+		INFOLOG( QString( "Taking BBT position and tempo from Time Master: \n\t[%1,%2,%3] at %4 bpm." ) . arg( m_JackTransportPos.bar ) . arg( m_JackTransportPos.beat ) . arg( m_JackTransportPos.tick ) . arg( m_JackTransportPos.beats_per_minute ) );
 // 		WARNINGLOG( QString(bbt) + " -- Tx/Beat = "+to_string(m_JackTransportPos.ticks_per_beat)+", Meter "+to_string(m_JackTransportPos.beats_per_bar)+"/"+to_string(m_JackTransportPos.beat_type)+" =>tick " + to_string( hydrogen_ticks_to_locate ) );
 	
 		float fNewTickSize = getSampleRate() * 60.0 /  m_transport.m_nBPM / S->__resolution;
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Hydrogen-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hydrogen-devel

Reply via email to