jack-session manager

mixer, effekte (ladspa und vst), metronome, notensatz, stimmgeräte und was sonst noch an audio-programmen bleibt...
Benutzeravatar
horo
Often here
Often here
Beiträge: 49
Registriert: Mi Aug 27, 2008 6:07 pm
Wohnort: Berlin & Lindau

Re: jack-session manager

Beitrag von horo »

Hi Hermann,

klasse, viele Fragen von Dir, ein paar Antworten von mir...
Sehr schön, leider popt hier das X-termial nur kurz auf und schließt sich sofort wieder :(
Die Kommandozeile direkt im Terminal eingegeben funktioniert einwandfrei ?
Ja, das ist noch relativ unsauber, 'ne Art proof-of-concept. Hatte letztes WE einiges geändert, aber noch nicht eingecheckt :( - kommt heute abend.
EDIT: done
Ein weiterer punkt ist mir aufgefallen, wenn ich den perc. Regler bewegt habe, gibt es (nur noch)knarzende geräusche bei einigen Halb-tönen, auch wenn ich perc. wieder auf null stelle.
Welches Instrument -i0 oder -i1? Ich hör's mir mal an. An der Perc. hatte ich im Sommer gedreht, Attack und Release abhängig von der Frequenz, um die Klicks wegzukriegen - bin damit aber auch nicht recht zufrieden. Hatte mich vorher längere Zeit am Reverb verbissen und dann keine rechte Lust mehr.
Das connie start script findet hier connie_sse nicht, ist in /usr/local/bin installiert
siehe oben, das script will ./connie_sse starten - ist halt ne typische Entwickler(zwischen)version, die nie installiert und getestet wurde. :oops:
Kann man eigentlich die INTONATION_SCALE und das INSTRUMENT während der Laufzeit wechseln ?
aktuell: nein, nein
machbar: ja (hab's in mein TODO aufgenommen, gleichfalls Transponieren zur Laufzeit), nein
Planst du mal ne GUI zuzufügen ?
ja :wink:

Ciao Martin
omnia vincit pecunia :(
brummer
Power User
Power User
Beiträge: 355
Registriert: Mi Jul 16, 2008 10:46 am

Re: jack-session manager

Beitrag von brummer »

Moin Martin

Das Terminal popt nur kurz auf da im connie start script der pfad ./ angegeben ist, entfernst du den pfad flupt es.
Aufgerufen wird ja das script und nicht connie_sse oder connie_i386.
Allerdings erhalte ich jetzt nen segfault wenn ich, und nur wenn, ne session gespeichert hab und connie beende [commit 19]: :

Code: Alles auswählen

QUIT? [y/N] :*** glibc detected *** connie_sse: double free or corruption (fasttop): 0x09e3cac0 ***
======= Backtrace: =========
/lib/i686/cmov/libc.so.6(+0x6b321)[0xb7693321]
/lib/i686/cmov/libc.so.6(+0x6cb78)[0xb7694b78]
/lib/i686/cmov/libc.so.6(cfree+0x6d)[0xb7697c5d]
connie_sse[0x804cd09]


gruß hermann
brummer
Power User
Power User
Beiträge: 355
Registriert: Mi Jul 16, 2008 10:46 am

Re: jack-session manager

Beitrag von brummer »

Hi Martin

Ich habe ma en bisschen in deinen Sourcen geguckt, also der Segfault wird verursacht in connie_ui.c durch

Code: Alles auswählen

free( session_dir );
Du mußt session_dir nach dem free noch auf NULL setzen um einen Zweiten Aufruf beim beenden zu vermeiden.

Code: Alles auswählen

session_dir = NULL;
Zum Session callback, Torben empfiehlt ihn in einen Extra (non rt) Thread auszulagern, da kannst du

Code: Alles auswählen

#include <pthread.h>
verwenden, der session callback würde dann so aussehen:

Code: Alles auswählen

#ifdef JACK_SESSION

void 
*session_helper(void * data)
{
  jack_session_event_t *event = (jack_session_event_t *) data;
   char retval[256];
  //printf ("session notification\n");
  //printf ("path %s, uuid %s, type: %d\n", 
  //         event->session_dir, event->client_uuid, event->type );


  snprintf (retval, sizeof(retval), "x-terminal-emulator -e \"connie -C%s.connie -U%s\"", 
    event->session_dir, event->client_uuid );
  event->command_line = strdup (retval);

  jack_session_reply( jack_client, event );

  ui_save( event->type, event->session_dir );

  jack_session_event_free (event);
  pthread_exit(NULL);
}

void
session_callback (jack_session_event_t *event, void *arg)
{
	// 
  pthread_t thread1;
  int  iret1;
  iret1 = pthread_create(&thread1, NULL,session_helper , (void *)event);

}
#endif
Damit funktioniert es hier alles.

gruß hermann
Benutzeravatar
horo
Often here
Often here
Beiträge: 49
Registriert: Mi Aug 27, 2008 6:07 pm
Wohnort: Berlin & Lindau

Re: jack-session manager

Beitrag von horo »

Hi Hermann,

danke, FIXED - so gerne ich in c programmiere, Strings sind die Hölle :evil: Mit der thread-Lösung hast Du natürlich recht, da strdup() nicht rt-save ist.

Das wird jetzt aber OT zu jack-session - wir sollten dort weitermachen.

Ciao, Martin
omnia vincit pecunia :(
brummer
Power User
Power User
Beiträge: 355
Registriert: Mi Jul 16, 2008 10:46 am

Re: jack-session manager

Beitrag von brummer »

seq24 hat jetzt auch jack-sesssion suport:
Guido Scholz on LAU hat geschrieben: Please find source tarballs on the download page:

https://edge.launchpad.net/seq24/+download

For ready made packages Ubuntu users may refer to my PPA:

https://edge.launchpad.net/~gscholz/+archive/ppa


NEWS
====

seq24-0.9.2 (2010-11-27)

Fixed Bugs
* Fix tooltip usage for older GTK versions (GTK_MINOR_VERSION < 12)
* Fix sched_param memory leaks
* Fix doubled key event for screen set name line

New Features
* Add support for jack session, patch provided by Torben Hohn
* Add interrupt handler for SIGUSR1 to enable LADISH level 1 support
* Add interrupt handler for SIGINT to ask for unsaved file changes
* Remove "-f" command line option to be replaced by a simple <filename>
argument (see "seq24 --help" for more information)

General Changes
* Add mnemonics for bottom line widgets in main window and label for
screen set name edit line
* Add missing command line parameters to help message, display short
options as well
* Add command line option for program version
* Add missing command line parameters to man page
* Remove complaints about file read error if configuration files do not
exist
* Cleanup configure.in: remove unused variables, harmonize option
enabling/disabling
* Some code cleanups


Enjoy
Guido
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast