~ubuntu-branches/debian/experimental/brasero/experimental

« back to all changes in this revision

Viewing changes to plugins/vcdimager/burn-vcdimager.c

  • Committer: Bazaar Package Importer
  • Author(s): Josselin Mouette
  • Date: 2011-03-29 16:33:51 UTC
  • mfrom: (1.3.18 upstream) (5.2.8 sid)
  • Revision ID: james.westby@ubuntu.com-20110329163351-ac3wgbh4mplmhnht
Tags: 2.91.93-1
* Only depend on growisofs instead of dvd+rw-tools.
* New upstream pre-release.
* Update build-dependencies, package names, and paths.
* Require totem-plparser 2.32 since its soname changed.
* Do not include GIR package for now, since the versioning is broken 
  (see Bugzilla #646069).
* 01_pkglibdir.patch: dropped, upstream now has a variable we can use 
  for that effect.
* 11_nautilus_menu_no_display.patch, 31_link_libice.patch, 
  50_checksum.patch: dropped, merged upstream.
* 90_relibtoolize.patch: dropped, unnecessary.

Show diffs side-by-side

added added

removed removed

Lines of Context:
50
50
#include "brasero-plugin-registration.h"
51
51
#include "burn-job.h"
52
52
#include "burn-process.h"
53
 
#include "burn-vcdimager.h"
54
53
#include "brasero-track-stream.h"
55
54
 
 
55
 
 
56
#define BRASERO_TYPE_VCD_IMAGER             (brasero_vcd_imager_get_type ())
 
57
#define BRASERO_VCD_IMAGER(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), BRASERO_TYPE_VCD_IMAGER, BraseroVcdImager))
 
58
#define BRASERO_VCD_IMAGER_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), BRASERO_TYPE_VCD_IMAGER, BraseroVcdImagerClass))
 
59
#define BRASERO_IS_VCD_IMAGER(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BRASERO_TYPE_VCD_IMAGER))
 
60
#define BRASERO_IS_VCD_IMAGER_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), BRASERO_TYPE_VCD_IMAGER))
 
61
#define BRASERO_VCD_IMAGER_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), BRASERO_TYPE_VCD_IMAGER, BraseroVcdImagerClass))
 
62
 
56
63
BRASERO_PLUGIN_BOILERPLATE (BraseroVcdImager, brasero_vcd_imager, BRASERO_TYPE_PROCESS, BraseroProcess);
57
64
 
58
65
typedef struct _BraseroVcdImagerPrivate BraseroVcdImagerPrivate;
298
305
        if (success < 0)
299
306
                goto error;
300
307
 
301
 
        /* get all tracks */
302
 
        brasero_job_get_tracks (BRASERO_JOB (process), &tracks);
303
 
        for (i = 0, iter = tracks; iter; iter = iter->next, i++) {
304
 
                BraseroTrack *track;
305
 
 
306
 
                track = iter->data;
307
 
 
 
308
        for (i = 0; i < priv->num_tracks; i++) {
308
309
                sprintf (buffer, "playlist-%i", i);
309
310
                success = xmlTextWriterStartElement (xml, (xmlChar *) "playlist");
310
311
                if (success < 0)
439
440
        return BRASERO_BURN_OK;
440
441
}
441
442
 
442
 
static BraseroBurnResult
443
 
brasero_vcd_imager_post (BraseroJob *job)
444
 
{
445
 
        BraseroVcdImagerPrivate *priv;
446
 
 
447
 
        priv = BRASERO_VCD_IMAGER_PRIVATE (job);
448
 
        return brasero_job_finished_session (job);
449
 
}
450
 
 
451
443
static void
452
444
brasero_vcd_imager_init (BraseroVcdImager *object)
453
445
{}
470
462
        process_class->stdout_func = brasero_vcd_imager_read_stdout;
471
463
        process_class->stderr_func = brasero_vcd_imager_read_stderr;
472
464
        process_class->set_argv = brasero_vcd_imager_set_argv;
473
 
        process_class->post = brasero_vcd_imager_post;
 
465
        process_class->post = brasero_job_finished_session;
474
466
}
475
467
 
476
 
static BraseroBurnResult
477
 
brasero_vcd_imager_export_caps (BraseroPlugin *plugin, gchar **error)
 
468
static void
 
469
brasero_vcd_imager_export_caps (BraseroPlugin *plugin)
478
470
{
479
 
        BraseroBurnResult result;
480
471
        GSList *output;
481
472
        GSList *input;
482
473
 
483
474
        /* NOTE: it seems that cdrecord can burn cue files on the fly */
484
475
        brasero_plugin_define (plugin,
485
476
                               "vcdimager",
486
 
                               _("Use vcdimager to create SVCDs"),
 
477
                               NULL,
 
478
                               _("Creates disc images suitable for SVCDs"),
487
479
                               "Philippe Rouquier",
488
480
                               1);
489
481
 
490
 
        /* First see if this plugin can be used */
491
 
        result = brasero_process_check_path ("vcdimager", error);
492
 
        if (result != BRASERO_BURN_OK)
493
 
                return result;
494
 
 
495
482
        input = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,
496
483
                                        BRASERO_AUDIO_FORMAT_MP2|
497
484
                                        BRASERO_AUDIO_FORMAT_44100|
533
520
                                  BRASERO_MEDIUM_HAS_AUDIO,
534
521
                                  BRASERO_BURN_FLAG_NONE,
535
522
                                  BRASERO_BURN_FLAG_NONE);
536
 
        return BRASERO_BURN_OK;
537
523
}
538
524
 
 
525
G_MODULE_EXPORT void
 
526
brasero_plugin_check_config (BraseroPlugin *plugin)
 
527
{
 
528
        gint version [3] = { 0, 7, 0};
 
529
        brasero_plugin_test_app (plugin,
 
530
                                 "vcdimager",
 
531
                                 "--version",
 
532
                                 "vcdimager (GNU VCDImager) %d.%d.%d",
 
533
                                 version);
 
534
}