marlin r1346 - in trunk: marlin src
- From: iain svn gnome org
- To: svn-commits-list gnome org
- Subject: marlin r1346 - in trunk: marlin src
- Date: Wed, 24 Dec 2008 16:53:17 +0000 (UTC)
Author: iain
Date: Wed Dec 24 16:53:16 2008
New Revision: 1346
URL: http://svn.gnome.org/viewvc/marlin?rev=1346&view=rev
Log:
Allow the record dialog to lock the marlin owner until it is closed.
Modified:
trunk/marlin/marlin-jack-record.c
trunk/marlin/marlin-program.c
trunk/marlin/marlin-program.h
trunk/src/marlin-record.c
trunk/src/marlin-window.c
Modified: trunk/marlin/marlin-jack-record.c
==============================================================================
--- trunk/marlin/marlin-jack-record.c (original)
+++ trunk/marlin/marlin-jack-record.c Wed Dec 24 16:53:16 2008
@@ -476,6 +476,7 @@
priv->reader_id = 0;
g_signal_emit (jack, signals[FINISHED], 0);
+ priv->mode = MARLIN_JACK_RECORD_MODE_STOPPED;
return FALSE;
} else {
priv->mode = MARLIN_JACK_RECORD_MODE_RECORDING;
Modified: trunk/marlin/marlin-program.c
==============================================================================
--- trunk/marlin/marlin-program.c (original)
+++ trunk/marlin/marlin-program.c Wed Dec 24 16:53:16 2008
@@ -47,6 +47,8 @@
jack_client_t *client;
guint current_owner; /* The current owner of jack */
+ gboolean locked; /* Has the owner locked it */
+
guint owner_count; /* The number of owners */
MarlinJackPlay *player;
@@ -317,10 +319,15 @@
*/
void
marlin_program_acquire_jack (MarlinProgram *program,
- guint owner_id)
+ guint owner_id,
+ gboolean locked)
{
MarlinProgramPrivate *priv = program->priv;
+ if (priv->locked) {
+ return;
+ }
+
if (owner_id == priv->current_owner) {
return;
}
@@ -332,6 +339,7 @@
}
priv->current_owner = owner_id;
+ priv->locked = locked;
g_signal_emit (program, signals[JACK_OWNER_CHANGED], 0, owner_id);
}
@@ -349,6 +357,7 @@
}
priv->current_owner = MARLIN_PROGRAM_JACK_UNOWNED;
+ priv->locked = FALSE;
g_signal_emit (program, signals[JACK_OWNER_CHANGED], 0,
MARLIN_PROGRAM_JACK_UNOWNED);
}
Modified: trunk/marlin/marlin-program.h
==============================================================================
--- trunk/marlin/marlin-program.h (original)
+++ trunk/marlin/marlin-program.h Wed Dec 24 16:53:16 2008
@@ -67,7 +67,8 @@
guint marlin_program_request_jack_owner_id (MarlinProgram *program);
void marlin_program_acquire_jack (MarlinProgram *program,
- guint owner_id);
+ guint owner_id,
+ gboolean locked);
void marlin_program_release_jack (MarlinProgram *program,
guint owner_id);
Modified: trunk/src/marlin-record.c
==============================================================================
--- trunk/src/marlin-record.c (original)
+++ trunk/src/marlin-record.c Wed Dec 24 16:53:16 2008
@@ -664,8 +664,8 @@
rd->recorder = (MarlinJack *) marlin_program_get_recorder (program);
rd->jack_owner_id = marlin_program_request_jack_owner_id (program);
- /* Should lock owner somehow */
- marlin_program_acquire_jack (program, rd->jack_owner_id);
+ /* Acquire jack, and lock it */
+ marlin_program_acquire_jack (program, rd->jack_owner_id, TRUE);
if (rd->recorder) {
g_signal_connect (rd->recorder, "record-finished",
Modified: trunk/src/marlin-window.c
==============================================================================
--- trunk/src/marlin-window.c (original)
+++ trunk/src/marlin-window.c Wed Dec 24 16:53:16 2008
@@ -640,7 +640,7 @@
/* Will emit jack-owner-changed signal if window is allowed to
own jack */
- marlin_program_acquire_jack (program, priv->jack_owner_id);
+ marlin_program_acquire_jack (program, priv->jack_owner_id, FALSE);
return FALSE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]