~ubuntu-branches/ubuntu/precise/indicator-sound/precise-updates

« back to all changes in this revision

Viewing changes to src/mpris2-controller.c

Tags: 0.8.3.0-0ubuntu1
* New upstream release.
  - Fixed memory corruption issue (LP: #897218)
  - crashed with SIGABRT in pa_operation_unref (LP: #908682)
  - Banshee shown in sound menu after removal until reboot (LP: #771202)
  - Coverity PASS_BY_VALUE - CID 10620 (LP: #937451)
  - App icon and name are not aligned (LP: #939929)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* mpris2-controller.c generated by valac 0.12.1, the Vala compiler
 
1
/* mpris2-controller.c generated by valac 0.14.2, the Vala compiler
2
2
 * generated from mpris2-controller.vala, do not modify */
3
3
 
4
4
/*
205
205
 
206
206
struct _ActivePlaylistContainer {
207
207
        gboolean valid;
208
 
        PlaylistDetails details;
 
208
        PlaylistDetails* details;
209
209
};
210
210
 
211
211
struct _MprisPlaylistsIface {
212
212
        GTypeInterface parent_iface;
213
213
        void (*ActivatePlaylist) (MprisPlaylists* self, const char* playlist_id, GAsyncReadyCallback _callback_, gpointer _user_data_);
214
214
        void (*ActivatePlaylist_finish) (MprisPlaylists* self, GAsyncResult* _res_, GError** error);
215
 
        void (*GetPlaylists) (MprisPlaylists* self, guint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_);
 
215
        void (*GetPlaylists) (MprisPlaylists* self, gint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_);
216
216
        PlaylistDetails* (*GetPlaylists_finish) (MprisPlaylists* self, GAsyncResult* _res_, int* result_length1, GError** error);
217
217
        gchar** (*get_Orderings) (MprisPlaylists* self, int* result_length1);
218
218
        void (*set_Orderings) (MprisPlaylists* self, gchar** value, int value_length1);
264
264
        PlaylistDetails* current_playlists;
265
265
        gint current_playlists_length1;
266
266
        gint _current_playlists_size_;
267
 
        gint _tmp0_;
268
 
        PlaylistDetails* _tmp1_;
 
267
        MprisPlaylists* _tmp0_;
 
268
        gint _tmp1_;
269
269
        PlaylistDetails* _tmp2_;
270
 
        gint _tmp2__length1;
271
 
        gint __tmp2__size_;
272
 
        GError * e;
273
 
        gpointer _tmp3_;
274
 
        PlayerItem* _tmp4_;
 
270
        PlaylistDetails* _tmp3_;
 
271
        gint _tmp3__length1;
 
272
        gint __tmp3__size_;
 
273
        GError* e;
 
274
        PlaylistDetails* _tmp4_;
 
275
        gint _tmp4__length1;
 
276
        PlayerController* _tmp5_;
 
277
        GeeArrayList* _tmp6_;
 
278
        gpointer _tmp7_;
275
279
        PlaylistsMenuitem* playlists_item;
276
 
        gboolean _tmp5_;
277
 
        gboolean* _tmp6_;
 
280
        PlaylistsMenuitem* _tmp8_;
 
281
        PlaylistDetails* _tmp9_;
 
282
        gint _tmp9__length1;
 
283
        PlayerController* _tmp10_;
 
284
        gboolean _tmp11_;
 
285
        gboolean* _tmp12_;
278
286
        GError * _inner_error_;
279
287
};
280
288
 
367
375
GType playlists_menuitem_get_type (void) G_GNUC_CONST;
368
376
void playlists_menuitem_update_individual_playlist (PlaylistsMenuitem* self, PlaylistDetails* new_detail);
369
377
static void mpris2_controller_fetch_playlists_data_free (gpointer _data);
370
 
static gboolean mpris2_controller_fetch_playlists_co (Mpris2ControllerFetchPlaylistsData* data);
 
378
static gboolean mpris2_controller_fetch_playlists_co (Mpris2ControllerFetchPlaylistsData* _data_);
371
379
MprisPlaylists* mpris2_controller_get_playlists (Mpris2Controller* self);
372
 
void mpris_playlists_GetPlaylists (MprisPlaylists* self, guint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_);
 
380
void mpris_playlists_GetPlaylists (MprisPlaylists* self, gint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_);
373
381
PlaylistDetails* mpris_playlists_GetPlaylists_finish (MprisPlaylists* self, GAsyncResult* _res_, int* result_length1, GError** error);
374
382
static void mpris2_controller_fetch_playlists_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
375
383
static void _vala_PlaylistDetails_array_free (PlaylistDetails* array, gint array_length);
399
407
 
400
408
Mpris2Controller* mpris2_controller_construct (GType object_type, PlayerController* ctrl) {
401
409
        Mpris2Controller * self = NULL;
 
410
        PlayerController* _tmp0_;
402
411
        g_return_val_if_fail (ctrl != NULL, NULL);
403
 
        self = (Mpris2Controller*) g_object_new (object_type, "owner", ctrl, NULL);
 
412
        _tmp0_ = ctrl;
 
413
        self = (Mpris2Controller*) g_object_new (object_type, "owner", _tmp0_, NULL);
404
414
        return self;
405
415
}
406
416
 
452
462
 
453
463
void mpris2_controller_property_changed_cb (Mpris2Controller* self, const gchar* interface_source, GHashTable* changed_properties, gchar** invalid, int invalid_length1) {
454
464
        gboolean _tmp0_ = FALSE;
455
 
        gconstpointer _tmp2_ = NULL;
456
 
        GVariant* _tmp3_;
 
465
        GHashTable* _tmp1_;
 
466
        gboolean _tmp4_;
 
467
        GHashTable* _tmp5_;
 
468
        gconstpointer _tmp6_ = NULL;
 
469
        GVariant* _tmp7_;
457
470
        GVariant* play_v;
458
 
        gconstpointer _tmp9_ = NULL;
459
 
        GVariant* _tmp10_;
 
471
        GVariant* _tmp8_;
 
472
        GHashTable* _tmp19_;
 
473
        gconstpointer _tmp20_ = NULL;
 
474
        GVariant* _tmp21_;
460
475
        GVariant* meta_v;
461
 
        gconstpointer _tmp11_ = NULL;
462
 
        GVariant* _tmp12_;
 
476
        GVariant* _tmp22_;
 
477
        GHashTable* _tmp23_;
 
478
        gconstpointer _tmp24_ = NULL;
 
479
        GVariant* _tmp25_;
463
480
        GVariant* playlist_v;
464
 
        gboolean _tmp13_ = FALSE;
465
 
        gconstpointer _tmp15_ = NULL;
466
 
        GVariant* _tmp16_;
 
481
        gboolean _tmp26_ = FALSE;
 
482
        GVariant* _tmp27_;
 
483
        gboolean _tmp31_;
 
484
        GHashTable* _tmp32_;
 
485
        gconstpointer _tmp33_ = NULL;
 
486
        GVariant* _tmp34_;
467
487
        GVariant* playlist_count_v;
468
 
        gboolean _tmp17_ = FALSE;
469
 
        gconstpointer _tmp19_ = NULL;
470
 
        GVariant* _tmp20_;
 
488
        gboolean _tmp35_ = FALSE;
 
489
        GVariant* _tmp36_;
 
490
        gboolean _tmp40_;
 
491
        GHashTable* _tmp41_;
 
492
        gconstpointer _tmp42_ = NULL;
 
493
        GVariant* _tmp43_;
471
494
        GVariant* playlist_orderings_v;
472
 
        gboolean _tmp21_ = FALSE;
473
 
        gconstpointer _tmp23_ = NULL;
474
 
        GVariant* _tmp24_;
 
495
        gboolean _tmp44_ = FALSE;
 
496
        GVariant* _tmp45_;
 
497
        gboolean _tmp49_;
 
498
        GHashTable* _tmp50_;
 
499
        gconstpointer _tmp51_ = NULL;
 
500
        GVariant* _tmp52_;
475
501
        GVariant* identity_v;
 
502
        GVariant* _tmp53_;
476
503
        g_return_if_fail (self != NULL);
477
504
        g_return_if_fail (interface_source != NULL);
478
505
        g_return_if_fail (changed_properties != NULL);
479
 
        if (changed_properties == NULL) {
 
506
        _tmp1_ = changed_properties;
 
507
        if (_tmp1_ == NULL) {
480
508
                _tmp0_ = TRUE;
481
509
        } else {
482
 
                gboolean _tmp1_;
483
 
                _tmp1_ = g_str_has_prefix (interface_source, MPRIS_PREFIX);
484
 
                _tmp0_ = _tmp1_ == FALSE;
 
510
                const gchar* _tmp2_;
 
511
                gboolean _tmp3_ = FALSE;
 
512
                _tmp2_ = interface_source;
 
513
                _tmp3_ = g_str_has_prefix (_tmp2_, MPRIS_PREFIX);
 
514
                _tmp0_ = _tmp3_ == FALSE;
485
515
        }
486
 
        if (_tmp0_) {
 
516
        _tmp4_ = _tmp0_;
 
517
        if (_tmp4_) {
487
518
                g_warning ("mpris2-controller.vala:78: Property-changed hash is null or this is an" \
488
519
" interface that doesn't concern us");
489
520
                return;
490
521
        }
491
 
        _tmp2_ = g_hash_table_lookup (changed_properties, "PlaybackStatus");
492
 
        _tmp3_ = _g_variant_ref0 ((GVariant*) _tmp2_);
493
 
        play_v = _tmp3_;
494
 
        if (play_v != NULL) {
495
 
                gchar* _tmp4_ = NULL;
 
522
        _tmp5_ = changed_properties;
 
523
        _tmp6_ = g_hash_table_lookup (_tmp5_, "PlaybackStatus");
 
524
        _tmp7_ = _g_variant_ref0 ((GVariant*) _tmp6_);
 
525
        play_v = _tmp7_;
 
526
        _tmp8_ = play_v;
 
527
        if (_tmp8_ != NULL) {
 
528
                MprisPlayer* _tmp9_;
 
529
                gchar* _tmp10_;
 
530
                gchar* _tmp11_;
496
531
                gchar* state;
497
 
                TransportState _tmp5_;
 
532
                const gchar* _tmp12_;
 
533
                TransportState _tmp13_ = 0;
498
534
                TransportState p;
499
 
                gpointer _tmp6_ = NULL;
500
 
                PlayerItem* _tmp7_;
501
 
                TransportMenuitem* _tmp8_;
502
 
                _tmp4_ = mpris_player_get_PlaybackStatus (self->priv->_player);
503
 
                state = _tmp4_;
 
535
                PlayerController* _tmp14_;
 
536
                GeeArrayList* _tmp15_;
 
537
                gpointer _tmp16_ = NULL;
 
538
                TransportMenuitem* _tmp17_;
 
539
                TransportState _tmp18_;
 
540
                _tmp9_ = self->priv->_player;
 
541
                _tmp10_ = mpris_player_get_PlaybackStatus (_tmp9_);
 
542
                _tmp11_ = _tmp10_;
 
543
                state = _tmp11_;
504
544
                g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 200, _mpris2_controller_ensure_correct_playback_status_gsource_func, g_object_ref (self), g_object_unref);
505
 
                _tmp5_ = mpris2_controller_determine_play_state (self, state);
506
 
                p = (TransportState) _tmp5_;
507
 
                _tmp6_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT);
508
 
                _tmp7_ = (PlayerItem*) _tmp6_;
509
 
                _tmp8_ = IS_TRANSPORT_MENUITEM (_tmp7_) ? ((TransportMenuitem*) _tmp7_) : NULL;
510
 
                transport_menuitem_change_play_state (_tmp8_, p);
511
 
                _g_object_unref0 (_tmp8_);
 
545
                _tmp12_ = state;
 
546
                _tmp13_ = mpris2_controller_determine_play_state (self, _tmp12_);
 
547
                p = (TransportState) _tmp13_;
 
548
                _tmp14_ = self->priv->_owner;
 
549
                _tmp15_ = _tmp14_->custom_items;
 
550
                _tmp16_ = gee_abstract_list_get ((GeeAbstractList*) _tmp15_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT);
 
551
                _tmp17_ = IS_TRANSPORT_MENUITEM ((PlayerItem*) _tmp16_) ? ((TransportMenuitem*) ((PlayerItem*) _tmp16_)) : NULL;
 
552
                _tmp18_ = p;
 
553
                transport_menuitem_change_play_state (_tmp17_, _tmp18_);
 
554
                _g_object_unref0 (_tmp17_);
512
555
                _g_free0 (state);
513
556
        }
514
 
        _tmp9_ = g_hash_table_lookup (changed_properties, "Metadata");
515
 
        _tmp10_ = _g_variant_ref0 ((GVariant*) _tmp9_);
516
 
        meta_v = _tmp10_;
517
 
        if (meta_v != NULL) {
 
557
        _tmp19_ = changed_properties;
 
558
        _tmp20_ = g_hash_table_lookup (_tmp19_, "Metadata");
 
559
        _tmp21_ = _g_variant_ref0 ((GVariant*) _tmp20_);
 
560
        meta_v = _tmp21_;
 
561
        _tmp22_ = meta_v;
 
562
        if (_tmp22_ != NULL) {
518
563
                g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 200, _mpris2_controller_ensure_correct_metadata_gsource_func, g_object_ref (self), g_object_unref);
519
564
        }
520
 
        _tmp11_ = g_hash_table_lookup (changed_properties, "ActivePlaylist");
521
 
        _tmp12_ = _g_variant_ref0 ((GVariant*) _tmp11_);
522
 
        playlist_v = _tmp12_;
523
 
        if (playlist_v != NULL) {
524
 
                gboolean _tmp14_;
525
 
                _tmp14_ = TRUE;
526
 
                _tmp13_ = _bool_equal (self->priv->_owner->use_playlists, &_tmp14_) == TRUE;
 
565
        _tmp23_ = changed_properties;
 
566
        _tmp24_ = g_hash_table_lookup (_tmp23_, "ActivePlaylist");
 
567
        _tmp25_ = _g_variant_ref0 ((GVariant*) _tmp24_);
 
568
        playlist_v = _tmp25_;
 
569
        _tmp27_ = playlist_v;
 
570
        if (_tmp27_ != NULL) {
 
571
                PlayerController* _tmp28_;
 
572
                gboolean* _tmp29_;
 
573
                gboolean _tmp30_;
 
574
                _tmp28_ = self->priv->_owner;
 
575
                _tmp29_ = _tmp28_->use_playlists;
 
576
                _tmp30_ = TRUE;
 
577
                _tmp26_ = _bool_equal (_tmp29_, &_tmp30_) == TRUE;
527
578
        } else {
528
 
                _tmp13_ = FALSE;
 
579
                _tmp26_ = FALSE;
529
580
        }
530
 
        if (_tmp13_) {
 
581
        _tmp31_ = _tmp26_;
 
582
        if (_tmp31_) {
531
583
                g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 300, _mpris2_controller_fetch_active_playlist_gsource_func, g_object_ref (self), g_object_unref);
532
584
        }
533
 
        _tmp15_ = g_hash_table_lookup (changed_properties, "PlaylistCount");
534
 
        _tmp16_ = _g_variant_ref0 ((GVariant*) _tmp15_);
535
 
        playlist_count_v = _tmp16_;
536
 
        if (playlist_count_v != NULL) {
537
 
                gboolean _tmp18_;
538
 
                _tmp18_ = TRUE;
539
 
                _tmp17_ = _bool_equal (self->priv->_owner->use_playlists, &_tmp18_) == TRUE;
540
 
        } else {
541
 
                _tmp17_ = FALSE;
542
 
        }
543
 
        if (_tmp17_) {
544
 
                mpris2_controller_fetch_playlists (self, NULL, NULL);
545
 
                mpris2_controller_fetch_active_playlist (self);
546
 
        }
547
 
        _tmp19_ = g_hash_table_lookup (changed_properties, "Orderings");
548
 
        _tmp20_ = _g_variant_ref0 ((GVariant*) _tmp19_);
549
 
        playlist_orderings_v = _tmp20_;
550
 
        if (playlist_orderings_v != NULL) {
551
 
                gboolean _tmp22_;
552
 
                _tmp22_ = TRUE;
553
 
                _tmp21_ = _bool_equal (self->priv->_owner->use_playlists, &_tmp22_) == TRUE;
554
 
        } else {
555
 
                _tmp21_ = FALSE;
556
 
        }
557
 
        if (_tmp21_) {
558
 
                mpris2_controller_fetch_playlists (self, NULL, NULL);
559
 
                mpris2_controller_fetch_active_playlist (self);
560
 
        }
561
 
        _tmp23_ = g_hash_table_lookup (changed_properties, "Identity");
562
 
        _tmp24_ = _g_variant_ref0 ((GVariant*) _tmp23_);
563
 
        identity_v = _tmp24_;
564
 
        if (identity_v != NULL) {
565
 
                gpointer _tmp25_ = NULL;
566
 
                PlayerItem* _tmp26_;
 
585
        _tmp32_ = changed_properties;
 
586
        _tmp33_ = g_hash_table_lookup (_tmp32_, "PlaylistCount");
 
587
        _tmp34_ = _g_variant_ref0 ((GVariant*) _tmp33_);
 
588
        playlist_count_v = _tmp34_;
 
589
        _tmp36_ = playlist_count_v;
 
590
        if (_tmp36_ != NULL) {
 
591
                PlayerController* _tmp37_;
 
592
                gboolean* _tmp38_;
 
593
                gboolean _tmp39_;
 
594
                _tmp37_ = self->priv->_owner;
 
595
                _tmp38_ = _tmp37_->use_playlists;
 
596
                _tmp39_ = TRUE;
 
597
                _tmp35_ = _bool_equal (_tmp38_, &_tmp39_) == TRUE;
 
598
        } else {
 
599
                _tmp35_ = FALSE;
 
600
        }
 
601
        _tmp40_ = _tmp35_;
 
602
        if (_tmp40_) {
 
603
                mpris2_controller_fetch_playlists (self, NULL, NULL);
 
604
                mpris2_controller_fetch_active_playlist (self);
 
605
        }
 
606
        _tmp41_ = changed_properties;
 
607
        _tmp42_ = g_hash_table_lookup (_tmp41_, "Orderings");
 
608
        _tmp43_ = _g_variant_ref0 ((GVariant*) _tmp42_);
 
609
        playlist_orderings_v = _tmp43_;
 
610
        _tmp45_ = playlist_orderings_v;
 
611
        if (_tmp45_ != NULL) {
 
612
                PlayerController* _tmp46_;
 
613
                gboolean* _tmp47_;
 
614
                gboolean _tmp48_;
 
615
                _tmp46_ = self->priv->_owner;
 
616
                _tmp47_ = _tmp46_->use_playlists;
 
617
                _tmp48_ = TRUE;
 
618
                _tmp44_ = _bool_equal (_tmp47_, &_tmp48_) == TRUE;
 
619
        } else {
 
620
                _tmp44_ = FALSE;
 
621
        }
 
622
        _tmp49_ = _tmp44_;
 
623
        if (_tmp49_) {
 
624
                mpris2_controller_fetch_playlists (self, NULL, NULL);
 
625
                mpris2_controller_fetch_active_playlist (self);
 
626
        }
 
627
        _tmp50_ = changed_properties;
 
628
        _tmp51_ = g_hash_table_lookup (_tmp50_, "Identity");
 
629
        _tmp52_ = _g_variant_ref0 ((GVariant*) _tmp51_);
 
630
        identity_v = _tmp52_;
 
631
        _tmp53_ = identity_v;
 
632
        if (_tmp53_ != NULL) {
 
633
                PlayerController* _tmp54_;
 
634
                GeeArrayList* _tmp55_;
 
635
                gpointer _tmp56_ = NULL;
567
636
                MetadataMenuitem* md;
568
 
                gchar* _tmp27_ = NULL;
569
 
                gchar* _tmp28_;
570
 
                _tmp25_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA);
571
 
                _tmp26_ = (PlayerItem*) _tmp25_;
572
 
                md = IS_METADATA_MENUITEM (_tmp26_) ? ((MetadataMenuitem*) _tmp26_) : NULL;
573
 
                _tmp27_ = mpris_root_get_Identity (self->priv->_mpris2_root);
574
 
                _tmp28_ = _tmp27_;
575
 
                metadata_menuitem_alter_label (md, _tmp28_);
576
 
                _g_free0 (_tmp28_);
 
637
                MetadataMenuitem* _tmp57_;
 
638
                MprisRoot* _tmp58_;
 
639
                gchar* _tmp59_;
 
640
                gchar* _tmp60_;
 
641
                gchar* _tmp61_;
 
642
                _tmp54_ = self->priv->_owner;
 
643
                _tmp55_ = _tmp54_->custom_items;
 
644
                _tmp56_ = gee_abstract_list_get ((GeeAbstractList*) _tmp55_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA);
 
645
                md = IS_METADATA_MENUITEM ((PlayerItem*) _tmp56_) ? ((MetadataMenuitem*) ((PlayerItem*) _tmp56_)) : NULL;
 
646
                _tmp57_ = md;
 
647
                _tmp58_ = self->priv->_mpris2_root;
 
648
                _tmp59_ = mpris_root_get_Identity (_tmp58_);
 
649
                _tmp60_ = _tmp59_;
 
650
                _tmp61_ = _tmp60_;
 
651
                metadata_menuitem_alter_label (_tmp57_, _tmp61_);
 
652
                _g_free0 (_tmp61_);
577
653
                _g_object_unref0 (md);
578
654
        }
579
655
        _g_variant_unref0 (identity_v);
589
665
        gboolean result = FALSE;
590
666
        GHashTable* _tmp0_ = NULL;
591
667
        GHashTable* changed_updates;
592
 
        gpointer _tmp1_ = NULL;
 
668
        PlayerController* _tmp1_;
 
669
        GeeArrayList* _tmp2_;
 
670
        gpointer _tmp3_ = NULL;
593
671
        PlayerItem* metadata;
594
 
        GeeHashSet* _tmp2_ = NULL;
595
 
        GeeHashSet* _tmp3_;
596
672
        GeeHashSet* _tmp4_ = NULL;
597
673
        GeeHashSet* _tmp5_;
598
 
        gpointer _tmp6_ = NULL;
599
 
        PlayerItem* _tmp7_;
 
674
        GeeHashSet* _tmp6_ = NULL;
 
675
        GeeHashSet* _tmp7_;
 
676
        PlayerController* _tmp8_;
 
677
        GeeArrayList* _tmp9_;
 
678
        gpointer _tmp10_ = NULL;
600
679
        MetadataMenuitem* md;
601
 
        GeeHashSet* _tmp8_ = NULL;
602
 
        GeeHashSet* _tmp9_;
603
 
        gboolean _tmp10_;
604
 
        gboolean _tmp11_;
 
680
        GeeHashSet* _tmp11_ = NULL;
 
681
        GeeHashSet* _tmp12_;
 
682
        gboolean _tmp13_ = FALSE;
 
683
        gboolean _tmp14_;
605
684
        gboolean collapsing;
606
685
        g_return_val_if_fail (self != NULL, FALSE);
607
686
        _tmp0_ = mpris2_controller_clean_metadata (self);
608
687
        changed_updates = _tmp0_;
609
 
        _tmp1_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA);
610
 
        metadata = (PlayerItem*) _tmp1_;
611
 
        _tmp2_ = metadata_menuitem_relevant_attributes_for_ui ();
612
 
        _tmp3_ = _tmp2_;
613
 
        player_item_reset (metadata, _tmp3_);
614
 
        _g_object_unref0 (_tmp3_);
 
688
        _tmp1_ = self->priv->_owner;
 
689
        _tmp2_ = _tmp1_->custom_items;
 
690
        _tmp3_ = gee_abstract_list_get ((GeeAbstractList*) _tmp2_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA);
 
691
        metadata = (PlayerItem*) _tmp3_;
615
692
        _tmp4_ = metadata_menuitem_relevant_attributes_for_ui ();
616
693
        _tmp5_ = _tmp4_;
617
 
        player_item_update (metadata, changed_updates, _tmp5_);
 
694
        player_item_reset (metadata, _tmp5_);
618
695
        _g_object_unref0 (_tmp5_);
619
 
        _tmp6_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA);
620
 
        _tmp7_ = (PlayerItem*) _tmp6_;
621
 
        md = IS_METADATA_MENUITEM (_tmp7_) ? ((MetadataMenuitem*) _tmp7_) : NULL;
622
 
        _tmp8_ = metadata_menuitem_relevant_attributes_for_ui ();
623
 
        _tmp9_ = _tmp8_;
624
 
        _tmp10_ = player_item_populated (metadata, _tmp9_);
625
 
        _tmp11_ = !_tmp10_;
626
 
        _g_object_unref0 (_tmp9_);
627
 
        collapsing = _tmp11_;
 
696
        _tmp6_ = metadata_menuitem_relevant_attributes_for_ui ();
 
697
        _tmp7_ = _tmp6_;
 
698
        player_item_update (metadata, changed_updates, _tmp7_);
 
699
        _g_object_unref0 (_tmp7_);
 
700
        _tmp8_ = self->priv->_owner;
 
701
        _tmp9_ = _tmp8_->custom_items;
 
702
        _tmp10_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA);
 
703
        md = IS_METADATA_MENUITEM ((PlayerItem*) _tmp10_) ? ((MetadataMenuitem*) ((PlayerItem*) _tmp10_)) : NULL;
 
704
        _tmp11_ = metadata_menuitem_relevant_attributes_for_ui ();
 
705
        _tmp12_ = _tmp11_;
 
706
        _tmp13_ = player_item_populated (metadata, _tmp12_);
 
707
        _tmp14_ = !_tmp13_;
 
708
        _g_object_unref0 (_tmp12_);
 
709
        collapsing = _tmp14_;
628
710
        metadata_menuitem_should_collapse (md, collapsing);
629
711
        result = FALSE;
630
712
        _g_object_unref0 (md);
636
718
 
637
719
static gboolean mpris2_controller_ensure_correct_playback_status (Mpris2Controller* self) {
638
720
        gboolean result = FALSE;
639
 
        gchar* _tmp0_ = NULL;
 
721
        MprisPlayer* _tmp0_;
640
722
        gchar* _tmp1_;
641
 
        TransportState _tmp2_;
642
 
        TransportState _tmp3_;
 
723
        gchar* _tmp2_;
 
724
        gchar* _tmp3_;
 
725
        TransportState _tmp4_ = 0;
 
726
        TransportState _tmp5_;
643
727
        TransportState p;
644
 
        gpointer _tmp4_ = NULL;
645
 
        PlayerItem* _tmp5_;
646
 
        TransportMenuitem* _tmp6_;
 
728
        PlayerController* _tmp6_;
 
729
        GeeArrayList* _tmp7_;
 
730
        gpointer _tmp8_ = NULL;
 
731
        TransportMenuitem* _tmp9_;
647
732
        g_return_val_if_fail (self != NULL, FALSE);
648
 
        _tmp0_ = mpris_player_get_PlaybackStatus (self->priv->_player);
649
 
        _tmp1_ = _tmp0_;
650
 
        _tmp2_ = mpris2_controller_determine_play_state (self, _tmp1_);
651
 
        _tmp3_ = (TransportState) _tmp2_;
652
 
        _g_free0 (_tmp1_);
653
 
        p = _tmp3_;
654
 
        _tmp4_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT);
655
 
        _tmp5_ = (PlayerItem*) _tmp4_;
656
 
        _tmp6_ = IS_TRANSPORT_MENUITEM (_tmp5_) ? ((TransportMenuitem*) _tmp5_) : NULL;
657
 
        transport_menuitem_change_play_state (_tmp6_, p);
658
 
        _g_object_unref0 (_tmp6_);
 
733
        _tmp0_ = self->priv->_player;
 
734
        _tmp1_ = mpris_player_get_PlaybackStatus (_tmp0_);
 
735
        _tmp2_ = _tmp1_;
 
736
        _tmp3_ = _tmp2_;
 
737
        _tmp4_ = mpris2_controller_determine_play_state (self, _tmp3_);
 
738
        _tmp5_ = (TransportState) _tmp4_;
 
739
        _g_free0 (_tmp3_);
 
740
        p = _tmp5_;
 
741
        _tmp6_ = self->priv->_owner;
 
742
        _tmp7_ = _tmp6_->custom_items;
 
743
        _tmp8_ = gee_abstract_list_get ((GeeAbstractList*) _tmp7_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT);
 
744
        _tmp9_ = IS_TRANSPORT_MENUITEM ((PlayerItem*) _tmp8_) ? ((TransportMenuitem*) ((PlayerItem*) _tmp8_)) : NULL;
 
745
        transport_menuitem_change_play_state (_tmp9_, p);
 
746
        _g_object_unref0 (_tmp9_);
659
747
        result = FALSE;
660
748
        return result;
661
749
}
668
756
 
669
757
static GHashTable* mpris2_controller_clean_metadata (Mpris2Controller* self) {
670
758
        GHashTable* result = NULL;
671
 
        GHashTable* _tmp0_ = NULL;
672
 
        GHashTable* changed_updates;
673
 
        GHashTable* _tmp1_ = NULL;
 
759
        MprisPlayer* _tmp0_;
 
760
        GHashTable* _tmp1_;
674
761
        GHashTable* _tmp2_;
675
 
        gconstpointer _tmp3_ = NULL;
676
 
        GVariant* _tmp4_;
677
 
        GVariant* _tmp5_;
 
762
        GHashTable* changed_updates;
 
763
        MprisPlayer* _tmp3_;
 
764
        GHashTable* _tmp4_;
 
765
        GHashTable* _tmp5_;
 
766
        GHashTable* _tmp6_;
 
767
        gconstpointer _tmp7_ = NULL;
 
768
        GVariant* _tmp8_;
 
769
        GVariant* _tmp9_;
678
770
        GVariant* artist_v;
 
771
        GVariant* _tmp10_;
679
772
        g_return_val_if_fail (self != NULL, NULL);
680
 
        _tmp0_ = mpris_player_get_Metadata (self->priv->_player);
681
 
        changed_updates = _tmp0_;
682
 
        _tmp1_ = mpris_player_get_Metadata (self->priv->_player);
 
773
        _tmp0_ = self->priv->_player;
 
774
        _tmp1_ = mpris_player_get_Metadata (_tmp0_);
683
775
        _tmp2_ = _tmp1_;
684
 
        _tmp3_ = g_hash_table_lookup (_tmp2_, "xesam:artist");
685
 
        _tmp4_ = _g_variant_ref0 ((GVariant*) _tmp3_);
 
776
        changed_updates = _tmp2_;
 
777
        _tmp3_ = self->priv->_player;
 
778
        _tmp4_ = mpris_player_get_Metadata (_tmp3_);
686
779
        _tmp5_ = _tmp4_;
687
 
        _g_hash_table_unref0 (_tmp2_);
688
 
        artist_v = _tmp5_;
689
 
        if (artist_v != NULL) {
 
780
        _tmp6_ = _tmp5_;
 
781
        _tmp7_ = g_hash_table_lookup (_tmp6_, "xesam:artist");
 
782
        _tmp8_ = _g_variant_ref0 ((GVariant*) _tmp7_);
 
783
        _tmp9_ = _tmp8_;
 
784
        _g_hash_table_unref0 (_tmp6_);
 
785
        artist_v = _tmp9_;
 
786
        _tmp10_ = artist_v;
 
787
        if (_tmp10_ != NULL) {
690
788
                gchar* display_artists = NULL;
691
 
                const gchar* _tmp6_ = NULL;
692
 
                gchar* _tmp12_;
693
 
                _tmp6_ = g_variant_get_type_string (artist_v);
694
 
                if (g_strcmp0 (_tmp6_, "s") == 0) {
695
 
                        const gchar* _tmp7_ = NULL;
696
 
                        gchar* _tmp8_;
697
 
                        _tmp7_ = g_variant_get_string (artist_v, NULL);
698
 
                        _tmp8_ = g_strdup (_tmp7_);
 
789
                GVariant* _tmp11_;
 
790
                const gchar* _tmp12_ = NULL;
 
791
                GHashTable* _tmp21_;
 
792
                gchar* _tmp22_;
 
793
                const gchar* _tmp23_;
 
794
                GVariant* _tmp24_;
 
795
                _tmp11_ = artist_v;
 
796
                _tmp12_ = g_variant_get_type_string (_tmp11_);
 
797
                if (g_strcmp0 (_tmp12_, "s") == 0) {
 
798
                        GVariant* _tmp13_;
 
799
                        const gchar* _tmp14_ = NULL;
 
800
                        gchar* _tmp15_;
 
801
                        _tmp13_ = artist_v;
 
802
                        _tmp14_ = g_variant_get_string (_tmp13_, NULL);
 
803
                        _tmp15_ = g_strdup (_tmp14_);
699
804
                        _g_free0 (display_artists);
700
 
                        display_artists = _tmp8_;
 
805
                        display_artists = _tmp15_;
701
806
                } else {
702
 
                        size_t _tmp9_;
703
 
                        gchar** _tmp10_ = NULL;
 
807
                        GVariant* _tmp16_;
 
808
                        size_t _tmp17_;
 
809
                        gchar** _tmp18_ = NULL;
704
810
                        gchar** artists;
705
811
                        gint artists_length1;
706
812
                        gint _artists_size_;
707
 
                        gchar* _tmp11_ = NULL;
708
 
                        _tmp10_ = g_variant_dup_strv (artist_v, &_tmp9_);
709
 
                        artists = _tmp10_;
710
 
                        artists_length1 = _tmp9_;
711
 
                        _artists_size_ = _tmp9_;
712
 
                        _tmp11_ = g_strjoinv (", ", artists);
 
813
                        gchar** _tmp19_;
 
814
                        gint _tmp19__length1;
 
815
                        gchar* _tmp20_ = NULL;
 
816
                        _tmp16_ = artist_v;
 
817
                        _tmp18_ = g_variant_dup_strv (_tmp16_, &_tmp17_);
 
818
                        artists = _tmp18_;
 
819
                        artists_length1 = _tmp17_;
 
820
                        _artists_size_ = artists_length1;
 
821
                        _tmp19_ = artists;
 
822
                        _tmp19__length1 = artists_length1;
 
823
                        _tmp20_ = g_strjoinv (", ", _tmp19_);
713
824
                        _g_free0 (display_artists);
714
 
                        display_artists = _tmp11_;
 
825
                        display_artists = _tmp20_;
715
826
                        artists = (_vala_array_free (artists, artists_length1, (GDestroyNotify) g_free), NULL);
716
827
                }
717
 
                _tmp12_ = g_strdup ("xesam:artist");
718
 
                g_hash_table_replace (changed_updates, _tmp12_, _variant_new1 (display_artists));
 
828
                _tmp21_ = changed_updates;
 
829
                _tmp22_ = g_strdup ("xesam:artist");
 
830
                _tmp23_ = display_artists;
 
831
                _tmp24_ = _variant_new1 (_tmp23_);
 
832
                g_hash_table_replace (_tmp21_, _tmp22_, _tmp24_);
719
833
                _g_free0 (display_artists);
720
834
        }
721
835
        result = changed_updates;
727
841
static TransportState mpris2_controller_determine_play_state (Mpris2Controller* self, const gchar* status) {
728
842
        TransportState result = 0;
729
843
        gboolean _tmp0_ = FALSE;
 
844
        const gchar* _tmp1_;
 
845
        gboolean _tmp3_;
730
846
        g_return_val_if_fail (self != NULL, 0);
731
 
        if (status != NULL) {
732
 
                _tmp0_ = g_strcmp0 (status, "Playing") == 0;
 
847
        _tmp1_ = status;
 
848
        if (_tmp1_ != NULL) {
 
849
                const gchar* _tmp2_;
 
850
                _tmp2_ = status;
 
851
                _tmp0_ = g_strcmp0 (_tmp2_, "Playing") == 0;
733
852
        } else {
734
853
                _tmp0_ = FALSE;
735
854
        }
736
 
        if (_tmp0_) {
 
855
        _tmp3_ = _tmp0_;
 
856
        if (_tmp3_) {
737
857
                result = TRANSPORT_STATE_PLAYING;
738
858
                return result;
739
859
        }
744
864
 
745
865
void mpris2_controller_initial_update (Mpris2Controller* self) {
746
866
        TransportState update = 0;
747
 
        gchar* _tmp0_ = NULL;
 
867
        MprisPlayer* _tmp0_;
748
868
        gchar* _tmp1_;
749
 
        gboolean _tmp2_;
750
 
        gchar* _tmp6_ = NULL;
751
 
        gchar* _tmp7_;
752
 
        gboolean _tmp8_;
753
 
        gpointer _tmp13_ = NULL;
754
 
        PlayerItem* _tmp14_;
755
 
        TransportMenuitem* _tmp15_;
756
 
        GHashTable* _tmp16_ = NULL;
 
869
        gchar* _tmp2_;
 
870
        gchar* _tmp3_;
 
871
        gboolean _tmp4_;
 
872
        MprisRoot* _tmp10_;
 
873
        gchar* _tmp11_;
 
874
        gchar* _tmp12_;
 
875
        gchar* _tmp13_;
 
876
        gboolean _tmp14_;
 
877
        PlayerController* _tmp23_;
 
878
        GeeArrayList* _tmp24_;
 
879
        gpointer _tmp25_ = NULL;
 
880
        TransportMenuitem* _tmp26_;
 
881
        TransportState _tmp27_;
 
882
        GHashTable* _tmp28_ = NULL;
757
883
        GHashTable* cleaned_metadata;
758
 
        gpointer _tmp17_ = NULL;
759
 
        PlayerItem* _tmp18_;
760
 
        GeeHashSet* _tmp19_ = NULL;
761
 
        GeeHashSet* _tmp20_;
762
 
        gboolean _tmp21_;
 
884
        PlayerController* _tmp29_;
 
885
        GeeArrayList* _tmp30_;
 
886
        gpointer _tmp31_ = NULL;
 
887
        PlayerItem* _tmp32_;
 
888
        GHashTable* _tmp33_;
 
889
        GeeHashSet* _tmp34_ = NULL;
 
890
        GeeHashSet* _tmp35_;
 
891
        PlayerController* _tmp36_;
 
892
        gboolean* _tmp37_;
 
893
        gboolean _tmp38_;
763
894
        g_return_if_fail (self != NULL);
764
 
        _tmp0_ = mpris_player_get_PlaybackStatus (self->priv->_player);
765
 
        _tmp1_ = _tmp0_;
766
 
        _tmp2_ = _tmp1_ == NULL;
767
 
        _g_free0 (_tmp1_);
768
 
        if (_tmp2_) {
 
895
        _tmp0_ = self->priv->_player;
 
896
        _tmp1_ = mpris_player_get_PlaybackStatus (_tmp0_);
 
897
        _tmp2_ = _tmp1_;
 
898
        _tmp3_ = _tmp2_;
 
899
        _tmp4_ = _tmp3_ == NULL;
 
900
        _g_free0 (_tmp3_);
 
901
        if (_tmp4_) {
769
902
                update = TRANSPORT_STATE_PAUSED;
770
903
        } else {
771
 
                gchar* _tmp3_ = NULL;
772
 
                gchar* _tmp4_;
773
 
                TransportState _tmp5_;
774
 
                _tmp3_ = mpris_player_get_PlaybackStatus (self->priv->_player);
775
 
                _tmp4_ = _tmp3_;
776
 
                _tmp5_ = mpris2_controller_determine_play_state (self, _tmp4_);
777
 
                update = _tmp5_;
778
 
                _g_free0 (_tmp4_);
 
904
                MprisPlayer* _tmp5_;
 
905
                gchar* _tmp6_;
 
906
                gchar* _tmp7_;
 
907
                gchar* _tmp8_;
 
908
                TransportState _tmp9_ = 0;
 
909
                _tmp5_ = self->priv->_player;
 
910
                _tmp6_ = mpris_player_get_PlaybackStatus (_tmp5_);
 
911
                _tmp7_ = _tmp6_;
 
912
                _tmp8_ = _tmp7_;
 
913
                _tmp9_ = mpris2_controller_determine_play_state (self, _tmp8_);
 
914
                update = _tmp9_;
 
915
                _g_free0 (_tmp8_);
779
916
        }
780
 
        _tmp6_ = mpris_root_get_Identity (self->priv->_mpris2_root);
781
 
        _tmp7_ = _tmp6_;
782
 
        _tmp8_ = _tmp7_ != NULL;
783
 
        _g_free0 (_tmp7_);
784
 
        if (_tmp8_) {
785
 
                gpointer _tmp9_ = NULL;
786
 
                PlayerItem* _tmp10_;
 
917
        _tmp10_ = self->priv->_mpris2_root;
 
918
        _tmp11_ = mpris_root_get_Identity (_tmp10_);
 
919
        _tmp12_ = _tmp11_;
 
920
        _tmp13_ = _tmp12_;
 
921
        _tmp14_ = _tmp13_ != NULL;
 
922
        _g_free0 (_tmp13_);
 
923
        if (_tmp14_) {
 
924
                PlayerController* _tmp15_;
 
925
                GeeArrayList* _tmp16_;
 
926
                gpointer _tmp17_ = NULL;
787
927
                MetadataMenuitem* md;
788
 
                gchar* _tmp11_ = NULL;
789
 
                gchar* _tmp12_;
790
 
                _tmp9_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA);
791
 
                _tmp10_ = (PlayerItem*) _tmp9_;
792
 
                md = IS_METADATA_MENUITEM (_tmp10_) ? ((MetadataMenuitem*) _tmp10_) : NULL;
793
 
                _tmp11_ = mpris_root_get_Identity (self->priv->_mpris2_root);
794
 
                _tmp12_ = _tmp11_;
795
 
                metadata_menuitem_alter_label (md, _tmp12_);
796
 
                _g_free0 (_tmp12_);
 
928
                MetadataMenuitem* _tmp18_;
 
929
                MprisRoot* _tmp19_;
 
930
                gchar* _tmp20_;
 
931
                gchar* _tmp21_;
 
932
                gchar* _tmp22_;
 
933
                _tmp15_ = self->priv->_owner;
 
934
                _tmp16_ = _tmp15_->custom_items;
 
935
                _tmp17_ = gee_abstract_list_get ((GeeAbstractList*) _tmp16_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA);
 
936
                md = IS_METADATA_MENUITEM ((PlayerItem*) _tmp17_) ? ((MetadataMenuitem*) ((PlayerItem*) _tmp17_)) : NULL;
 
937
                _tmp18_ = md;
 
938
                _tmp19_ = self->priv->_mpris2_root;
 
939
                _tmp20_ = mpris_root_get_Identity (_tmp19_);
 
940
                _tmp21_ = _tmp20_;
 
941
                _tmp22_ = _tmp21_;
 
942
                metadata_menuitem_alter_label (_tmp18_, _tmp22_);
 
943
                _g_free0 (_tmp22_);
797
944
                _g_object_unref0 (md);
798
945
        }
799
 
        _tmp13_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT);
800
 
        _tmp14_ = (PlayerItem*) _tmp13_;
801
 
        _tmp15_ = IS_TRANSPORT_MENUITEM (_tmp14_) ? ((TransportMenuitem*) _tmp14_) : NULL;
802
 
        transport_menuitem_change_play_state (_tmp15_, update);
803
 
        _g_object_unref0 (_tmp15_);
804
 
        _tmp16_ = mpris2_controller_clean_metadata (self);
805
 
        cleaned_metadata = _tmp16_;
806
 
        _tmp17_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA);
807
 
        _tmp18_ = (PlayerItem*) _tmp17_;
808
 
        _tmp19_ = metadata_menuitem_attributes_format ();
809
 
        _tmp20_ = _tmp19_;
810
 
        player_item_update (_tmp18_, cleaned_metadata, _tmp20_);
811
 
        _g_object_unref0 (_tmp20_);
812
 
        _g_object_unref0 (_tmp18_);
813
 
        _tmp21_ = TRUE;
814
 
        if (_bool_equal (self->priv->_owner->use_playlists, &_tmp21_) == TRUE) {
 
946
        _tmp23_ = self->priv->_owner;
 
947
        _tmp24_ = _tmp23_->custom_items;
 
948
        _tmp25_ = gee_abstract_list_get ((GeeAbstractList*) _tmp24_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT);
 
949
        _tmp26_ = IS_TRANSPORT_MENUITEM ((PlayerItem*) _tmp25_) ? ((TransportMenuitem*) ((PlayerItem*) _tmp25_)) : NULL;
 
950
        _tmp27_ = update;
 
951
        transport_menuitem_change_play_state (_tmp26_, _tmp27_);
 
952
        _g_object_unref0 (_tmp26_);
 
953
        _tmp28_ = mpris2_controller_clean_metadata (self);
 
954
        cleaned_metadata = _tmp28_;
 
955
        _tmp29_ = self->priv->_owner;
 
956
        _tmp30_ = _tmp29_->custom_items;
 
957
        _tmp31_ = gee_abstract_list_get ((GeeAbstractList*) _tmp30_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA);
 
958
        _tmp32_ = (PlayerItem*) _tmp31_;
 
959
        _tmp33_ = cleaned_metadata;
 
960
        _tmp34_ = metadata_menuitem_attributes_format ();
 
961
        _tmp35_ = _tmp34_;
 
962
        player_item_update (_tmp32_, _tmp33_, _tmp35_);
 
963
        _g_object_unref0 (_tmp35_);
 
964
        _g_object_unref0 (_tmp32_);
 
965
        _tmp36_ = self->priv->_owner;
 
966
        _tmp37_ = _tmp36_->use_playlists;
 
967
        _tmp38_ = TRUE;
 
968
        if (_bool_equal (_tmp37_, &_tmp38_) == TRUE) {
815
969
                mpris2_controller_fetch_playlists (self, NULL, NULL);
816
970
                mpris2_controller_fetch_active_playlist (self);
817
971
        }
820
974
 
821
975
 
822
976
void mpris2_controller_transport_update (Mpris2Controller* self, TransportAction command) {
 
977
        TransportAction _tmp0_;
823
978
        g_return_if_fail (self != NULL);
824
 
        if (command == TRANSPORT_ACTION_PLAY_PAUSE) {
825
 
                mpris_player_PlayPause (self->priv->_player, NULL, NULL);
 
979
        _tmp0_ = command;
 
980
        if (_tmp0_ == TRANSPORT_ACTION_PLAY_PAUSE) {
 
981
                MprisPlayer* _tmp1_;
 
982
                _tmp1_ = self->priv->_player;
 
983
                mpris_player_PlayPause (_tmp1_, NULL, NULL);
826
984
        } else {
827
 
                if (command == TRANSPORT_ACTION_PREVIOUS) {
828
 
                        mpris_player_Previous (self->priv->_player, NULL, NULL);
 
985
                TransportAction _tmp2_;
 
986
                _tmp2_ = command;
 
987
                if (_tmp2_ == TRANSPORT_ACTION_PREVIOUS) {
 
988
                        MprisPlayer* _tmp3_;
 
989
                        _tmp3_ = self->priv->_player;
 
990
                        mpris_player_Previous (_tmp3_, NULL, NULL);
829
991
                } else {
830
 
                        if (command == TRANSPORT_ACTION_NEXT) {
831
 
                                mpris_player_Next (self->priv->_player, NULL, NULL);
 
992
                        TransportAction _tmp4_;
 
993
                        _tmp4_ = command;
 
994
                        if (_tmp4_ == TRANSPORT_ACTION_NEXT) {
 
995
                                MprisPlayer* _tmp5_;
 
996
                                _tmp5_ = self->priv->_player;
 
997
                                mpris_player_Next (_tmp5_, NULL, NULL);
832
998
                        } else {
833
 
                                if (command == TRANSPORT_ACTION_REWIND) {
834
 
                                        mpris_player_Seek (self->priv->_player, (gint64) (-500000), NULL, NULL);
 
999
                                TransportAction _tmp6_;
 
1000
                                _tmp6_ = command;
 
1001
                                if (_tmp6_ == TRANSPORT_ACTION_REWIND) {
 
1002
                                        MprisPlayer* _tmp7_;
 
1003
                                        _tmp7_ = self->priv->_player;
 
1004
                                        mpris_player_Seek (_tmp7_, (gint64) (-500000), NULL, NULL);
835
1005
                                } else {
836
 
                                        if (command == TRANSPORT_ACTION_FORWIND) {
837
 
                                                mpris_player_Seek (self->priv->_player, (gint64) 400000, NULL, NULL);
 
1006
                                        TransportAction _tmp8_;
 
1007
                                        _tmp8_ = command;
 
1008
                                        if (_tmp8_ == TRANSPORT_ACTION_FORWIND) {
 
1009
                                                MprisPlayer* _tmp9_;
 
1010
                                                _tmp9_ = self->priv->_player;
 
1011
                                                mpris_player_Seek (_tmp9_, (gint64) 400000, NULL, NULL);
838
1012
                                        }
839
1013
                                }
840
1014
                        }
846
1020
gboolean mpris2_controller_connected (Mpris2Controller* self) {
847
1021
        gboolean result = FALSE;
848
1022
        gboolean _tmp0_ = FALSE;
 
1023
        MprisPlayer* _tmp1_;
 
1024
        gboolean _tmp3_;
849
1025
        g_return_val_if_fail (self != NULL, FALSE);
850
 
        if (self->priv->_player != NULL) {
851
 
                _tmp0_ = self->priv->_mpris2_root != NULL;
 
1026
        _tmp1_ = self->priv->_player;
 
1027
        if (_tmp1_ != NULL) {
 
1028
                MprisRoot* _tmp2_;
 
1029
                _tmp2_ = self->priv->_mpris2_root;
 
1030
                _tmp0_ = _tmp2_ != NULL;
852
1031
        } else {
853
1032
                _tmp0_ = FALSE;
854
1033
        }
855
 
        result = _tmp0_;
 
1034
        _tmp3_ = _tmp0_;
 
1035
        result = _tmp3_;
856
1036
        return result;
857
1037
}
858
1038
 
859
1039
 
860
1040
void mpris2_controller_expose (Mpris2Controller* self) {
861
 
        gboolean _tmp0_;
 
1041
        gboolean _tmp0_ = FALSE;
862
1042
        g_return_if_fail (self != NULL);
863
1043
        _tmp0_ = mpris2_controller_connected (self);
864
1044
        if (_tmp0_ == TRUE) {
865
 
                mpris_root_Raise (self->priv->_mpris2_root, NULL, NULL);
 
1045
                MprisRoot* _tmp1_;
 
1046
                _tmp1_ = self->priv->_mpris2_root;
 
1047
                mpris_root_Raise (_tmp1_, NULL, NULL);
866
1048
        }
867
1049
}
868
1050
 
869
1051
 
870
1052
static void mpris2_controller_on_playlistdetails_changed (Mpris2Controller* self, PlaylistDetails* details) {
871
 
        gpointer _tmp0_ = NULL;
872
 
        PlayerItem* _tmp1_;
 
1053
        PlayerController* _tmp0_;
 
1054
        GeeArrayList* _tmp1_;
 
1055
        gpointer _tmp2_ = NULL;
873
1056
        PlaylistsMenuitem* playlists_item;
 
1057
        PlaylistDetails _tmp3_;
874
1058
        g_return_if_fail (self != NULL);
875
 
        _tmp0_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS);
876
 
        _tmp1_ = (PlayerItem*) _tmp0_;
877
 
        playlists_item = IS_PLAYLISTS_MENUITEM (_tmp1_) ? ((PlaylistsMenuitem*) _tmp1_) : NULL;
878
 
        playlists_menuitem_update_individual_playlist (playlists_item, details);
 
1059
        g_return_if_fail (details != NULL);
 
1060
        _tmp0_ = self->priv->_owner;
 
1061
        _tmp1_ = _tmp0_->custom_items;
 
1062
        _tmp2_ = gee_abstract_list_get ((GeeAbstractList*) _tmp1_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS);
 
1063
        playlists_item = IS_PLAYLISTS_MENUITEM ((PlayerItem*) _tmp2_) ? ((PlaylistsMenuitem*) ((PlayerItem*) _tmp2_)) : NULL;
 
1064
        _tmp3_ = *details;
 
1065
        playlists_menuitem_update_individual_playlist (playlists_item, &_tmp3_);
879
1066
        _g_object_unref0 (playlists_item);
880
1067
}
881
1068
 
882
1069
 
883
1070
static void mpris2_controller_fetch_playlists_data_free (gpointer _data) {
884
 
        Mpris2ControllerFetchPlaylistsData* data;
885
 
        data = _data;
886
 
        _g_object_unref0 (data->self);
887
 
        g_slice_free (Mpris2ControllerFetchPlaylistsData, data);
 
1071
        Mpris2ControllerFetchPlaylistsData* _data_;
 
1072
        _data_ = _data;
 
1073
        _g_object_unref0 (_data_->self);
 
1074
        g_slice_free (Mpris2ControllerFetchPlaylistsData, _data_);
888
1075
}
889
1076
 
890
1077
 
895
1082
 
896
1083
void mpris2_controller_fetch_playlists (Mpris2Controller* self, GAsyncReadyCallback _callback_, gpointer _user_data_) {
897
1084
        Mpris2ControllerFetchPlaylistsData* _data_;
 
1085
        Mpris2Controller* _tmp0_;
898
1086
        _data_ = g_slice_new0 (Mpris2ControllerFetchPlaylistsData);
899
1087
        _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, mpris2_controller_fetch_playlists);
900
1088
        g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, mpris2_controller_fetch_playlists_data_free);
901
 
        _data_->self = _g_object_ref0 (self);
 
1089
        _tmp0_ = _g_object_ref0 (self);
 
1090
        _data_->self = _tmp0_;
902
1091
        mpris2_controller_fetch_playlists_co (_data_);
903
1092
}
904
1093
 
910
1099
 
911
1100
 
912
1101
static void mpris2_controller_fetch_playlists_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
913
 
        Mpris2ControllerFetchPlaylistsData* data;
914
 
        data = _user_data_;
915
 
        data->_source_object_ = source_object;
916
 
        data->_res_ = _res_;
917
 
        mpris2_controller_fetch_playlists_co (data);
 
1102
        Mpris2ControllerFetchPlaylistsData* _data_;
 
1103
        _data_ = _user_data_;
 
1104
        _data_->_source_object_ = source_object;
 
1105
        _data_->_res_ = _res_;
 
1106
        mpris2_controller_fetch_playlists_co (_data_);
918
1107
}
919
1108
 
920
1109
 
942
1131
}
943
1132
 
944
1133
 
945
 
static gboolean mpris2_controller_fetch_playlists_co (Mpris2ControllerFetchPlaylistsData* data) {
946
 
        switch (data->_state_) {
 
1134
static gboolean mpris2_controller_fetch_playlists_co (Mpris2ControllerFetchPlaylistsData* _data_) {
 
1135
        switch (_data_->_state_) {
947
1136
                case 0:
948
1137
                goto _state_0;
949
1138
                case 1:
952
1141
                g_assert_not_reached ();
953
1142
        }
954
1143
        _state_0:
955
 
        data->current_playlists = NULL;
956
 
        data->current_playlists_length1 = 0;
957
 
        data->_current_playlists_size_ = 0;
958
 
        data->_state_ = 1;
959
 
        mpris_playlists_GetPlaylists (data->self->priv->_playlists, (guint32) 0, (guint32) MPRIS2_CONTROLLER_MAX_PLAYLIST_COUNT, "Alphabetical", FALSE, mpris2_controller_fetch_playlists_ready, data);
960
 
        return FALSE;
961
 
        _state_1:
962
 
        data->_tmp1_ = NULL;
963
 
        data->_tmp1_ = mpris_playlists_GetPlaylists_finish (data->self->priv->_playlists, data->_res_, &data->_tmp0_, &data->_inner_error_);
964
 
        data->_tmp2_ = data->_tmp1_;
965
 
        data->_tmp2__length1 = data->_tmp0_;
966
 
        data->__tmp2__size_ = data->_tmp0_;
967
 
        if (data->_inner_error_ != NULL) {
968
 
                if (data->_inner_error_->domain == G_IO_ERROR) {
969
 
                        goto __catch11_g_io_error;
 
1144
        _data_->current_playlists = NULL;
 
1145
        _data_->current_playlists_length1 = 0;
 
1146
        _data_->_current_playlists_size_ = _data_->current_playlists_length1;
 
1147
        {
 
1148
                _data_->_tmp0_ = _data_->self->priv->_playlists;
 
1149
                _data_->_tmp1_ = 0;
 
1150
                _data_->_state_ = 1;
 
1151
                mpris_playlists_GetPlaylists (_data_->_tmp0_, (gint32) 0, (guint32) MPRIS2_CONTROLLER_MAX_PLAYLIST_COUNT, "Alphabetical", FALSE, mpris2_controller_fetch_playlists_ready, _data_);
 
1152
                return FALSE;
 
1153
                _state_1:
 
1154
                _data_->_tmp2_ = NULL;
 
1155
                _data_->_tmp2_ = mpris_playlists_GetPlaylists_finish (_data_->_tmp0_, _data_->_res_, &_data_->_tmp1_, &_data_->_inner_error_);
 
1156
                _data_->_tmp3_ = _data_->_tmp2_;
 
1157
                _data_->_tmp3__length1 = _data_->_tmp1_;
 
1158
                _data_->__tmp3__size_ = _data_->_tmp3__length1;
 
1159
                if (_data_->_inner_error_ != NULL) {
 
1160
                        if (_data_->_inner_error_->domain == G_IO_ERROR) {
 
1161
                                goto __catch12_g_io_error;
 
1162
                        }
 
1163
                        _data_->current_playlists = (_vala_PlaylistDetails_array_free (_data_->current_playlists, _data_->current_playlists_length1), NULL);
 
1164
                        g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
 
1165
                        g_clear_error (&_data_->_inner_error_);
 
1166
                        return FALSE;
970
1167
                }
971
 
                data->current_playlists = (_vala_PlaylistDetails_array_free (data->current_playlists, data->current_playlists_length1), NULL);
972
 
                g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, data->_inner_error_->message, g_quark_to_string (data->_inner_error_->domain), data->_inner_error_->code);
973
 
                g_clear_error (&data->_inner_error_);
974
 
                return FALSE;
 
1168
                _data_->current_playlists = (_vala_PlaylistDetails_array_free (_data_->current_playlists, _data_->current_playlists_length1), NULL);
 
1169
                _data_->current_playlists = _data_->_tmp3_;
 
1170
                _data_->current_playlists_length1 = _data_->_tmp3__length1;
 
1171
                _data_->_current_playlists_size_ = _data_->current_playlists_length1;
975
1172
        }
976
 
        data->current_playlists = (_vala_PlaylistDetails_array_free (data->current_playlists, data->current_playlists_length1), NULL);
977
 
        data->current_playlists = data->_tmp2_;
978
 
        data->current_playlists_length1 = data->_tmp2__length1;
979
 
        data->_current_playlists_size_ = data->_tmp2__length1;
980
 
        goto __finally11;
981
 
        __catch11_g_io_error:
 
1173
        goto __finally12;
 
1174
        __catch12_g_io_error:
982
1175
        {
983
 
                data->e = data->_inner_error_;
984
 
                data->_inner_error_ = NULL;
985
 
                _g_error_free0 (data->e);
986
 
                data->current_playlists = (_vala_PlaylistDetails_array_free (data->current_playlists, data->current_playlists_length1), NULL);
987
 
                if (data->_state_ == 0) {
988
 
                        g_simple_async_result_complete_in_idle (data->_async_result);
 
1176
                _data_->e = _data_->_inner_error_;
 
1177
                _data_->_inner_error_ = NULL;
 
1178
                _g_error_free0 (_data_->e);
 
1179
                _data_->current_playlists = (_vala_PlaylistDetails_array_free (_data_->current_playlists, _data_->current_playlists_length1), NULL);
 
1180
                if (_data_->_state_ == 0) {
 
1181
                        g_simple_async_result_complete_in_idle (_data_->_async_result);
989
1182
                } else {
990
 
                        g_simple_async_result_complete (data->_async_result);
 
1183
                        g_simple_async_result_complete (_data_->_async_result);
991
1184
                }
992
 
                g_object_unref (data->_async_result);
993
 
                return FALSE;
994
 
        }
995
 
        __finally11:
996
 
        if (data->_inner_error_ != NULL) {
997
 
                data->current_playlists = (_vala_PlaylistDetails_array_free (data->current_playlists, data->current_playlists_length1), NULL);
998
 
                g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, data->_inner_error_->message, g_quark_to_string (data->_inner_error_->domain), data->_inner_error_->code);
999
 
                g_clear_error (&data->_inner_error_);
1000
 
                return FALSE;
1001
 
        }
1002
 
        if (data->current_playlists != NULL) {
1003
 
                data->_tmp3_ = NULL;
1004
 
                data->_tmp3_ = gee_abstract_list_get ((GeeAbstractList*) data->self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS);
1005
 
                data->_tmp4_ = (PlayerItem*) data->_tmp3_;
1006
 
                data->playlists_item = IS_PLAYLISTS_MENUITEM (data->_tmp4_) ? ((PlaylistsMenuitem*) data->_tmp4_) : NULL;
1007
 
                playlists_menuitem_update (data->playlists_item, data->current_playlists, data->current_playlists_length1);
1008
 
                _g_object_unref0 (data->playlists_item);
 
1185
                g_object_unref (_data_->_async_result);
 
1186
                return FALSE;
 
1187
        }
 
1188
        __finally12:
 
1189
        if (_data_->_inner_error_ != NULL) {
 
1190
                _data_->current_playlists = (_vala_PlaylistDetails_array_free (_data_->current_playlists, _data_->current_playlists_length1), NULL);
 
1191
                g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
 
1192
                g_clear_error (&_data_->_inner_error_);
 
1193
                return FALSE;
 
1194
        }
 
1195
        _data_->_tmp4_ = _data_->current_playlists;
 
1196
        _data_->_tmp4__length1 = _data_->current_playlists_length1;
 
1197
        if (_data_->_tmp4_ != NULL) {
 
1198
                _data_->_tmp5_ = _data_->self->priv->_owner;
 
1199
                _data_->_tmp6_ = _data_->_tmp5_->custom_items;
 
1200
                _data_->_tmp7_ = NULL;
 
1201
                _data_->_tmp7_ = gee_abstract_list_get ((GeeAbstractList*) _data_->_tmp6_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS);
 
1202
                _data_->playlists_item = IS_PLAYLISTS_MENUITEM ((PlayerItem*) _data_->_tmp7_) ? ((PlaylistsMenuitem*) ((PlayerItem*) _data_->_tmp7_)) : NULL;
 
1203
                _data_->_tmp8_ = _data_->playlists_item;
 
1204
                _data_->_tmp9_ = _data_->current_playlists;
 
1205
                _data_->_tmp9__length1 = _data_->current_playlists_length1;
 
1206
                playlists_menuitem_update (_data_->_tmp8_, _data_->_tmp9_, _data_->_tmp9__length1);
 
1207
                _g_object_unref0 (_data_->playlists_item);
1009
1208
        } else {
1010
1209
                g_warning ("mpris2-controller.vala:243:  Playlists are on but its returning no cur" \
1011
1210
"rent_playlists");
1012
 
                data->_tmp5_ = FALSE;
1013
 
                data->_tmp6_ = __bool_dup0 (&data->_tmp5_);
1014
 
                _g_free0 (data->self->priv->_owner->use_playlists);
1015
 
                data->self->priv->_owner->use_playlists = data->_tmp6_;
 
1211
                _data_->_tmp10_ = _data_->self->priv->_owner;
 
1212
                _data_->_tmp11_ = FALSE;
 
1213
                _data_->_tmp12_ = __bool_dup0 (&_data_->_tmp11_);
 
1214
                _g_free0 (_data_->_tmp10_->use_playlists);
 
1215
                _data_->_tmp10_->use_playlists = _data_->_tmp12_;
1016
1216
        }
1017
 
        data->current_playlists = (_vala_PlaylistDetails_array_free (data->current_playlists, data->current_playlists_length1), NULL);
1018
 
        if (data->_state_ == 0) {
1019
 
                g_simple_async_result_complete_in_idle (data->_async_result);
 
1217
        _data_->current_playlists = (_vala_PlaylistDetails_array_free (_data_->current_playlists, _data_->current_playlists_length1), NULL);
 
1218
        if (_data_->_state_ == 0) {
 
1219
                g_simple_async_result_complete_in_idle (_data_->_async_result);
1020
1220
        } else {
1021
 
                g_simple_async_result_complete (data->_async_result);
 
1221
                g_simple_async_result_complete (_data_->_async_result);
1022
1222
        }
1023
 
        g_object_unref (data->_async_result);
 
1223
        g_object_unref (_data_->_async_result);
1024
1224
        return FALSE;
1025
1225
}
1026
1226
 
1027
1227
 
1028
1228
static gboolean mpris2_controller_fetch_active_playlist (Mpris2Controller* self) {
1029
1229
        gboolean result = FALSE;
1030
 
        ActivePlaylistContainer _tmp0_ = {0};
 
1230
        MprisPlaylists* _tmp0_;
1031
1231
        ActivePlaylistContainer _tmp1_;
1032
 
        gboolean _tmp2_;
1033
 
        gpointer _tmp3_ = NULL;
1034
 
        PlayerItem* _tmp4_;
 
1232
        ActivePlaylistContainer _tmp2_;
 
1233
        ActivePlaylistContainer _tmp3_;
 
1234
        gboolean _tmp4_;
 
1235
        gboolean _tmp5_;
 
1236
        PlayerController* _tmp6_;
 
1237
        GeeArrayList* _tmp7_;
 
1238
        gpointer _tmp8_ = NULL;
1035
1239
        PlaylistsMenuitem* playlists_item;
1036
 
        ActivePlaylistContainer _tmp5_ = {0};
1037
 
        ActivePlaylistContainer _tmp6_;
 
1240
        PlaylistsMenuitem* _tmp9_;
 
1241
        MprisPlaylists* _tmp10_;
 
1242
        ActivePlaylistContainer _tmp11_;
 
1243
        ActivePlaylistContainer _tmp12_;
 
1244
        ActivePlaylistContainer _tmp13_;
 
1245
        PlaylistDetails* _tmp14_;
 
1246
        PlaylistDetails _tmp15_;
1038
1247
        g_return_val_if_fail (self != NULL, FALSE);
1039
 
        mpris_playlists_get_ActivePlaylist (self->priv->_playlists, &_tmp0_);
1040
 
        _tmp1_ = _tmp0_;
1041
 
        _tmp2_ = _tmp1_.valid == FALSE;
1042
 
        active_playlist_container_destroy (&_tmp1_);
1043
 
        if (_tmp2_) {
 
1248
        _tmp0_ = self->priv->_playlists;
 
1249
        mpris_playlists_get_ActivePlaylist (_tmp0_, &_tmp1_);
 
1250
        _tmp2_ = _tmp1_;
 
1251
        _tmp3_ = _tmp2_;
 
1252
        _tmp4_ = _tmp3_.valid;
 
1253
        _tmp5_ = _tmp4_ == FALSE;
 
1254
        active_playlist_container_destroy (&_tmp3_);
 
1255
        if (_tmp5_) {
 
1256
                result = FALSE;
 
1257
                return result;
1044
1258
        }
1045
 
        _tmp3_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS);
1046
 
        _tmp4_ = (PlayerItem*) _tmp3_;
1047
 
        playlists_item = IS_PLAYLISTS_MENUITEM (_tmp4_) ? ((PlaylistsMenuitem*) _tmp4_) : NULL;
1048
 
        mpris_playlists_get_ActivePlaylist (self->priv->_playlists, &_tmp5_);
1049
 
        _tmp6_ = _tmp5_;
1050
 
        playlists_menuitem_active_playlist_update (playlists_item, &_tmp6_.details);
1051
 
        active_playlist_container_destroy (&_tmp6_);
 
1259
        _tmp6_ = self->priv->_owner;
 
1260
        _tmp7_ = _tmp6_->custom_items;
 
1261
        _tmp8_ = gee_abstract_list_get ((GeeAbstractList*) _tmp7_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS);
 
1262
        playlists_item = IS_PLAYLISTS_MENUITEM ((PlayerItem*) _tmp8_) ? ((PlaylistsMenuitem*) ((PlayerItem*) _tmp8_)) : NULL;
 
1263
        _tmp9_ = playlists_item;
 
1264
        _tmp10_ = self->priv->_playlists;
 
1265
        mpris_playlists_get_ActivePlaylist (_tmp10_, &_tmp11_);
 
1266
        _tmp12_ = _tmp11_;
 
1267
        _tmp13_ = _tmp12_;
 
1268
        _tmp14_ = _tmp13_.details;
 
1269
        _tmp15_ = *_tmp14_;
 
1270
        playlists_menuitem_active_playlist_update (_tmp9_, &_tmp15_);
 
1271
        active_playlist_container_destroy (&_tmp13_);
1052
1272
        result = FALSE;
1053
1273
        _g_object_unref0 (playlists_item);
1054
1274
        return result;
1059
1279
        GError * _inner_error_ = NULL;
1060
1280
        g_return_if_fail (self != NULL);
1061
1281
        g_return_if_fail (path != NULL);
1062
 
        mpris_playlists_ActivatePlaylist (self->priv->_playlists, path, NULL, NULL);
1063
 
        goto __finally12;
1064
 
        __catch12_g_io_error:
1065
 
        {
1066
 
                GError * e;
 
1282
        {
 
1283
                MprisPlaylists* _tmp0_;
 
1284
                const char* _tmp1_;
 
1285
                _tmp0_ = self->priv->_playlists;
 
1286
                _tmp1_ = path;
 
1287
                mpris_playlists_ActivatePlaylist (_tmp0_, _tmp1_, NULL, NULL);
 
1288
        }
 
1289
        goto __finally13;
 
1290
        __catch13_g_io_error:
 
1291
        {
 
1292
                GError* e = NULL;
 
1293
                const char* _tmp2_;
 
1294
                GError* _tmp3_;
 
1295
                const gchar* _tmp4_;
1067
1296
                e = _inner_error_;
1068
1297
                _inner_error_ = NULL;
1069
 
                g_warning ("mpris2-controller.vala:265: Could not activate playlist %s because %s", (const gchar*) path, e->message);
 
1298
                _tmp2_ = path;
 
1299
                _tmp3_ = e;
 
1300
                _tmp4_ = _tmp3_->message;
 
1301
                g_warning ("mpris2-controller.vala:264: Could not activate playlist %s because %s", (const gchar*) _tmp2_, _tmp4_);
1070
1302
                _g_error_free0 (e);
1071
1303
        }
1072
 
        __finally12:
 
1304
        __finally13:
1073
1305
        if (_inner_error_ != NULL) {
1074
1306
                g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1075
1307
                g_clear_error (&_inner_error_);
1080
1312
 
1081
1313
MprisRoot* mpris2_controller_get_mpris2_root (Mpris2Controller* self) {
1082
1314
        MprisRoot* result;
 
1315
        MprisRoot* _tmp0_;
1083
1316
        g_return_val_if_fail (self != NULL, NULL);
1084
 
        result = self->priv->_mpris2_root;
 
1317
        _tmp0_ = self->priv->_mpris2_root;
 
1318
        result = _tmp0_;
1085
1319
        return result;
1086
1320
}
1087
1321
 
1088
1322
 
1089
1323
static void mpris2_controller_set_mpris2_root (Mpris2Controller* self, MprisRoot* value) {
1090
1324
        MprisRoot* _tmp0_;
 
1325
        MprisRoot* _tmp1_;
1091
1326
        g_return_if_fail (self != NULL);
1092
 
        _tmp0_ = _g_object_ref0 (value);
 
1327
        _tmp0_ = value;
 
1328
        _tmp1_ = _g_object_ref0 (_tmp0_);
1093
1329
        _g_object_unref0 (self->priv->_mpris2_root);
1094
 
        self->priv->_mpris2_root = _tmp0_;
 
1330
        self->priv->_mpris2_root = _tmp1_;
1095
1331
        g_object_notify ((GObject *) self, "mpris2-root");
1096
1332
}
1097
1333
 
1098
1334
 
1099
1335
MprisPlayer* mpris2_controller_get_player (Mpris2Controller* self) {
1100
1336
        MprisPlayer* result;
 
1337
        MprisPlayer* _tmp0_;
1101
1338
        g_return_val_if_fail (self != NULL, NULL);
1102
 
        result = self->priv->_player;
 
1339
        _tmp0_ = self->priv->_player;
 
1340
        result = _tmp0_;
1103
1341
        return result;
1104
1342
}
1105
1343
 
1106
1344
 
1107
1345
static void mpris2_controller_set_player (Mpris2Controller* self, MprisPlayer* value) {
1108
1346
        MprisPlayer* _tmp0_;
 
1347
        MprisPlayer* _tmp1_;
1109
1348
        g_return_if_fail (self != NULL);
1110
 
        _tmp0_ = _g_object_ref0 (value);
 
1349
        _tmp0_ = value;
 
1350
        _tmp1_ = _g_object_ref0 (_tmp0_);
1111
1351
        _g_object_unref0 (self->priv->_player);
1112
 
        self->priv->_player = _tmp0_;
 
1352
        self->priv->_player = _tmp1_;
1113
1353
        g_object_notify ((GObject *) self, "player");
1114
1354
}
1115
1355
 
1116
1356
 
1117
1357
MprisPlaylists* mpris2_controller_get_playlists (Mpris2Controller* self) {
1118
1358
        MprisPlaylists* result;
 
1359
        MprisPlaylists* _tmp0_;
1119
1360
        g_return_val_if_fail (self != NULL, NULL);
1120
 
        result = self->priv->_playlists;
 
1361
        _tmp0_ = self->priv->_playlists;
 
1362
        result = _tmp0_;
1121
1363
        return result;
1122
1364
}
1123
1365
 
1124
1366
 
1125
1367
static void mpris2_controller_set_playlists (Mpris2Controller* self, MprisPlaylists* value) {
1126
1368
        MprisPlaylists* _tmp0_;
 
1369
        MprisPlaylists* _tmp1_;
1127
1370
        g_return_if_fail (self != NULL);
1128
 
        _tmp0_ = _g_object_ref0 (value);
 
1371
        _tmp0_ = value;
 
1372
        _tmp1_ = _g_object_ref0 (_tmp0_);
1129
1373
        _g_object_unref0 (self->priv->_playlists);
1130
 
        self->priv->_playlists = _tmp0_;
 
1374
        self->priv->_playlists = _tmp1_;
1131
1375
        g_object_notify ((GObject *) self, "playlists");
1132
1376
}
1133
1377
 
1134
1378
 
1135
1379
FreeDesktopProperties* mpris2_controller_get_properties_interface (Mpris2Controller* self) {
1136
1380
        FreeDesktopProperties* result;
 
1381
        FreeDesktopProperties* _tmp0_;
1137
1382
        g_return_val_if_fail (self != NULL, NULL);
1138
 
        result = self->priv->_properties_interface;
 
1383
        _tmp0_ = self->priv->_properties_interface;
 
1384
        result = _tmp0_;
1139
1385
        return result;
1140
1386
}
1141
1387
 
1142
1388
 
1143
1389
static void mpris2_controller_set_properties_interface (Mpris2Controller* self, FreeDesktopProperties* value) {
1144
1390
        FreeDesktopProperties* _tmp0_;
 
1391
        FreeDesktopProperties* _tmp1_;
1145
1392
        g_return_if_fail (self != NULL);
1146
 
        _tmp0_ = _g_object_ref0 (value);
 
1393
        _tmp0_ = value;
 
1394
        _tmp1_ = _g_object_ref0 (_tmp0_);
1147
1395
        _g_object_unref0 (self->priv->_properties_interface);
1148
 
        self->priv->_properties_interface = _tmp0_;
 
1396
        self->priv->_properties_interface = _tmp1_;
1149
1397
        g_object_notify ((GObject *) self, "properties-interface");
1150
1398
}
1151
1399
 
1152
1400
 
1153
1401
PlayerController* mpris2_controller_get_owner (Mpris2Controller* self) {
1154
1402
        PlayerController* result;
 
1403
        PlayerController* _tmp0_;
1155
1404
        g_return_val_if_fail (self != NULL, NULL);
1156
 
        result = self->priv->_owner;
 
1405
        _tmp0_ = self->priv->_owner;
 
1406
        result = _tmp0_;
1157
1407
        return result;
1158
1408
}
1159
1409
 
1160
1410
 
1161
1411
static void mpris2_controller_set_owner (Mpris2Controller* self, PlayerController* value) {
1162
1412
        PlayerController* _tmp0_;
 
1413
        PlayerController* _tmp1_;
1163
1414
        g_return_if_fail (self != NULL);
1164
 
        _tmp0_ = _g_object_ref0 (value);
 
1415
        _tmp0_ = value;
 
1416
        _tmp1_ = _g_object_ref0 (_tmp0_);
1165
1417
        _g_object_unref0 (self->priv->_owner);
1166
 
        self->priv->_owner = _tmp0_;
 
1418
        self->priv->_owner = _tmp1_;
1167
1419
        g_object_notify ((GObject *) self, "owner");
1168
1420
}
1169
1421
 
1182
1434
        GObject * obj;
1183
1435
        GObjectClass * parent_class;
1184
1436
        Mpris2Controller * self;
1185
 
        const gchar* _tmp0_ = NULL;
1186
 
        MprisRoot* _tmp1_ = NULL;
1187
 
        MprisRoot* _tmp2_;
1188
 
        MprisRoot* _tmp3_;
1189
 
        const gchar* _tmp4_ = NULL;
1190
 
        MprisPlayer* _tmp5_ = NULL;
1191
 
        MprisPlayer* _tmp6_;
1192
 
        MprisPlayer* _tmp7_;
1193
 
        FreeDesktopProperties* _tmp8_ = NULL;
1194
 
        FreeDesktopProperties* _tmp9_;
1195
 
        FreeDesktopProperties* _tmp10_;
1196
 
        gboolean _tmp11_;
1197
1437
        GError * _inner_error_ = NULL;
1198
1438
        parent_class = G_OBJECT_CLASS (mpris2_controller_parent_class);
1199
1439
        obj = parent_class->constructor (type, n_construct_properties, construct_properties);
1200
1440
        self = MPRIS2_CONTROLLER (obj);
1201
 
        _tmp0_ = player_controller_get_dbus_name (self->priv->_owner);
1202
 
        _tmp1_ = g_initable_new (TYPE_MPRIS_ROOT_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", _tmp0_, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", "/org/mpris/MediaPlayer2", "g-interface-name", "org.mpris.MediaPlayer2", NULL);
1203
 
        _tmp2_ = (MprisRoot*) _tmp1_;
1204
 
        if (_inner_error_ != NULL) {
1205
 
                if (_inner_error_->domain == G_IO_ERROR) {
1206
 
                        goto __catch13_g_io_error;
1207
 
                }
1208
 
                g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1209
 
                g_clear_error (&_inner_error_);
1210
 
        }
1211
 
        _tmp3_ = _tmp2_;
1212
 
        mpris2_controller_set_mpris2_root (self, _tmp3_);
1213
 
        _g_object_unref0 (_tmp3_);
1214
 
        _tmp4_ = player_controller_get_dbus_name (self->priv->_owner);
1215
 
        _tmp5_ = g_initable_new (TYPE_MPRIS_PLAYER_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", _tmp4_, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", "/org/mpris/MediaPlayer2", "g-interface-name", "org.mpris.MediaPlayer2.Player", NULL);
1216
 
        _tmp6_ = (MprisPlayer*) _tmp5_;
1217
 
        if (_inner_error_ != NULL) {
1218
 
                if (_inner_error_->domain == G_IO_ERROR) {
1219
 
                        goto __catch13_g_io_error;
1220
 
                }
1221
 
                g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1222
 
                g_clear_error (&_inner_error_);
1223
 
        }
1224
 
        _tmp7_ = _tmp6_;
1225
 
        mpris2_controller_set_player (self, _tmp7_);
1226
 
        _g_object_unref0 (_tmp7_);
1227
 
        _tmp8_ = g_initable_new (TYPE_FREE_DESKTOP_PROPERTIES_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", "org.freedesktop.Properties.PropertiesChanged", "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", "/org/mpris/MediaPlayer2", "g-interface-name", "org.freedesktop.DBus.Properties", NULL);
1228
 
        _tmp9_ = (FreeDesktopProperties*) _tmp8_;
1229
 
        if (_inner_error_ != NULL) {
1230
 
                if (_inner_error_->domain == G_IO_ERROR) {
1231
 
                        goto __catch13_g_io_error;
1232
 
                }
1233
 
                g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1234
 
                g_clear_error (&_inner_error_);
1235
 
        }
1236
 
        _tmp10_ = _tmp9_;
1237
 
        mpris2_controller_set_properties_interface (self, _tmp10_);
1238
 
        _g_object_unref0 (_tmp10_);
1239
 
        g_signal_connect_object (self->priv->_properties_interface, "properties-changed", (GCallback) _mpris2_controller_property_changed_cb_free_desktop_properties_properties_changed, self, 0);
1240
 
        _tmp11_ = TRUE;
1241
 
        if (_bool_equal (self->priv->_owner->use_playlists, &_tmp11_) == TRUE) {
1242
 
                const gchar* _tmp12_ = NULL;
1243
 
                MprisPlaylists* _tmp13_ = NULL;
1244
 
                MprisPlaylists* _tmp14_;
1245
 
                MprisPlaylists* _tmp15_;
1246
 
                _tmp12_ = player_controller_get_dbus_name (self->priv->_owner);
1247
 
                _tmp13_ = g_initable_new (TYPE_MPRIS_PLAYLISTS_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", _tmp12_, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", "/org/mpris/MediaPlayer2", "g-interface-name", "org.mpris.MediaPlayer2.Playlists", NULL);
1248
 
                _tmp14_ = (MprisPlaylists*) _tmp13_;
1249
 
                if (_inner_error_ != NULL) {
1250
 
                        if (_inner_error_->domain == G_IO_ERROR) {
1251
 
                                goto __catch13_g_io_error;
1252
 
                        }
1253
 
                        g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1254
 
                        g_clear_error (&_inner_error_);
1255
 
                }
1256
 
                _tmp15_ = _tmp14_;
1257
 
                mpris2_controller_set_playlists (self, _tmp15_);
1258
 
                _g_object_unref0 (_tmp15_);
1259
 
                g_signal_connect_object (self->priv->_playlists, "playlist-changed", (GCallback) _mpris2_controller_on_playlistdetails_changed_mpris_playlists_playlist_changed, self, 0);
1260
 
        }
1261
 
        goto __finally13;
1262
 
        __catch13_g_io_error:
1263
 
        {
1264
 
                GError * e;
 
1441
        {
 
1442
                PlayerController* _tmp0_;
 
1443
                const gchar* _tmp1_;
 
1444
                const gchar* _tmp2_;
 
1445
                MprisRoot* _tmp3_ = NULL;
 
1446
                MprisRoot* _tmp4_;
 
1447
                MprisRoot* _tmp5_;
 
1448
                PlayerController* _tmp6_;
 
1449
                const gchar* _tmp7_;
 
1450
                const gchar* _tmp8_;
 
1451
                MprisPlayer* _tmp9_ = NULL;
 
1452
                MprisPlayer* _tmp10_;
 
1453
                MprisPlayer* _tmp11_;
 
1454
                FreeDesktopProperties* _tmp12_ = NULL;
 
1455
                FreeDesktopProperties* _tmp13_;
 
1456
                FreeDesktopProperties* _tmp14_;
 
1457
                FreeDesktopProperties* _tmp15_;
 
1458
                PlayerController* _tmp16_;
 
1459
                gboolean* _tmp17_;
 
1460
                gboolean _tmp18_;
 
1461
                _tmp0_ = self->priv->_owner;
 
1462
                _tmp1_ = player_controller_get_dbus_name (_tmp0_);
 
1463
                _tmp2_ = _tmp1_;
 
1464
                _tmp3_ = g_initable_new (TYPE_MPRIS_ROOT_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", _tmp2_, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", "/org/mpris/MediaPlayer2", "g-interface-name", "org.mpris.MediaPlayer2", NULL);
 
1465
                _tmp4_ = (MprisRoot*) _tmp3_;
 
1466
                if (_inner_error_ != NULL) {
 
1467
                        if (_inner_error_->domain == G_IO_ERROR) {
 
1468
                                goto __catch14_g_io_error;
 
1469
                        }
 
1470
                        g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
 
1471
                        g_clear_error (&_inner_error_);
 
1472
                }
 
1473
                _tmp5_ = _tmp4_;
 
1474
                mpris2_controller_set_mpris2_root (self, _tmp5_);
 
1475
                _g_object_unref0 (_tmp5_);
 
1476
                _tmp6_ = self->priv->_owner;
 
1477
                _tmp7_ = player_controller_get_dbus_name (_tmp6_);
 
1478
                _tmp8_ = _tmp7_;
 
1479
                _tmp9_ = g_initable_new (TYPE_MPRIS_PLAYER_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", _tmp8_, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", "/org/mpris/MediaPlayer2", "g-interface-name", "org.mpris.MediaPlayer2.Player", NULL);
 
1480
                _tmp10_ = (MprisPlayer*) _tmp9_;
 
1481
                if (_inner_error_ != NULL) {
 
1482
                        if (_inner_error_->domain == G_IO_ERROR) {
 
1483
                                goto __catch14_g_io_error;
 
1484
                        }
 
1485
                        g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
 
1486
                        g_clear_error (&_inner_error_);
 
1487
                }
 
1488
                _tmp11_ = _tmp10_;
 
1489
                mpris2_controller_set_player (self, _tmp11_);
 
1490
                _g_object_unref0 (_tmp11_);
 
1491
                _tmp12_ = g_initable_new (TYPE_FREE_DESKTOP_PROPERTIES_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", "org.freedesktop.Properties.PropertiesChanged", "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", "/org/mpris/MediaPlayer2", "g-interface-name", "org.freedesktop.DBus.Properties", NULL);
 
1492
                _tmp13_ = (FreeDesktopProperties*) _tmp12_;
 
1493
                if (_inner_error_ != NULL) {
 
1494
                        if (_inner_error_->domain == G_IO_ERROR) {
 
1495
                                goto __catch14_g_io_error;
 
1496
                        }
 
1497
                        g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
 
1498
                        g_clear_error (&_inner_error_);
 
1499
                }
 
1500
                _tmp14_ = _tmp13_;
 
1501
                mpris2_controller_set_properties_interface (self, _tmp14_);
 
1502
                _g_object_unref0 (_tmp14_);
 
1503
                _tmp15_ = self->priv->_properties_interface;
 
1504
                g_signal_connect_object (_tmp15_, "properties-changed", (GCallback) _mpris2_controller_property_changed_cb_free_desktop_properties_properties_changed, self, 0);
 
1505
                _tmp16_ = self->priv->_owner;
 
1506
                _tmp17_ = _tmp16_->use_playlists;
 
1507
                _tmp18_ = TRUE;
 
1508
                if (_bool_equal (_tmp17_, &_tmp18_) == TRUE) {
 
1509
                        PlayerController* _tmp19_;
 
1510
                        const gchar* _tmp20_;
 
1511
                        const gchar* _tmp21_;
 
1512
                        MprisPlaylists* _tmp22_ = NULL;
 
1513
                        MprisPlaylists* _tmp23_;
 
1514
                        MprisPlaylists* _tmp24_;
 
1515
                        MprisPlaylists* _tmp25_;
 
1516
                        _tmp19_ = self->priv->_owner;
 
1517
                        _tmp20_ = player_controller_get_dbus_name (_tmp19_);
 
1518
                        _tmp21_ = _tmp20_;
 
1519
                        _tmp22_ = g_initable_new (TYPE_MPRIS_PLAYLISTS_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", _tmp21_, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", "/org/mpris/MediaPlayer2", "g-interface-name", "org.mpris.MediaPlayer2.Playlists", NULL);
 
1520
                        _tmp23_ = (MprisPlaylists*) _tmp22_;
 
1521
                        if (_inner_error_ != NULL) {
 
1522
                                if (_inner_error_->domain == G_IO_ERROR) {
 
1523
                                        goto __catch14_g_io_error;
 
1524
                                }
 
1525
                                g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
 
1526
                                g_clear_error (&_inner_error_);
 
1527
                        }
 
1528
                        _tmp24_ = _tmp23_;
 
1529
                        mpris2_controller_set_playlists (self, _tmp24_);
 
1530
                        _g_object_unref0 (_tmp24_);
 
1531
                        _tmp25_ = self->priv->_playlists;
 
1532
                        g_signal_connect_object (_tmp25_, "playlist-changed", (GCallback) _mpris2_controller_on_playlistdetails_changed_mpris_playlists_playlist_changed, self, 0);
 
1533
                }
 
1534
        }
 
1535
        goto __finally14;
 
1536
        __catch14_g_io_error:
 
1537
        {
 
1538
                GError* e = NULL;
 
1539
                GError* _tmp26_;
 
1540
                const gchar* _tmp27_;
1265
1541
                e = _inner_error_;
1266
1542
                _inner_error_ = NULL;
1267
 
                g_critical ("mpris2-controller.vala:57: Problems connecting to the session bus - %s", e->message);
 
1543
                _tmp26_ = e;
 
1544
                _tmp27_ = _tmp26_->message;
 
1545
                g_critical ("mpris2-controller.vala:57: Problems connecting to the session bus - %s", _tmp27_);
1268
1546
                _g_error_free0 (e);
1269
1547
        }
1270
 
        __finally13:
 
1548
        __finally14:
1271
1549
        if (_inner_error_ != NULL) {
1272
1550
                g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1273
1551
                g_clear_error (&_inner_error_);