multimedia_paradise 1.1.344 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (218) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +99 -77
  3. data/bin/audio_player +1 -1
  4. data/bin/extract_images_from_this_video_file +1 -1
  5. data/bin/loop_this_video +1 -1
  6. data/bin/merge_avi_files +1 -1
  7. data/bin/merge_mp3 +1 -1
  8. data/bin/mp3_to_opus +1 -1
  9. data/bin/mpg_to_mp4 +1 -1
  10. data/bin/multimedia_paradise +1 -1
  11. data/bin/to_aiff +2 -5
  12. data/bin/to_flac +7 -0
  13. data/bin/to_mp3 +8 -0
  14. data/bin/to_mp4 +1 -1
  15. data/bin/to_ogg +7 -0
  16. data/bin/verbose_analyse_this_mp3_file_for_id3_tags +1 -1
  17. data/bin/video_codec +1 -1
  18. data/bin/video_thumbnail +1 -1
  19. data/bin/video_to_images +1 -1
  20. data/doc/README.gen +88 -51
  21. data/doc/{CHANGELOG.md → changelog/changelog.md} +8 -6
  22. data/doc/{LINKS.md → links/links.md} +2 -2
  23. data/doc/{MOTIVATION_FOR_THIS_PROJECT.md → motivation_for_the_multimedia_paradise_project/motivation_for_the_multimedia_paradise_project.md} +5 -5
  24. data/doc/todo/todo_for_the_multimedia_paradise_project.md +79 -93
  25. data/lib/multimedia_paradise/actions/actions.rb +224 -0
  26. data/lib/multimedia_paradise/audio/audio_player/audio_player.rb +61 -64
  27. data/lib/multimedia_paradise/audio/audio_tag_reader/audio_tag_reader.rb +17 -8
  28. data/lib/multimedia_paradise/audio/base.rb +0 -5
  29. data/lib/multimedia_paradise/audio/compress.rb +8 -5
  30. data/lib/multimedia_paradise/audio/create_m3u_playlist.rb +7 -11
  31. data/lib/multimedia_paradise/audio/extract_audio/constants.rb +0 -37
  32. data/lib/multimedia_paradise/audio/extract_audio/extract_audio.rb +90 -68
  33. data/lib/multimedia_paradise/audio/file_duration/file_duration.rb +134 -80
  34. data/lib/multimedia_paradise/audio/genres/boogie.rb +1 -6
  35. data/lib/multimedia_paradise/audio/genres/concerts.rb +1 -6
  36. data/lib/multimedia_paradise/audio/genres/constants.rb +1 -1
  37. data/lib/multimedia_paradise/audio/genres/eurodance.rb +1 -6
  38. data/lib/multimedia_paradise/audio/genres/genre.rb +36 -33
  39. data/lib/multimedia_paradise/audio/genres/hip_hop.rb +1 -6
  40. data/lib/multimedia_paradise/audio/genres/italian_songs.rb +1 -6
  41. data/lib/multimedia_paradise/audio/genres/the_1980s.rb +1 -6
  42. data/lib/multimedia_paradise/audio/genres/trance.rb +4 -7
  43. data/lib/multimedia_paradise/audio/lyrics_fetcher.rb +27 -22
  44. data/lib/multimedia_paradise/audio/merge_audio_files.rb +18 -11
  45. data/lib/multimedia_paradise/audio/modify_year_of_audio_file.rb +23 -11
  46. data/lib/multimedia_paradise/audio/n_audio_songs.rb +3 -2
  47. data/lib/multimedia_paradise/audio/play_all_audio_files.rb +41 -16
  48. data/lib/multimedia_paradise/audio/playlist/playlist.rb +163 -123
  49. data/lib/multimedia_paradise/audio/remove_audio.rb +11 -6
  50. data/lib/multimedia_paradise/audio/remove_last_second.rb +2 -3
  51. data/lib/multimedia_paradise/audio/report_missing_id.rb +22 -12
  52. data/lib/multimedia_paradise/audio/streamripper/streamripper_wrapper.rb +7 -5
  53. data/lib/multimedia_paradise/audio/to_mp3.rb +7 -5
  54. data/lib/multimedia_paradise/audio/to_ogg.rb +3 -1
  55. data/lib/multimedia_paradise/audio/wav_to_mp3.rb +5 -5
  56. data/lib/multimedia_paradise/base/base.rb +854 -15
  57. data/lib/multimedia_paradise/base/colours.rb +28 -31
  58. data/lib/multimedia_paradise/base/{commandline_arguments.rb → commandline_arguments_module/commandline_arguments_module.rb} +12 -9
  59. data/lib/multimedia_paradise/colours/colours.rb +4 -1
  60. data/lib/multimedia_paradise/commandline/{menu.rb → commandline.rb} +19 -16
  61. data/lib/multimedia_paradise/constants/constants.rb +504 -14
  62. data/lib/multimedia_paradise/constants/web_constants.rb +2 -4
  63. data/lib/multimedia_paradise/gui/gui_base.rb +2 -2
  64. data/lib/multimedia_paradise/gui/libui/lyrics/lyrics.rb +1 -1
  65. data/lib/multimedia_paradise/gui/libui/simple_play_widget/simple_play_widget.rb +1 -1
  66. data/lib/multimedia_paradise/gui/libui/video_player/video_player.rb +1 -1
  67. data/lib/multimedia_paradise/gui/libui/youtube_channels/youtube_channels.rb +1 -1
  68. data/lib/multimedia_paradise/gui/shared_code/multimedia_converter/multimedia_converter_module.rb +0 -478
  69. data/lib/multimedia_paradise/gui/shared_code/playlist/playlist_module.rb +94 -41
  70. data/lib/multimedia_paradise/gui/shared_code/simple_play_widget/simple_play_widget_module.rb +0 -257
  71. data/lib/multimedia_paradise/gui/universal_widgets/change_metadata_widget/change_metadata_widget.rb +2 -2
  72. data/lib/multimedia_paradise/gui/universal_widgets/information_about_a_mp3_file/information_about_a_mp3_file.rb +1 -1
  73. data/lib/multimedia_paradise/gui/universal_widgets/lyrics/lyrics.rb +1 -1
  74. data/lib/multimedia_paradise/gui/universal_widgets/multimedia_converter/multimedia_converter.rb +589 -0
  75. data/lib/multimedia_paradise/gui/universal_widgets/playlist/playlist.rb +197 -0
  76. data/lib/multimedia_paradise/gui/universal_widgets/radio/radio.rb +1 -1
  77. data/lib/multimedia_paradise/gui/{gtk2 → universal_widgets}/simple_play_widget/README.md +1 -1
  78. data/lib/multimedia_paradise/gui/universal_widgets/simple_play_widget/simple_play_widget.rb +404 -0
  79. data/lib/multimedia_paradise/gui/universal_widgets/tag_mp3_files/tag_mp3_files.rb +3 -6
  80. data/lib/multimedia_paradise/java/Playlist.class +0 -0
  81. data/lib/multimedia_paradise/java/Playlist.java +198 -0
  82. data/lib/multimedia_paradise/multimedia/analyse_multimedia_file.rb +21 -19
  83. data/lib/multimedia_paradise/multimedia/avisynth/avisynth_code.avs +441 -442
  84. data/lib/multimedia_paradise/multimedia/base.rb +0 -18
  85. data/lib/multimedia_paradise/multimedia/chord.rb +1 -1
  86. data/lib/multimedia_paradise/multimedia/cut_multimedia/cut_multimedia.rb +7 -5
  87. data/lib/multimedia_paradise/multimedia/cut_multimedia/evaluate_from_this_file.rb +2 -2
  88. data/lib/multimedia_paradise/multimedia/interactive_shell.rb +22 -3
  89. data/lib/multimedia_paradise/multimedia/merge_multimedia.rb +4 -3
  90. data/lib/multimedia_paradise/multimedia/play_from_this_list.rb +4 -27
  91. data/lib/multimedia_paradise/multimedia/{read_meta_tags.rb → read_meta_tags/read_meta_tags.rb} +14 -19
  92. data/lib/multimedia_paradise/multimedia/start_length_duration.rb +3 -3
  93. data/lib/multimedia_paradise/project/project.rb +8 -4
  94. data/lib/multimedia_paradise/requires/require_the_multimedia_paradise_project.rb +5 -5
  95. data/lib/multimedia_paradise/requires/require_toplevel_methods_files.rb +1 -1
  96. data/lib/multimedia_paradise/sinatra/app.rb +3 -3
  97. data/lib/multimedia_paradise/statistics/README.md +6 -5
  98. data/lib/multimedia_paradise/statistics/video.rb +34 -14
  99. data/lib/multimedia_paradise/{misc → time}/long_format_to_milliseconds_converter.rb +4 -2
  100. data/lib/multimedia_paradise/{misc → time}/milliseconds_to_long_format_converter.rb +2 -2
  101. data/lib/multimedia_paradise/toplevel_methods/audio_related_code.rb +138 -0
  102. data/lib/multimedia_paradise/toplevel_methods/chop_into_segments_of_n_seconds_size.rb +2 -2
  103. data/lib/multimedia_paradise/{conversions → toplevel_methods}/conversions.rb +140 -48
  104. data/lib/multimedia_paradise/toplevel_methods/copy_and_merge_this_video_n_times.rb +5 -5
  105. data/lib/multimedia_paradise/toplevel_methods/create_video_from_this_audio.rb +7 -6
  106. data/lib/multimedia_paradise/toplevel_methods/cut_from_to.rb +2 -2
  107. data/lib/multimedia_paradise/toplevel_methods/denoise.rb +2 -2
  108. data/lib/multimedia_paradise/toplevel_methods/deshake.rb +3 -6
  109. data/lib/multimedia_paradise/toplevel_methods/{output_directory.rb → directory_related_code.rb} +38 -1
  110. data/lib/multimedia_paradise/toplevel_methods/encode_this_video.rb +8 -4
  111. data/lib/multimedia_paradise/toplevel_methods/esystem.rb +43 -4
  112. data/lib/multimedia_paradise/{ffmpeg → toplevel_methods}/ffmpeg.rb +200 -193
  113. data/lib/multimedia_paradise/toplevel_methods/{files_and_directories.rb → files_related_code.rb} +19 -56
  114. data/lib/multimedia_paradise/toplevel_methods/flip_and_rotate.rb +3 -3
  115. data/lib/multimedia_paradise/toplevel_methods/is_audio_file_is_video_file_is_image_file_is_multimedia_file.rb +115 -0
  116. data/lib/multimedia_paradise/toplevel_methods/is_on_roebe.rb +1 -1
  117. data/lib/multimedia_paradise/toplevel_methods/{merge_multimedia_file.rb → merge.rb} +98 -4
  118. data/lib/multimedia_paradise/toplevel_methods/opn.rb +5 -4
  119. data/lib/multimedia_paradise/toplevel_methods/player_in_use.rb +14 -7
  120. data/lib/multimedia_paradise/toplevel_methods/query_the_audio_codec_of_this_file.rb +4 -3
  121. data/lib/multimedia_paradise/toplevel_methods/radio.rb +1 -3
  122. data/lib/multimedia_paradise/toplevel_methods/return_all_video_files.rb +4 -4
  123. data/lib/multimedia_paradise/toplevel_methods/return_path_to_random_simpsons_video_file.rb +1 -1
  124. data/lib/multimedia_paradise/toplevel_methods/return_random_video_file_from_the_video_collection.rb +9 -7
  125. data/lib/multimedia_paradise/toplevel_methods/scale_video.rb +3 -4
  126. data/lib/multimedia_paradise/toplevel_methods/set_title_of.rb +6 -6
  127. data/lib/multimedia_paradise/{help/help.rb → toplevel_methods/show_help.rb} +14 -8
  128. data/lib/multimedia_paradise/toplevel_methods/slow_down_this_video_file.rb +2 -3
  129. data/lib/multimedia_paradise/toplevel_methods/start_screencast.rb +3 -2
  130. data/lib/multimedia_paradise/toplevel_methods/{misc.rb → toplevel_methods.rb} +485 -527
  131. data/lib/multimedia_paradise/toplevel_methods/total_duration.rb +4 -3
  132. data/lib/multimedia_paradise/toplevel_methods/use_lame_codec.rb +1 -2
  133. data/lib/multimedia_paradise/toplevel_methods/video_dataset.rb +1 -1
  134. data/lib/multimedia_paradise/version/version.rb +2 -2
  135. data/lib/multimedia_paradise/video/all_videos.rb +12 -19
  136. data/lib/multimedia_paradise/video/check_numbers.rb +76 -32
  137. data/lib/multimedia_paradise/video/columbo/columbo.rb +36 -14
  138. data/lib/multimedia_paradise/video/guess_video_name.rb +2 -10
  139. data/lib/multimedia_paradise/video/mike_hammer/mike_hammer.rb +2 -2
  140. data/lib/multimedia_paradise/video/missing_video_files/missing_video_files.rb +1 -9
  141. data/lib/multimedia_paradise/video/movie_searcher.rb +2 -10
  142. data/lib/multimedia_paradise/video/mplayer_wrapper.rb +1 -9
  143. data/lib/multimedia_paradise/video/random_video.rb +1 -2
  144. data/lib/multimedia_paradise/video/registered_video_file.rb +2 -10
  145. data/lib/multimedia_paradise/video/report_local_videos.rb +1 -9
  146. data/lib/multimedia_paradise/video/simpsons.rb +2 -10
  147. data/lib/multimedia_paradise/video/smart_animals/smart_animals.rb +10 -8
  148. data/lib/multimedia_paradise/video/speed_up_video.rb +28 -10
  149. data/lib/multimedia_paradise/video/store_available_video_files.rb +49 -33
  150. data/lib/multimedia_paradise/video/the_simpsons/README.md +0 -0
  151. data/lib/multimedia_paradise/video/the_simpsons/good_the_simpsons_episodes.rb +8 -8
  152. data/lib/multimedia_paradise/video/the_simpsons/the_simpsons.rb +14 -10
  153. data/lib/multimedia_paradise/video/video_information.rb +55 -49
  154. data/lib/multimedia_paradise/{configuration → yaml/configuration}/play_zoomed.yml +0 -0
  155. data/lib/multimedia_paradise/yaml/{playlist.yml → playlist/playlist.yml} +14 -15
  156. data/lib/multimedia_paradise/yaml/video/video.yml +1 -1
  157. data/lib/multimedia_paradise/yaml/video_collection/video_collection.yml +34 -32
  158. data/lib/multimedia_paradise/yaml/youtube/alltagsgeschichte/alltagsgeschichte.yml +61 -11
  159. data/lib/multimedia_paradise/yaml/youtube/songs/songs.yml +5 -3
  160. data/multimedia_paradise.gemspec +1 -1
  161. data/test/testing_audio_player.rb +3 -3
  162. data/test/testing_file_duration.rb +5 -5
  163. metadata +45 -76
  164. data/lib/multimedia_paradise/audio/file_duration/constants.rb +0 -53
  165. data/lib/multimedia_paradise/audio/waveform/class.rb +0 -341
  166. data/lib/multimedia_paradise/audio/waveform/constants.rb +0 -38
  167. data/lib/multimedia_paradise/audio/waveform/log.rb +0 -101
  168. data/lib/multimedia_paradise/base/constants.rb +0 -19
  169. data/lib/multimedia_paradise/base/encoding.rb +0 -31
  170. data/lib/multimedia_paradise/base/misc.rb +0 -665
  171. data/lib/multimedia_paradise/base/namespace.rb +0 -36
  172. data/lib/multimedia_paradise/base/time.rb +0 -25
  173. data/lib/multimedia_paradise/constants/conversions.rb +0 -62
  174. data/lib/multimedia_paradise/constants/directory_constants.rb +0 -139
  175. data/lib/multimedia_paradise/constants/encodings.rb +0 -26
  176. data/lib/multimedia_paradise/constants/file_constants.rb +0 -176
  177. data/lib/multimedia_paradise/constants/misc.rb +0 -80
  178. data/lib/multimedia_paradise/constants/my_video_directory.rb +0 -30
  179. data/lib/multimedia_paradise/constants/namespace.rb +0 -14
  180. data/lib/multimedia_paradise/constants/newline.rb +0 -14
  181. data/lib/multimedia_paradise/constants/video_filetypes.rb +0 -27
  182. data/lib/multimedia_paradise/conversions/README.md +0 -2
  183. data/lib/multimedia_paradise/ffmpeg/README.md +0 -2
  184. data/lib/multimedia_paradise/gui/gtk2/multimedia_converter/multimedia_converter.rb +0 -33
  185. data/lib/multimedia_paradise/gui/gtk2/notebook.rb +0 -144
  186. data/lib/multimedia_paradise/gui/gtk2/play_video_from_my_collection/play_video_from_my_collection.rb +0 -43
  187. data/lib/multimedia_paradise/gui/gtk2/simple_play_widget/simple_play_widget.rb +0 -40
  188. data/lib/multimedia_paradise/gui/gtk2/widget_increase_or_decrease_audio/widget_increase_or_decrease_audio.rb +0 -42
  189. data/lib/multimedia_paradise/gui/gtk2/youtube_downloader/youtube_downloader.rb +0 -32
  190. data/lib/multimedia_paradise/gui/gtk3/lyrics/lyrics.rb +0 -0
  191. data/lib/multimedia_paradise/gui/gtk3/multimedia_converter/multimedia_converter.rb +0 -34
  192. data/lib/multimedia_paradise/gui/gtk3/playlist/playlist.rb +0 -34
  193. data/lib/multimedia_paradise/gui/gtk3/simple_play_widget/simple_play_widget.rb +0 -38
  194. data/lib/multimedia_paradise/toplevel_methods/analyze_audio_stream.rb +0 -31
  195. data/lib/multimedia_paradise/toplevel_methods/codecs.rb +0 -50
  196. data/lib/multimedia_paradise/toplevel_methods/copy_file.rb +0 -18
  197. data/lib/multimedia_paradise/toplevel_methods/delay_audio.rb +0 -31
  198. data/lib/multimedia_paradise/toplevel_methods/ensure_that_the_output_directory_exists.rb +0 -27
  199. data/lib/multimedia_paradise/toplevel_methods/has_audio.rb +0 -48
  200. data/lib/multimedia_paradise/toplevel_methods/increase_volume_of_this_audio_file.rb +0 -61
  201. data/lib/multimedia_paradise/toplevel_methods/is_a_multimedia_file.rb +0 -27
  202. data/lib/multimedia_paradise/toplevel_methods/is_audio_file.rb +0 -27
  203. data/lib/multimedia_paradise/toplevel_methods/is_image_file.rb +0 -31
  204. data/lib/multimedia_paradise/toplevel_methods/is_video_file.rb +0 -62
  205. data/lib/multimedia_paradise/toplevel_methods/merge_these_videos.rb +0 -106
  206. data/lib/multimedia_paradise/toplevel_methods/run_sys_command.rb +0 -30
  207. data/lib/multimedia_paradise/toplevel_methods/to_flac.rb +0 -30
  208. data/lib/multimedia_paradise/toplevel_methods/to_mp4.rb +0 -24
  209. /data/doc/{MergingVideoLectures.md → merging_video_lectures/merging_video_lectures.md} +0 -0
  210. /data/doc/{Readme_for_the_cut_audio_component.md → readme_for_the_cut_audio_component/Readme_for_the_cut_audio_component.md} +0 -0
  211. /data/lib/multimedia_paradise/yaml/{audio_formats.yml → audio_formats/audio_formats.yml} +0 -0
  212. /data/lib/multimedia_paradise/yaml/{image_formats.yml → image_formats/image_formats.yml} +0 -0
  213. /data/lib/multimedia_paradise/yaml/{lyrics.yml → lyrics/lyrics.yml} +0 -0
  214. /data/lib/multimedia_paradise/yaml/{music_genres.yml → music_genres/music_genres.yml} +0 -0
  215. /data/lib/multimedia_paradise/yaml/{song_tags.yml → song_tags/song_tags.yml} +0 -0
  216. /data/lib/multimedia_paradise/yaml/{use_this_video_player.yml → use_this_video_player/use_this_video_player.yml} +0 -0
  217. /data/lib/multimedia_paradise/yaml/{video_encoding_settings.yml → video_encoding_settings/video_encoding_settings.yml} +0 -0
  218. /data/lib/multimedia_paradise/yaml/{video_filter_aliases.yml → video_filter_aliases/video_filter_aliases.yml} +0 -0
