Class: MultimediaParadise::GUI::Libui::SimplePlayWidget

Inherits:
Object
  • Object
show all
Includes:
MultimediaParadise::GUI
Defined in:
lib/multimedia_paradise/gui/libui/simple_play_widget/simple_play_widget.rb

Overview

MultimediaParadise::GUI::Libui::SimplePlayWidget

Constant Summary collapse

TITLE =
#

TITLE

#
'Simple Play Widget'
WIDTH =
#

WIDTH

#
620
EMOJI_PLAY =
#

EMOJI_PLAY

#
'🔊️'

Constants included from MultimediaParadise::GUI

ISO, MAIN_FONT_TO_USE, N, UTF, VIDEO_COLLECTION

Instance Method Summary collapse

Methods included from MultimediaParadise::GUI

#esystem, #populate_the_dataset_with_this_array, #set_gtk_font_to_use

Constructor Details

#initializeSimplePlayWidget

#

initialize

#


46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/multimedia_paradise/gui/libui/simple_play_widget/simple_play_widget.rb', line 46

def initialize
  reset
  create_skeleton
  @main_window = ui_main_window(
    TITLE, WIDTH, 250, 0
  )
  outer_vbox = ui_vbox
  outer_vbox.is_padded

  middle_vbox = ui_vbox
  middle_vbox.is_padded
  # ======================================================================= #
  # Add the various buttons next:
  # ======================================================================= #
  populate_the_dataset_with_this_array.each_with_index {|entry, index| index += 1
    hbox = ui_hbox
    hbox.add(
      ui_text(index.to_s), 0
    )
    button = button(
      EMOJI_PLAY+' '+
      File.basename(entry)
    )
    button.on_clicked {
      do_play_this_audio_file(entry)
    }
    hbox.add(button)
    middle_vbox.add(hbox, 0)
   }
  # scrolled_window = ui_scrolled_window(middle_vbox)
  # outer_vbox.add(scrolled_window)
  outer_vbox.add(middle_vbox)
  @main_window.child = outer_vbox
  @main_window.intelligent_exit
end

Instance Method Details

#create_skeletonObject

#

create_skeleton

#


112
113
# File 'lib/multimedia_paradise/gui/libui/simple_play_widget/simple_play_widget.rb', line 112

def create_skeleton
end

#play_this_song_via_mpv(this_song) ⇒ Object Also known as: do_play_this_audio_file

#

play_this_song_via_mpv

#


99
100
101
102
103
104
105
106
107
# File 'lib/multimedia_paradise/gui/libui/simple_play_widget/simple_play_widget.rb', line 99

def play_this_song_via_mpv(this_song)
  e
  e "Next playing #{::Colours.steelblue(this_song)} via mpv."
  e
  @array_threads << Thread.new {
    pid = Process.spawn("mpv #{this_song}")
    @array_pids << pid
  }
end

#resetObject

#

reset (reset tag)

#


85
86
87
88
89
90
91
92
93
94
# File 'lib/multimedia_paradise/gui/libui/simple_play_widget/simple_play_widget.rb', line 85

def reset
  # ======================================================================= #
  # === @array_threads
  # ======================================================================= #
  @array_threads = []
  # ======================================================================= #
  # === @array_pids
  # ======================================================================= #
  @array_pids = []
end