@@ -1,144 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # === MultimediaParadise::GUI::Gtk::Notebook
6
- #
7
- # Usage example:
8
- #
9
- # MultimediaParadise::GUI::Gtk::Notebook.new
10
- #
11
- # =========================================================================== #
12
- # require 'multimedia_paradise/gui/gtk/notebook.rb'
13
- # =========================================================================== #
14
- require 'gtk_paradise/requires/require_the_base_module.rb'
15
-
16
- module MultimediaParadise
17
-
18
- module GUI
19
-
20
- module Gtk
21
-
22
- class Notebook < Gtk::Frame # === MultimediaParadise::Notebook
23
-
24
- require 'multimedia_paradise/gui/gtk2/play_video_from_my_collection.rb'
25
- require 'multimedia_paradise/gui/gtk2/video_collection.rb'
26
- require 'multimedia_paradise/gui/gtk2/youtube_downloader.rb'
27
- require 'multimedia_paradise/gui/gtk2/play_from_radio_station/play_from_radio_station.rb'
28
- require 'multimedia_paradise/gui/gtk2/lyrics/lyrics.rb'
29
- require 'multimedia_paradise/gui/gtk2/id_renamer/id_renamer.rb'
30
-
31
- require 'opn'
32
-
33
- begin
34
- require 'colours'
35
- include Colours
36
- rescue LoadError; end
37
-
38
- include ::Gtk::BaseModule
39
-
40
- # ========================================================================= #
41
- # === TITLE
42
- # ========================================================================= #
43
- TITLE = 'Multimedia Notebook'
44
-
45
- # ========================================================================= #
46
- # === WIDTH
47
- # ========================================================================= #
48
- WIDTH = 1280
49
-
50
- # ========================================================================= #
51
- # === initialize
52
- # ========================================================================= #
53
- def initialize(
54
- i = nil,
55
- run_already = true
56
- )
57
- super(TITLE)
58
- set_label_widget(
59
- ::Gtk::Label.new.set_markup(
60
- %Q(<span size="larger" foreground="darkblue" weight="bold">#{TITLE}</span>)
61
- )
62
- )
63
- reset
64
- set_input(i)
65
- run if run_already
66
- end
67
-
68
- # ========================================================================= #
69
- # === reset (reset tag)
70
- # ========================================================================= #
71
- def reset
72
- end
73
-
74
- # ========================================================================= #
75
- # === set_input
76
- # ========================================================================= #
77
- def set_input(i = '')
78
- i = i.first if i.is_a? Array
79
- i = i.to_s.dup if i
80
- @input = i
81
- end
82
-
83
- # ========================================================================= #
84
- # === input?
85
- # ========================================================================= #
86
- def input?
87
- @input
88
- end
89
-
90
- # ========================================================================= #
91
- # === run (run tag)
92
- # ========================================================================= #
93
- def run
94
- # ======================================================================= #
95
- # Add the notebook next, via Gtk.add_notebook().
96
- # ======================================================================= #
97
- play_video_from_my_collection = MultimediaParadise::GUI::Gtk::PlayVideoFromMyCollection.new
98
- video_collection = MultimediaParadise::GUI::Gtk::VideoCollection.new
99
- youtube_downloader = MultimediaParadise::GUI::Gtk::YoutubeDownloader.new
100
- play_from_radio_station = MultimediaParadise::GUI::Gtk::PlayFromRadioStation.new
101
- lyrics_widget = MultimediaParadise::GUI::Gtk::Lyrics.new
102
- #id_renamer = MultimediaParadise::GUI::Gtk::IdRenamer.new
103
-
104
- notebook = ::Gtk.add_notebook(
105
- play_video_from_my_collection,
106
- video_collection,
107
- youtube_downloader,
108
- play_from_radio_station,
109
- lyrics_widget,
110
- id_renamer
111
- ) { :enable_drag_and_support }
112
- add(notebook)
113
- show_all
114
- end
115
-
116
- # ========================================================================= #
117
- # === width?
118
- # ========================================================================= #
119
- def width?
120
- WIDTH
121
- end
122
-
123
- # ========================================================================= #
124
- # === height?
125
- # ========================================================================= #
126
- def height?
127
- 900
128
- end
129
-
130
- end; end; end; end
131
-
132
- if __FILE__ == $PROGRAM_NAME
133
- require 'gtk_paradise/run.rb'
134
- _ = MultimediaParadise::GUI::Gtk::Notebook.new
135
- r = Gtk.run(
136
- _.width?,
137
- _.height?,
138
- :tabble,
139
- File.basename(__FILE__)
140
- )
141
- r << _
142
- r.modify_background(:normal, :lightgreen)
143
- r.top_left_then_run
144
- end # gtk_videos
@@ -1,43 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # === MultimediaParadise::GUI::Gtk::PlayVideoFromMyCollection
6
- #
7
- # The purpose of this class is to give the user a list of available
8
- # videos, which appear in form of buttons, in a scrollable widget.
9
- #
10
- # When clicking on one, this video is then played.
11
- #
12
- # Usage example:
13
- #
14
- # MultimediaParadise::GUI::Gtk::PlayVideoFromMyCollection.new
15
- #
16
- # =========================================================================== #
17
- # require 'multimedia_paradise/gui/gtk2/play_video_from_my_collection/play_video_from_my_collection.rb'
18
- # =========================================================================== #
19
- require 'gtk_paradise/require_gtk2'
20
-
21
- module MultimediaParadise
22
-
23
- module GUI
24
-
25
- module Gtk
26
-
27
- class PlayVideoFromMyCollection < ::Gtk::Frame # === MultimediaParadise::GUI::Gtk::PlayVideoFromMyCollection
28
-
29
- require 'multimedia_paradise/gui/shared_code/play_video_from_my_collection/play_video_from_my_collection_module.rb'
30
- include ::MultimediaParadise::GUI::Gtk::PlayVideoFromMyCollectionModule
31
-
32
- # ========================================================================= #
33
- # === MultimediaParadise::GUI::Gtk::PlayVideoFromMyCollection.run
34
- # ========================================================================= #
35
- def self.run
36
- ::MultimediaParadise::GUI::Gtk::PlayVideoFromMyCollectionModule.run
37
- end
38
-
39
- end; end; end; end
40
-
41
- if __FILE__ == $PROGRAM_NAME
42
- MultimediaParadise::GUI::Gtk::PlayVideoFromMyCollection.run
43
- end # $MULTIMEDIA_PARADISE/gui/gtk/play_video_from_my_collection.rb
@@ -1,40 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # === MultimediaParadise::GUI::Gtk::SimplePlayWidget
6
- # =========================================================================== #
7
- # require 'multimedia_paradise/gui/gtk2/simple_play_widget/simple_play_widget.rb'
8
- # MultimediaParadise.simple_play_widget
9
- # =========================================================================== #
10
- # === Todo:
11
- #
12
- # - Indicate IF a song or video is playing somehow.
13
- #
14
- # =========================================================================== #
15
- require 'gtk_paradise/require_gtk2'
16
- require 'multimedia_paradise/gui/gtk2/widget_increase_or_decrease_audio/widget_increase_or_decrease_audio.rb'
17
-
18
- module MultimediaParadise
19
-
20
- module GUI
21
-
22
- module Gtk
23
-
24
- class SimplePlayWidget < ::Gtk::VBox # === MultimediaParadise::GUI::Gtk::SimplePlayWidget
25
-
26
- require 'multimedia_paradise/gui/shared_code/simple_play_widget/simple_play_widget_module.rb'
27
- include MultimediaParadise::GUI::Gtk::SimplePlayWidgetModule
28
-
29
- # ========================================================================= #
30
- # === MultimediaParadise::GUI::Gtk::SimplePlayWidget.run
31
- # ========================================================================= #
32
- def self.run
33
- ::MultimediaParadise::GUI::Gtk::SimplePlayWidgetModule.run
34
- end
35
-
36
- end; end; end; end
37
-
38
- if __FILE__ == $PROGRAM_NAME
39
- MultimediaParadise::GUI::Gtk::SimplePlayWidget.run
40
- end # gtksimpleplaywidget
@@ -1,42 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # === MultimediaParadise::GUI::Gtk::WidgetIncreaseOrDecreaseAudio
6
- #
7
- # This is a small widget that can be used in other ruby-gtk applications.
8
- #
9
- # Usage example:
10
- #
11
- # MultimediaParadise::GUI::Gtk::WidgetIncreaseOrDecreaseAudio.new
12
- #
13
- # =========================================================================== #
14
- # require 'multimedia_paradise/gui/gtk2/widget_increase_or_decrease_audio/widget_increase_or_decrease_audio.rb'
15
- # MultimediaParadise.widget_increase_or_decrease_audio
16
- # MultimediaParadise::GUI::Gtk::WidgetIncreaseOrDecreaseAudio.new
17
- # =========================================================================== #
18
- require 'gtk_paradise/require_gtk2'
19
-
20
- module MultimediaParadise
21
-
22
- module GUI
23
-
24
- module Gtk
25
-
26
- class WidgetIncreaseOrDecreaseAudio < ::Gtk::HBox # === MultimediaParadise::GUI::Gtk::WidgetIncreaseOrDecreaseAudio
27
-
28
- require 'multimedia_paradise/gui/shared_code/widget_increase_or_decrease_audio/widget_increase_or_decrease_audio_module.rb'
29
- include ::MultimediaParadise::GUI::Gtk::WidgetIncreaseOrDecreaseAudioModule
30
-
31
- # ========================================================================= #
32
- # === MultimediaParadise::GUI::Gtk::WidgetIncreaseOrDecreaseAudio.run
33
- # ========================================================================= #
34
- def self.run
35
- MultimediaParadise::GUI::Gtk::WidgetIncreaseOrDecreaseAudioModule.run
36
- end
37
-
38
- end; end; end; end
39
-
40
- if __FILE__ == $PROGRAM_NAME
41
- MultimediaParadise::GUI::Gtk::WidgetIncreaseOrDecreaseAudio.run
42
- end
@@ -1,32 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # === MultimediaParadise::GUI::Gtk::YoutubeDownloader
6
- # =========================================================================== #
7
- require 'gtk_paradise/require_gtk2'
8
- require 'multimedia_paradise/requires/require_the_multimedia_paradise_project.rb'
9
-
10
- module MultimediaParadise
11
-
12
- module GUI
13
-
14
- module Gtk
15
-
16
- class YoutubeDownloader < ::Gtk::VBox # === MultimediaParadise::GUI::Gtk::YoutubeDownloader
17
-
18
- require 'multimedia_paradise/gui/shared_code/youtube_downloader/youtube_downloader_module.rb'
19
- include ::MultimediaParadise::GUI::Gtk::YoutubeDownloaderModule
20
-
21
- # ========================================================================= #
22
- # === MultimediaParadise::GUI::Gtk::YoutubeDownloader.run
23
- # ========================================================================= #
24
- def self.run
25
- ::MultimediaParadise::GUI::Gtk::YoutubeDownloaderModule.run
26
- end
27
-
28
- end; end; end; end
29
-
30
- if __FILE__ == $PROGRAM_NAME
31
- MultimediaParadise::GUI::Gtk::YoutubeDownloader.run
32
- end # youtube_downloader
File without changes
@@ -1,34 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # === MultimediaParadise::GUI::Gtk::MultimediaConverter
6
- # =========================================================================== #
7
- # require 'multimedia_paradise/gui/gtk3/multimedia_converter/multimedia_converter.rb'
8
- # =========================================================================== #
9
- require 'gtk_paradise/require_gtk3.rb'
10
- require 'gtk_paradise/widgets/gtk3/debug_widget/debug_widget.rb'
11
-
12
- module MultimediaParadise
13
-
14
- module GUI
15
-
16
- module Gtk
17
-
18
- class MultimediaConverter < ::Gtk::Box # === Gtk::MultimediaConverter
19
-
20
- require 'multimedia_paradise/gui/shared_code/multimedia_converter/multimedia_converter_module.rb'
21
- include MultimediaParadise::GUI::Gtk::MultimediaConverterModule
22
-
23
- # ========================================================================= #
24
- # === MultimediaParadise::GUI::Gtk::MultimediaConverter.run
25
- # ========================================================================= #
26
- def self.run
27
- ::MultimediaParadise::GUI::Gtk::MultimediaConverterModule.run
28
- end
29
-
30
- end; end; end; end
31
-
32
- if __FILE__ == $PROGRAM_NAME
33
- MultimediaParadise::GUI::Gtk::MultimediaConverter.run
34
- end # rconvert
@@ -1,34 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # === MultimediaParadise::GUI::Gtk::Playlist
6
- # =========================================================================== #
7
- # require 'multimedia_paradise/gui/gtk3/playlist/playlist.rb'
8
- # MultimediaParadise::GUI::Gtk::Playlist.run
9
- # =========================================================================== #
10
- require 'gtk_paradise/require_gtk3'
11
-
12
- module MultimediaParadise
13
-
14
- module GUI
15
-
16
- module Gtk
17
-
18
- class Playlist < ::Gtk::Box
19
-
20
- require 'multimedia_paradise/gui/shared_code/playlist/playlist_module.rb'
21
- include ::MultimediaParadise::GUI::Gtk::PlaylistModule
22
-
23
- # ========================================================================= #
24
- # === MultimediaParadise::GUI::Gtk::Playlist.run
25
- # ========================================================================= #
26
- def self.run
27
- ::MultimediaParadise::GUI::Gtk::PlaylistModule.run
28
- end
29
-
30
- end; end; end; end
31
-
32
- if __FILE__ == $PROGRAM_NAME
33
- MultimediaParadise::GUI::Gtk::Playlist.run
34
- end
@@ -1,38 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # === MultimediaParadise::GUI::Gtk::SimplePlayWidget
6
- # =========================================================================== #
7
- # require 'multimedia_paradise/gui/gtk3/simple_play_widget/simple_play_widget.rb'
8
- # MultimediaParadise::GUI::Gtk::SimplePlayWidget.run
9
- # =========================================================================== #
10
- require 'gtk_paradise/require_gtk3'
11
- require 'multimedia_paradise/gui/gtk3/widget_increase_or_decrease_audio/widget_increase_or_decrease_audio.rb'
12
-
13
- module MultimediaParadise
14
-
15
- module GUI
16
-
17
- module Gtk
18
-
19
- class SimplePlayWidget < ::Gtk::Box
20
-
21
- require 'gtk_paradise/requires/require_the_base_module.rb'
22
- include ::Gtk::BaseModule
23
-
24
- require 'multimedia_paradise/gui/shared_code/simple_play_widget/simple_play_widget_module.rb'
25
- include ::MultimediaParadise::GUI::SimplePlayWidgetModule
26
-
27
- # ========================================================================= #
28
- # === MultimediaParadise::GUI::Gtk::SimplePlayWidget.run
29
- # ========================================================================= #
30
- def self.run
31
- ::MultimediaParadise::GUI::SimplePlayWidgetModule.run
32
- end
33
-
34
- end; end; end; end
35
-
36
- if __FILE__ == $PROGRAM_NAME
37
- MultimediaParadise::GUI::Gtk::SimplePlayWidget.run
38
- end
@@ -1,31 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'multimedia_paradise/toplevel_methods/analyze_audio_stream.rb'
6
- # =========================================================================== #
7
- require 'multimedia_paradise/toplevel_methods/e.rb'
8
- require 'multimedia_paradise/ffmpeg/ffmpeg.rb'
9
-
10
- module MultimediaParadise
11
-
12
- # ========================================================================= #
13
- # === MultimediaParadise.analyze_audio_stream
14
- #
15
- # This method will use ffmpeg in order to analyze the audio stream. A
16
- # Hash will be returned, which will keep the decibel-score value.
17
- #
18
- # For more documentation see the method
19
- # MultimediaParadise.ffmpeg_analyze_audio_stream().
20
- # ========================================================================= #
21
- def self.analyze_audio_stream(
22
- of_this_file
23
- )
24
- ffmpeg_analyze_audio_stream(of_this_file)
25
- end
26
-
27
- end
28
-
29
- if __FILE__ == $PROGRAM_NAME
30
- pp MultimediaParadise.analyze_audio_stream(ARGV)
31
- end # analyze_audio $MY_SONGS/YoonDohyun_Dolgo.mp3
@@ -1,50 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # The idea for this file is to collect codec-related code.
6
- # =========================================================================== #
7
- # require 'multimedia_paradise/toplevel_methods/codecs.rb'
8
- # =========================================================================== #
9
- module MultimediaParadise
10
-
11
- require 'multimedia_paradise/toplevel_methods/esystem.rb'
12
-
13
- # ========================================================================= #
14
- # === MultimediaParadise.codec_conversion
15
- #
16
- # This method can be used to convert, e. g. from a .mp3 file to a
17
- # .ogg file. Note that this does not work right now (November 2020).
18
- #
19
- # In raw ffmpeg this would be like so:
20
- #
21
- # ffmpeg -i input.mp3 -c:a libvorbis output.ogg
22
- #
23
- # Usage example:
24
- #
25
- # MultimediaParadise.codec_conversion
26
- #
27
- # ========================================================================= #
28
- def self.codec_conversion(
29
- of_this_input_file,
30
- use_this_codec = :libvorbis
31
- )
32
- if of_this_input_file.is_a? Array
33
- of_this_input_file = of_this_input_file.join(' ').strip
34
- end
35
- output_file = of_this_input_file.
36
- sub(/#{File.extname(of_this_input_file)}/,'')+
37
- '.ogg'
38
- _ = 'ffmpeg -i '+of_this_input_file+' -c:a '+
39
- use_this_codec.to_s+
40
- output_file
41
- e
42
- esystem _
43
- e
44
- end
45
-
46
- end
47
-
48
- if __FILE__ == $PROGRAM_NAME
49
- MultimediaParadise.codec_conversion(ARGV)
50
- end
@@ -1,18 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'multimedia_paradise/toplevel_methods/copy_file.rb'
6
- # =========================================================================== #
7
- require 'fileutils'
8
-
9
- module MultimediaParadise
10
-
11
- # ========================================================================= #
12
- # === MultimediaParadise.copy_file
13
- # ========================================================================= #
14
- def self.copy_file(from, to)
15
- FileUtils.cp(from, to)
16
- end
17
-
18
- end
@@ -1,31 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'multimedia_paradise/toplevel_methods/delay_audio.rb'
6
- # =========================================================================== #
7
- require 'multimedia_paradise/toplevel_methods/esystem.rb'
8
- require 'multimedia_paradise/ffmpeg/ffmpeg.rb'
9
-
10
- module MultimediaParadise
11
-
12
- # ========================================================================= #
13
- # === MultimediaParadise.delay_audio
14
- #
15
- # This method will delay the audio of a video-file, by n-seconds.
16
- #
17
- # The second argument to this method, `by`, handles that delay.
18
- # ========================================================================= #
19
- def self.delay_audio(
20
- this_file = ARGV,
21
- by = '3.85 seconds' # <- Input your delay here.
22
- )
23
- ffmpeg_delay_audio(this_file, by)
24
- end
25
-
26
- end
27
-
28
- if __FILE__ == $PROGRAM_NAME
29
- # MultimediaParadise.delay_audio(ARGV)
30
- MultimediaParadise.delay_audio(ARGV, 80)
31
- end # delay_audio foo.mp4
@@ -1,27 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'multimedia_paradise/toplevel_methods/ensure_that_the_output_directory_exists.rb'
6
- # =========================================================================== #
7
- require 'fileutils'
8
-
9
- module MultimediaParadise
10
-
11
- # ========================================================================= #
12
- # === MultimediaParadise.ensure_that_the_output_directory_exists
13
- #
14
- # We must make sure that the output directory exists, hence the
15
- # check belove and the call to FileUtils.mkdir_p().
16
- # ========================================================================= #
17
- def self.ensure_that_the_output_directory_exists(
18
- output_directory = MultimediaParadise.output_directory?
19
- )
20
- unless File.exist? output_directory
21
- FileUtils.mkdir_p(
22
- output_directory
23
- )
24
- end
25
- end
26
-
27
- end
@@ -1,48 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'multimedia_paradise/toplevel_methods/has_audio.rb'
6
- # =========================================================================== #
7
- module MultimediaParadise
8
-
9
- require 'multimedia_paradise/toplevel_methods/e.rb'
10
-
11
- # ========================================================================= #
12
- # === MultimediaParadise.verbose_output_has_audio?
13
- # ========================================================================= #
14
- def self.has_audio?(i = ARGV)
15
- if i.is_a? Array
16
- i = i.flatten.first
17
- end
18
- result = `ffprobe -i #{i} -show_streams -select_streams a -loglevel error`.to_s.strip
19
- !result.empty?
20
- end
21
-
22
- # ========================================================================= #
23
- # === MultimediaParadise.verbose_output_has_audio?
24
- #
25
- # This variant will show verbose output.
26
- # ========================================================================= #
27
- def self.verbose_output_has_audio?(i = ARGV)
28
- require 'multimedia_paradise/colours/colours.rb'
29
- result = has_audio?(i)
30
- if result
31
- e rev+'Yes, the file at '
32
- e sfile(" #{i}")
33
- e rev+'does contain an audio stream.'
34
- else
35
- e rev+'No, the file at '
36
- e sfile(" #{i}")
37
- e rev+'does NOT contain an audio stream.'
38
- end
39
- end
40
-
41
- end
42
-
43
- if __FILE__ == $PROGRAM_NAME
44
- alias e puts
45
- ARGV.each {|entry|
46
- e MultimediaParadise.verbose_output_has_audio?(entry)
47
- }
48
- end # hasaudio