Class: MultimediaParadise::Base

Inherits:
Object
  • Object
show all
Includes:
CommandlineArgumentsModule
Defined in:
lib/multimedia_paradise/base/base.rb,
lib/multimedia_paradise/base/colours.rb

Overview

MultimediaParadise::Base

Direct Known Subclasses

AnalyseMultimediaFile, Audio::AudioTagReader, Audio::LyricsFetcher, Audio::StreamripperWrapper, CaptureScreen, ConvertAudioToVideoWithImage, CopyRandomVideo, CreateVideoThumbnails, FfmpegOptions, FixMarriedWithChildrenVideos, GUI::UniversalWidgets::ChangeMetadataWidget, GUI::UniversalWidgets::CutMultimedia, GUI::UniversalWidgets::InformationAboutAMp3File, GUI::UniversalWidgets::Lyrics, GUI::UniversalWidgets::MultimediaConverter, GUI::UniversalWidgets::Playlist, GUI::UniversalWidgets::Radio, GUI::UniversalWidgets::SimplePlayWidget, GUI::UniversalWidgets::SoundEffectWidget, GUI::UniversalWidgets::TagMp3Files, GUI::UniversalWidgets::VideoCollection, Genre, GuessVideoName, ImdbRating, InteractiveShell, MergeMultimedia, MikeHammer, MplayerWrapper, Multimedia::ReadMetaTags, Multimedia::VideoDownloader, MultimediaBase, Note, PlayFromThisList, PlayRandomFile, Simpsons, SimulateYoutubePlaylist, SrtRegex, Statistics::Video, StoreAvailableVideoFiles, Video::AllVideos, Video::CheckNumbers, Video::Columbo, Video::CopyMissingVideoFiles, Video::CorrectVideoNumbers, Video::EncodeVideo, Video::FindVideo, Video::Genres, Video::MovieSearcher, Video::NVideos, Video::PlayRandomRealvideo, Video::PrepareVideoLecture, Video::RandomVideo, Video::RegisteredVideoFile, Video::RemoveMetadata, Video::RenameVideoFile, Video::ReportLocalVideos, Video::ReportMissingVideosInTheYamlFile, Video::Resolution, Video::ReverseVideo, Video::SmartAnimals, Video::SpeedUpVideo, Video::SplitThisVideo, Video::TheSimpsons, Video::VideoInformation, Video::VideoRenamer, Video::Watermark, VideoMetadata, VideoPlayer, YoutubeEmbedder

Constant Summary collapse

NAMESPACE =
#

NAMESPACE

#
inspect
ERROR_LINE =
#

ERROR_LINE

#
'2>&1'
ERROR =

ERROR

ERROR_LINE
USE_THIS_NAMESPACE_FOR_THE_COLOURS =
#

USE_THIS_NAMESPACE_FOR_THE_COLOURS

Add a “pointer” to the colours gem, via its namespace “Colours”.

#
COLOURS
USE_THIS_NAMESPACE_FOR_THE_CORE_COLOURS =
#

USE_THIS_NAMESPACE_FOR_THE_CORE_COLOURS

#
::Colours

Class Method Summary collapse

Instance Method Summary collapse

Methods included from CommandlineArgumentsModule

#all_input_starts_with_a_number?, #commandline_arguments?, #commandline_arguments_as_a_string, #first_argument?, #first_non_hyphened_commandline_argument?, #set_commandline_arguments

Constructor Details

#initializeBase

#

initialize

#


63
64
65
# File 'lib/multimedia_paradise/base/base.rb', line 63

def initialize
  reset
end

Class Method Details

.[](i = ARGV) ⇒ Object

#

MultimediaParadise::Base[]

#


865
866
867
# File 'lib/multimedia_paradise/base/base.rb', line 865

def self.[](i = ARGV)
  new(i)
end

Instance Method Details

#actions(this_action, optional_arguments = nil, &block) ⇒ Object Also known as: action

#

actions

#


646
647
648
649
650
651
652
653
654
655
656
# File 'lib/multimedia_paradise/base/base.rb', line 646

def actions(
    this_action,
    optional_arguments = nil,
    &block
  )
  MultimediaParadise.action(
    this_action,
    optional_arguments,
    &block
  )
end

#append_what_into(what, into) ⇒ Object

#

append_what_into

#


765
766
767
768
769
# File 'lib/multimedia_paradise/base/base.rb', line 765

def append_what_into(what, into)
  if Object.const_defined? :SaveFile
    SaveFile.append_what_into(what, into)
  end
end

#be_silentObject Also known as: be_quiet, set_be_quiet, set_be_silent

#

be_silent

#


737
738
739
# File 'lib/multimedia_paradise/base/base.rb', line 737

def be_silent
  @internal_hash[:be_verbose] = false
end

#be_verbose?Boolean Also known as: verbose?

#

be_verbose?

#

Returns:

  • (Boolean)


730
731
732
# File 'lib/multimedia_paradise/base/base.rb', line 730

def be_verbose?
  @internal_hash[:be_verbose]
end

#beautiful_url(i) ⇒ Object

#

beautiful_url

Wrapper-method over the beautiful_url gem.

#


288
289
290
291
292
293
294
295
296
297
# File 'lib/multimedia_paradise/base/base.rb', line 288

def beautiful_url(i)
  unless Object.const_defined? :BeautifulUrl
    begin
      require 'beautiful_url'
    rescue LoadError; end
  end
  i = ::BeautifulUrl.new(i) if Object.const_defined? :BeautifulUrl
  i = i.first if i.is_a? Array
  return i
end

#cartoons_directory?Boolean Also known as: cartoon_directory?

#

cartoons_directory?

#

Returns:

  • (Boolean)


448
449
450
# File 'lib/multimedia_paradise/base/base.rb', line 448

def cartoons_directory?
  MultimediaParadise.cartoons_directory?
end

#clear_the_internal_hashObject

#

clear_the_internal_hash

#


850
851
852
# File 'lib/multimedia_paradise/base/base.rb', line 850

def clear_the_internal_hash
  @internal_hash.clear
end

#cliner(i = nil, &block) ⇒ Object

#

cliner (cliner tag)

#


661
662
663
664
665
666
# File 'lib/multimedia_paradise/base/base.rb', line 661

def cliner(
    i = nil,
    &block
  )
  "#{rev}#{Cliner.cliner(i, &block)}#{rev}"
end

#cliner_with_time_stampObject

#

cliner_with_time_stamp

#


573
574
575
576
577
578
579
# File 'lib/multimedia_paradise/base/base.rb', line 573

def cliner_with_time_stamp
  _ = Cliner.cliner :return_time
  if use_colours?
    _.sub!(/(\d{2}:\d{2}:\d{2})/, slateblue("\\1"))
  end
  e _
end

#colourized_comment(i) ⇒ Object

#

colourized_comment

#


360
361
362
363
364
365
366
367
368
369
# File 'lib/multimedia_paradise/base/colours.rb', line 360

def colourized_comment(i)
  if i.include? '#'
    splitted = i.split('#')
    splitted[0] = steelblue(splitted[0])
    splitted[1] = lightgreen(splitted[1])
    e splitted.join(grey('#'))
  else
    e i
  end
end

#copy_file(from, to = return_pwd) ⇒ Object

#

copy_file

#


774
775
776
# File 'lib/multimedia_paradise/base/base.rb', line 774

def copy_file(from, to = return_pwd)
  FileUtils.cp(from, to)
end

#crimson(i = '') ⇒ Object

#

crimson

#


297
298
299
300
# File 'lib/multimedia_paradise/base/colours.rb', line 297

def crimson(i = '')
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.crimson(i) if use_colours?
  return i
end

#dataset_from_file_video_collection(i = MultimediaParadise.file_video_collection) ⇒ Object

#

dataset_from_file_video_collection

#


404
405
406
407
408
# File 'lib/multimedia_paradise/base/base.rb', line 404

def dataset_from_file_video_collection(
    i = MultimediaParadise.file_video_collection
  )
  YAML.load_file(i)
end

#dd_mm_yyyyObject Also known as: dd_mm_yyyy?

#

dd_mm_yyyy

Get the time in dd.mm.yyyy format. We have to use ‘_’ underscores for the method name, as ruby does not allow ‘.’ to be part of a method name itself, as this is the dot-operator for method calls.

#


205
206
207
# File 'lib/multimedia_paradise/base/base.rb', line 205

def dd_mm_yyyy
  return ::Time.now.strftime('%d.%m.%Y')
end

#debug?Boolean

#

debug?

#

Returns:

  • (Boolean)


507
508
509
# File 'lib/multimedia_paradise/base/base.rb', line 507

def debug?
  @internal_hash[:debug]
end

#default_readlines(this_file) ⇒ Object

#

default_readlines

#


696
697
698
699
700
# File 'lib/multimedia_paradise/base/base.rb', line 696

def default_readlines(
    this_file
  )
  File.readlines(this_file, encoding: 'utf-8')
end

#directory_to_realvids?Boolean Also known as: realvids_directory?

#

directory_to_realvids?

This method will return the absolute path to my local realvid directory.

It is only used in code of classes that deal with my local multimedia files really.

#

Returns:

  • (Boolean)


483
484
485
# File 'lib/multimedia_paradise/base/base.rb', line 483

def directory_to_realvids?
  MultimediaParadise.realvids_directory?
end

#do_not_use_opnObject

#

do_not_use_opn

#


107
108
109
# File 'lib/multimedia_paradise/base/base.rb', line 107

def do_not_use_opn
  @internal_hash[:use_opn] = false
end

#dodgerblue(i) ⇒ Object

#

dodgerblue

#


171
172
173
174
# File 'lib/multimedia_paradise/base/colours.rb', line 171

def dodgerblue(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.dodgerblue(i) if use_colours?
  i
end

#does_the_video_player_support_this_commandline?(this_commandline = '--msg-color') ⇒ Boolean

#

does_the_video_player_support_this_commandline?

The following method checks whether the chosen video player at hand supports a particular commandline. The check is necessary because on some systems ‘mpv’ may be an alias to ‘mplayer.

#

Returns:

  • (Boolean)


157
158
159
160
161
162
163
# File 'lib/multimedia_paradise/base/base.rb', line 157

def does_the_video_player_support_this_commandline?(
    this_commandline = '--msg-color'
  )
  cmd = "#{use_which_video_player?} #{this_commandline.strip} 2>&1"
  result = `#{cmd}`
  !result.include?('Unknown option on the command line: ')
end

#e(i = '') ⇒ Object

#

e

#


584
585
586
# File 'lib/multimedia_paradise/base/base.rb', line 584

def e(i = '')
  MultimediaParadise.e(i)
end

#ecomment(i, use_colours = use_colours? ) ⇒ Object

#

ecomment

#


374
375
376
377
378
379
380
381
382
383
384
385
386
# File 'lib/multimedia_paradise/base/colours.rb', line 374

def ecomment(
    i, use_colours = use_colours?
  )
  if use_colours
    if USE_THIS_NAMESPACE_FOR_THE_COLOURS.respond_to?(:ecomment)
      USE_THIS_NAMESPACE_FOR_THE_COLOURS.ecomment(i)
    else
      ::Colours.ecomment(i)
    end
  else
    e i
  end
end

#ecrimson(i = '') ⇒ Object

#

ecrimson

#


305
306
307
# File 'lib/multimedia_paradise/base/colours.rb', line 305

def ecrimson(i = '')
  e crimson(i)
end

#efancy(i) ⇒ Object

#

efancy

#


591
592
593
# File 'lib/multimedia_paradise/base/base.rb', line 591

def efancy(i)
  e sfancy(i)
end

#enable_debugObject

#

enable_debug

#


514
515
516
# File 'lib/multimedia_paradise/base/base.rb', line 514

def enable_debug
  @internal_hash[:debug] = true
end

#ensure_main_encoding(i, use_this_encoding = USE_THIS_ENCODING) ⇒ Object

#

ensure_main_encoding

This method can ensure that a String has the proper encoding that we will use for the MultimediaParadise project.

#


222
223
224
225
226
227
228
229
230
231
232
# File 'lib/multimedia_paradise/base/base.rb', line 222

def ensure_main_encoding(
    i, use_this_encoding = USE_THIS_ENCODING
  )
  if i.is_a? String
    unless i.encoding.to_s.include? use_this_encoding
      i = i.dup if i.frozen?
      i = i.force_encoding(use_this_encoding)
    end
  end
  return i
end

#ensure_that_the_output_directory_exists(this_directory = log_directory? ) ⇒ Object

#

ensure_that_the_output_directory_exists

#


808
809
810
811
812
813
# File 'lib/multimedia_paradise/base/base.rb', line 808

def ensure_that_the_output_directory_exists(
    this_directory = log_directory?
  )
  this_directory = File.dirname(this_directory) unless this_directory.end_with? '/'
  MultimediaParadise.ensure_that_the_output_directory_exists
end

#eparse(i) ⇒ Object

#

eparse

#


50
51
52
53
# File 'lib/multimedia_paradise/base/colours.rb', line 50

def eparse(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.eparse(i) if use_colours?
  e i
end

#erev(i = '') ⇒ Object

#

erev

#


218
219
220
# File 'lib/multimedia_paradise/base/colours.rb', line 218

def erev(i = '')
  e "#{rev}#{i}"
end

#esystem(i, optional_colour_to_use = nil, use_a_newline_before_the_system_command = false) ⇒ Object

#

esystem

The second argument should be a Symbol such as :steelblue.

#


537
538
539
540
541
542
543
544
545
546
547
# File 'lib/multimedia_paradise/base/base.rb', line 537

def esystem(
    i,
    optional_colour_to_use                  = nil,
    use_a_newline_before_the_system_command = false
  )
  MultimediaParadise.esystem(
    i,
    optional_colour_to_use,
    use_a_newline_before_the_system_command
  )
end

#ewarn(i) ⇒ Object

#

ewarn

#


248
249
250
# File 'lib/multimedia_paradise/base/colours.rb', line 248

def ewarn(i)
  e swarn(i)
end

#file_video_collection?Boolean

#

file_video_collection?

#

Returns:

  • (Boolean)


441
442
443
# File 'lib/multimedia_paradise/base/base.rb', line 441

def file_video_collection?
  MultimediaParadise.file_video_collection?
end

#filter_for_audio_files(i) ⇒ Object

#

filter_for_audio_files

We will filter for audio files - so we will keep only files that are audio files.

#


836
837
838
# File 'lib/multimedia_paradise/base/base.rb', line 836

def filter_for_audio_files(i)
  i.select {|file| is_audio_file?(file) }
end

#filter_for_video_files(i) ⇒ Object

#

filter_for_video_files

#


626
627
628
# File 'lib/multimedia_paradise/base/base.rb', line 626

def filter_for_video_files(i)
  MultimediaParadise.filter_for_video_files(i)
end

#forestgreen(i, use_colours = use_colours? ) ⇒ Object

#

forestgreen

#


287
288
289
290
291
292
# File 'lib/multimedia_paradise/base/colours.rb', line 287

def forestgreen(
    i, use_colours = use_colours?
  )
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.teal(i) if use_colours
  return i
end

#gold(i, use_colours = use_colours? ) ⇒ Object

#

gold

#


320
321
322
323
324
325
# File 'lib/multimedia_paradise/base/colours.rb', line 320

def gold(
    i,  use_colours = use_colours?
  )
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.gold(i) if use_colours
  return i
end

#grey(i, use_colours = use_colours? ) ⇒ Object

#

grey

#


330
331
332
333
334
335
# File 'lib/multimedia_paradise/base/colours.rb', line 330

def grey(
    i,  use_colours = use_colours?
  )
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.grey(i) if use_colours
  return i
end

#hh_mm_ssObject Also known as: hh_mm_ss?

#

hh_mm_ss

#


212
213
214
# File 'lib/multimedia_paradise/base/base.rb', line 212

def hh_mm_ss
  return ::Time.now.strftime('%H:%M:%S')
end

#home_x_video?Boolean

#

home_x_video?

#

Returns:

  • (Boolean)


826
827
828
# File 'lib/multimedia_paradise/base/base.rb', line 826

def home_x_video?
  MultimediaParadise.home_x_video?
end

#indianred(i) ⇒ Object

#

indianred

#


75
76
77
78
# File 'lib/multimedia_paradise/base/colours.rb', line 75

def indianred(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.indianred(i) if use_colours?
  i
end

#infer_the_namespaceObject

#

infer_the_namespace

This will assume the true namespace from the inspectable name.

#


116
117
118
119
120
121
122
123
124
125
126
127
128
129
# File 'lib/multimedia_paradise/base/base.rb', line 116

def infer_the_namespace
  _ = inspect
  if _.include?(':0x')
    _ = _.split(':0x').first.to_s.strip
  end
  _ = _.to_s.delete('<')
  if _.include? ' '
    _ = _.split(' ').first.delete('#')
    if _.include? ':'
      _ = _.split(':')[0 .. -2].reject {|entry| entry.empty? }.join('::')
    end
  end
  @namespace = _.delete('#') # And assign it here.
end

#internal_hash?Boolean

#

internal_hash?

#

Returns:

  • (Boolean)


361
362
363
# File 'lib/multimedia_paradise/base/base.rb', line 361

def internal_hash?
  @internal_hash
end

#is_audio_file?(i) ⇒ Boolean Also known as: is_audio_song?, is_an_audio_file?

#

is_audio_file?

This method can be used in order to determine whether we are working with an audio file here or whether we are not.

#

Returns:

  • (Boolean)


469
470
471
# File 'lib/multimedia_paradise/base/base.rb', line 469

def is_audio_file?(i)
  MultimediaParadise.is_audio_file?(i)
end

#is_mkv?(i) ⇒ Boolean

#

is_mkv?

#

Returns:

  • (Boolean)


619
620
621
# File 'lib/multimedia_paradise/base/base.rb', line 619

def is_mkv?(i)
  File.extname(i).downcase == '.mkv'
end

#is_mp3?(i) ⇒ Boolean

#

is_mp3?

#

Returns:

  • (Boolean)


605
606
607
# File 'lib/multimedia_paradise/base/base.rb', line 605

def is_mp3?(i)
  File.extname(i).downcase == '.mp3'
end

#is_mp4?(i) ⇒ Boolean

#

is_mp4?

#

Returns:

  • (Boolean)


612
613
614
# File 'lib/multimedia_paradise/base/base.rb', line 612

def is_mp4?(i)
  File.extname(i).downcase == '.mp4'
end

#is_multimedia_file?(i) ⇒ Boolean Also known as: is_a_multimedia_file?, is_this_a_multimedia_file?

#

is_multimedia_file?

This method will return true if the given directory is either an audio file or a video file.

#

Returns:

  • (Boolean)


278
279
280
# File 'lib/multimedia_paradise/base/base.rb', line 278

def is_multimedia_file?(i)
  is_audio_file?(i) or is_video_file?(i)
end

#is_on_roebe?Boolean

#

is_on_roebe?

Determine whether we are on a roebe-system or whether we are not.

#

Returns:

  • (Boolean)


354
355
356
# File 'lib/multimedia_paradise/base/base.rb', line 354

def is_on_roebe?
  MultimediaParadise.is_on_roebe?
end

#is_video_file?(i) ⇒ Boolean Also known as: is_this_a_video_file?, is_a_video_file?

#

is_video_file?

#

Returns:

  • (Boolean)


193
194
195
# File 'lib/multimedia_paradise/base/base.rb', line 193

def is_video_file?(i)
  MultimediaParadise.is_video_file?(i) # Delegate to the module-method here.
end

#konsole_colour_peru(i) ⇒ Object

#

konsole_colour_peru

#


187
188
189
190
# File 'lib/multimedia_paradise/base/colours.rb', line 187

def konsole_colour_peru(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.peru(i) if use_colours?
  i
end

#lightblue(i, use_colours = use_colours? ) ⇒ Object

#

lightblue

#


350
351
352
353
354
355
# File 'lib/multimedia_paradise/base/colours.rb', line 350

def lightblue(
    i, use_colours = use_colours?
  )
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.lightblue(i) if use_colours
  return i
end

#lightgreen(i) ⇒ Object

#

lightgreen

#


147
148
149
150
# File 'lib/multimedia_paradise/base/colours.rb', line 147

def lightgreen(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.lightgreen(i) if use_colours?
  return i
end

#load_yaml(i) ⇒ Object

#

load_yaml

#


552
553
554
# File 'lib/multimedia_paradise/base/base.rb', line 552

def load_yaml(i)
  MultimediaParadise.load_yaml(i)
end

#local_audio_directory?Boolean Also known as: directory_containing_the_local_songs?

#

local_audio_directory?

#

Returns:

  • (Boolean)


434
435
436
# File 'lib/multimedia_paradise/base/base.rb', line 434

def local_audio_directory?
  MultimediaParadise.local_audio_directory?
end

#log_dir?Boolean Also known as: log_directory?

#

log_dir?

#

Returns:

  • (Boolean)


801
802
803
# File 'lib/multimedia_paradise/base/base.rb', line 801

def log_dir?
  MultimediaParadise.log_dir?
end

#map_symbol_to_locally_existing_file(i) ⇒ Object

#

map_symbol_to_locally_existing_file

This entry point is a shortcut to local videos.

The method will ensure that it will work on a Symbol, as given input. This will work on the downcased variant, so :Beauty or ‘Beauty’ would become :beauty.

#


243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
# File 'lib/multimedia_paradise/base/base.rb', line 243

def map_symbol_to_locally_existing_file(i)
  case i.to_s.downcase.to_sym # case tag
  # ======================================================================= #
  # === wrap :beauty
  # ======================================================================= #
  when :beauty,
       :american_beauty
    i = "#{realvids_directory?}017_American_Beauty.mp4"
  # ======================================================================= #
  # === wrap :halloween
  # ======================================================================= #
  when :halloween
    i = "#{realvids_directory?}215_Halloween.mp4"
  # ======================================================================= #
  # === wrap :predator
  # ======================================================================= #
  when :predator
    i = "#{realvids_directory?}245_Predator.avi"
  # ======================================================================= #
  # === wrap :lolita
  # ======================================================================= #
  when :lolita
    i = "#{realvids_directory?}233_Lolita.mkv"
  else
    e "#{rev}Unhandled symbol: #{i.to_s}"
  end
  return i
end

#mediumorchid(i) ⇒ Object

#

mediumorchid

#


263
264
265
266
# File 'lib/multimedia_paradise/base/colours.rb', line 263

def mediumorchid(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.mediumorchid(i) if use_colours?
  return i
end

#mediumpurple(i) ⇒ Object

#

mediumpurple

#


99
100
101
102
# File 'lib/multimedia_paradise/base/colours.rb', line 99

def mediumpurple(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.mediumpurple(i) if use_colours?
  i
end

#mediumslateblue(i) ⇒ Object

#

mediumslateblue

#


123
124
125
126
# File 'lib/multimedia_paradise/base/colours.rb', line 123

def mediumslateblue(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.mediumslateblue(i) if use_colours?
  return i
end

#mkdir(i) ⇒ Object

#

mkdir (mkdir tag)

#


528
529
530
# File 'lib/multimedia_paradise/base/base.rb', line 528

def mkdir(i)
  MultimediaParadise.mkdir(i)
end

#move_file(old, new) ⇒ Object Also known as: mv, rename_file

#

move_file (mv tag, move tag, rename tag)

#


633
634
635
636
637
638
639
# File 'lib/multimedia_paradise/base/base.rb', line 633

def move_file(old, new)
  if File.exist? old
    MultimediaParadise.mv(old, new) # Delegate towards FileUtils in this cae.
  else
    e "#{rev}Can not move `#{sfile(old)}#{rev}` as no such file exists."
  end
end

#namespace?Boolean

#

namespace?

#

Returns:

  • (Boolean)


168
169
170
# File 'lib/multimedia_paradise/base/base.rb', line 168

def namespace?
  @namespace
end

#no_file_existsObject

#

no_file_exists

#


500
501
502
# File 'lib/multimedia_paradise/base/base.rb', line 500

def no_file_exists
  e "#{rev}No file exists - may be a nil value."
end

#no_file_exists_at(this_file) ⇒ Object

#

no_file_exists_at

This method can be consistently used to notify the user that a specific file is missing.

#


493
494
495
# File 'lib/multimedia_paradise/base/base.rb', line 493

def no_file_exists_at(this_file)
  e "#{rev}No file exists at `#{sfile(this_file)}#{rev}`."
end

#olive(i) ⇒ Object

#

olive

#


115
116
117
118
# File 'lib/multimedia_paradise/base/colours.rb', line 115

def olive(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.olive(i) if use_colours?
  return i
end

#olivedrab(i) ⇒ Object

#

olivedrab

#


255
256
257
258
# File 'lib/multimedia_paradise/base/colours.rb', line 255

def olivedrab(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.olivedrab(i) if use_colours?
  return i
end

#opne(i = '') ⇒ Object

#

opne

#


716
717
718
# File 'lib/multimedia_paradise/base/base.rb', line 716

def opne(i = '')
  opnn; e i
end

#opnecomment(i = '') ⇒ Object

#

opnecomment

#


723
724
725
# File 'lib/multimedia_paradise/base/base.rb', line 723

def opnecomment(i = '')
  opnn; ecomment i
end

#opnn(namespace = { namespace: @namespace }, &block) ⇒ Object

#

opnn

#


175
176
177
178
179
180
181
182
183
184
185
186
187
188
# File 'lib/multimedia_paradise/base/base.rb', line 175

def opnn(
    namespace = { namespace: @namespace },
    &block
  )
  if use_opn?
    # ===================================================================== #
    # Turn a String into a Hash next.
    # ===================================================================== #
    if namespace.is_a? String
      namespace = { namespace: namespace } # Use the input to the method in this case.
    end
    Opn.opn(namespace, &block)
  end
end

#orange(i) ⇒ Object

#

orange

#


91
92
93
94
# File 'lib/multimedia_paradise/base/colours.rb', line 91

def orange(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.orange(i) if use_colours?
  i
end

#palegoldenrod(i) ⇒ Object

#

palegoldenrod

#


312
313
314
315
# File 'lib/multimedia_paradise/base/colours.rb', line 312

def palegoldenrod(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.palegoldenrod(i) if use_colours?
  return i
end

#palegreen(i) ⇒ Object

#

palegreen

#


83
84
85
86
# File 'lib/multimedia_paradise/base/colours.rb', line 83

def palegreen(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.palegreen(i) if use_colours?
  i
end

#powderblue(i) ⇒ Object

#

powderblue

#


139
140
141
142
# File 'lib/multimedia_paradise/base/colours.rb', line 139

def powderblue(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.powderblue(i) if use_colours?
  return i
end

#project_base_directory?Boolean

#

project_base_directory?

#

Returns:

  • (Boolean)


559
560
561
# File 'lib/multimedia_paradise/base/base.rb', line 559

def project_base_directory?
  MultimediaParadise.project_base_directory?
end

#rds(i) ⇒ Object

#

rds

#


598
599
600
# File 'lib/multimedia_paradise/base/base.rb', line 598

def rds(i)
  MultimediaParadise.rds(i)
end

#register_sigint(use_this_as_exit_message = 'Exiting now as requested.', &block) ⇒ Object

#

register_sigint

If an argument is passed to this method then it will be displayed.

#


304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
# File 'lib/multimedia_paradise/base/base.rb', line 304

def register_sigint(
    use_this_as_exit_message = 'Exiting now as requested.',
    &block
  )
  clear_kde_konsole_tab_on_exit = false
  # ======================================================================= #
  # === Handle blocks given to this method next
  # ======================================================================= #
  if block_given?
    yielded = yield
    case yielded
    # ===================================================================== #
    # === :clear_kde_konsole_tab_on_exit_if_is_on_roebe
    # ===================================================================== #
    when :clear_kde_konsole_tab_on_exit_if_is_on_roebe,
         :pretty
      if is_on_roebe?
        clear_kde_konsole_tab_on_exit = true
      end
    end
  end
  Signal.trap('SIGINT') {
    e use_this_as_exit_message if use_this_as_exit_message
    if clear_kde_konsole_tab_on_exit
      begin
        require 'roebe/classes/kde/kde_konsole/kde_konsole.rb'
        e Roebe.konsole_tab_title('.') # Rename the tab again.
      rescue LoadError; end
    end
    exit
  }
end

#remove_file(i) ⇒ Object Also known as: remove, delete, remove_this_file

#

remove_file (remove tag)

Use this method if you need to delete/remove a file.

#


457
458
459
# File 'lib/multimedia_paradise/base/base.rb', line 457

def remove_file(i)
  MultimediaParadise.remove_file(i)
end

#report_pwdObject

#

report_pwd

#


781
782
783
# File 'lib/multimedia_paradise/base/base.rb', line 781

def report_pwd
  e rds("#{Dir.pwd}/")
end

#resetObject

#

reset (reset tag)

Since as of March 2024 this method depends on @internal_hash being defined.

#


73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/multimedia_paradise/base/base.rb', line 73

def reset
  unless defined? @internal_hash
    reset_the_internal_hash # Make @internal_hash known here.
  end
  # ======================================================================= #
  # === :be_verbose
  # ======================================================================= #
  set_be_verbose
  # ======================================================================= #
  # === :use_colours
  # ======================================================================= #
  @internal_hash[:use_colours] = true
  # ======================================================================= #
  # === :debug
  #
  # By default, debugging is disabled.
  # ======================================================================= #
  @internal_hash[:debug] = false
  # ======================================================================= #
  # === :use_opn
  # ======================================================================= #
  @internal_hash[:use_opn] = true  
end

#reset_the_internal_hashObject

#

reset_the_internal_hash

The method name is a misnomer, but nonetheless it is retained, since I like to use such an API.

#


371
372
373
# File 'lib/multimedia_paradise/base/base.rb', line 371

def reset_the_internal_hash
  @internal_hash = {}
end

#return_all_video_filesObject

#

return_all_video_files

This method will return a Hash, containing all local video files.

The entries that can be found in that Hash may look like this:

228=> {"title"=>"Apocalypto"
#


420
421
422
# File 'lib/multimedia_paradise/base/base.rb', line 420

def return_all_video_files
  MultimediaParadise.return_all_video_files
end

#return_pwdObject

#

return_pwd

This method will always return a String with a trailing ‘/’ character.

#


397
398
399
# File 'lib/multimedia_paradise/base/base.rb', line 397

def return_pwd
  ("#{Dir.pwd}/").squeeze('/')
end

#return_random_videoObject

#

return_random_video

#


427
428
429
# File 'lib/multimedia_paradise/base/base.rb', line 427

def return_random_video
  MultimediaParadise.return_random_video
end

#revObject

#

rev (rev tag)

#


211
212
213
# File 'lib/multimedia_paradise/base/colours.rb', line 211

def rev
  USE_THIS_NAMESPACE_FOR_THE_CORE_COLOURS.rev
end

#royalblue(i) ⇒ Object

#

royalblue

#


179
180
181
182
# File 'lib/multimedia_paradise/base/colours.rb', line 179

def royalblue(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.royalblue(i) if use_colours?
  i
end

#runObject

#

run (run tag)

Stub-method.

#


859
860
# File 'lib/multimedia_paradise/base/base.rb', line 859

def run
end

#save_what_into(what, into) ⇒ Object Also known as: save_file, write_what_into

#

save_what_into

A simple wrapper over SaveFile.

#


755
756
757
758
759
# File 'lib/multimedia_paradise/base/base.rb', line 755

def save_what_into(what, into)
  if Object.const_defined? :SaveFile
    SaveFile.write_what_into(what, into)
  end
end

#sdir(i) ⇒ Object

#

sdir

#


232
233
234
235
# File 'lib/multimedia_paradise/base/colours.rb', line 232

def sdir(i)
  return USE_THIS_NAMESPACE_FOR_THE_CORE_COLOURS.sdir(i) if use_colours?
  return i
end

#seagreen(i, use_colours = use_colours? ) ⇒ Object

#

seagreen

#


340
341
342
343
344
345
# File 'lib/multimedia_paradise/base/colours.rb', line 340

def seagreen(
    i,  use_colours = use_colours?
  )
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.seagreen(i) if use_colours
  return i
end

#seconds_to_time_format(i) ⇒ Object Also known as: to_twentyfour_notation

#

seconds_to_time_format

#


705
706
707
708
709
710
711
# File 'lib/multimedia_paradise/base/base.rb', line 705

def seconds_to_time_format(i)
  if Object.const_defined? :Roebe
    return Roebe::TwentyfourHoursNotation[i] # => "00:05:00.000"
  else # else return the given input in an unformatted manner.
    return i
  end
end

#select_only_video_files_from(array) ⇒ Object

#

select_only_video_files_from

#


146
147
148
# File 'lib/multimedia_paradise/base/base.rb', line 146

def select_only_video_files_from(array)
  array.select {|entry| is_video_file?(entry) }
end

#set_be_verboseObject

#

set_be_verbose

#


746
747
748
# File 'lib/multimedia_paradise/base/base.rb', line 746

def set_be_verbose
  @internal_hash[:be_verbose] = true
end

#set_use_coloursObject

#

set_use_colours

#


35
36
37
# File 'lib/multimedia_paradise/base/colours.rb', line 35

def set_use_colours
  @internal_hash[:use_colours] = true
end

#sfancy(i) ⇒ Object

#

sfancy

#


203
204
205
206
# File 'lib/multimedia_paradise/base/colours.rb', line 203

def sfancy(i)
  return USE_THIS_NAMESPACE_FOR_THE_CORE_COLOURS.sfancy(i) if use_colours?
  return i
end

#sfile(i) ⇒ Object

#

sfile

#


195
196
197
198
# File 'lib/multimedia_paradise/base/colours.rb', line 195

def sfile(i)
  return USE_THIS_NAMESPACE_FOR_THE_CORE_COLOURS.sfile(i) if use_colours?
  i
end

#simp(i) ⇒ Object

#

simp

#


58
59
60
61
# File 'lib/multimedia_paradise/base/colours.rb', line 58

def simp(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.olivedrab(i) if use_colours?
  i
end

#skyblue(i) ⇒ Object

#

skyblue

#


155
156
157
158
# File 'lib/multimedia_paradise/base/colours.rb', line 155

def skyblue(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.skyblue(i) if use_colours?
  return i
end

#slateblue(i) ⇒ Object

#

slateblue

#


66
67
68
69
70
# File 'lib/multimedia_paradise/base/colours.rb', line 66

def slateblue(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.slateblue(i) if use_colours? and
         USE_THIS_NAMESPACE_FOR_THE_COLOURS.respond_to? :slateblue
  i
end

#springgreen(i) ⇒ Object

#

springgreen

#


163
164
165
166
# File 'lib/multimedia_paradise/base/colours.rb', line 163

def springgreen(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.springgreen(i) if use_colours?
  return i
end

#steelblue(i) ⇒ Object

#

steelblue

#


279
280
281
282
# File 'lib/multimedia_paradise/base/colours.rb', line 279

def steelblue(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.teal(i) if use_colours?
  return i
end

#swarn(i) ⇒ Object

#

swarn

#


240
241
242
243
# File 'lib/multimedia_paradise/base/colours.rb', line 240

def swarn(i)
  return USE_THIS_NAMESPACE_FOR_THE_CORE_COLOURS.swarn(i) if use_colours?
  return i
end

#teal(i) ⇒ Object

#

teal

#


271
272
273
274
# File 'lib/multimedia_paradise/base/colours.rb', line 271

def teal(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.teal(i) if use_colours?
  return i
end

#time_right_nowObject

#

time_right_now

This method will return a String such as:

"11:14:27-04.03.2024"
#


345
346
347
# File 'lib/multimedia_paradise/base/base.rb', line 345

def time_right_now
  Time.now.strftime('%H:%M:%S-%d.%m.%Y')
end

#to_hh_mm_ss(i) ⇒ Object

#

to_hh_mm_ss

#


819
820
821
# File 'lib/multimedia_paradise/base/base.rb', line 819

def to_hh_mm_ss(i)
  MultimediaParadise.milliseconds_to_long_format(i * 1000)
end

#tomato(i) ⇒ Object

#

tomato

#


107
108
109
110
# File 'lib/multimedia_paradise/base/colours.rb', line 107

def tomato(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.tomato(i) if use_colours?
  i
end

#true_revObject

#

true_rev

#


42
43
44
45
# File 'lib/multimedia_paradise/base/colours.rb', line 42

def true_rev
  return ::Colours.rev if use_colours? # This will always refer to ::Colours.rev directly.
  return '' # And this one here without colours available.
end

#try_to_rename_kde_konsole_tab(new_title = '_', try_to_rename_the_kde_konsole_tab = TRY_TO_RENAME_THE_KDE_KONSOLE_TAB) ⇒ Object Also known as: rename_kde_konsole, do_rename_konsole

#

try_to_rename_kde_konsole_tab

#


788
789
790
791
792
793
794
795
# File 'lib/multimedia_paradise/base/base.rb', line 788

def try_to_rename_kde_konsole_tab(
    new_title                         = '_',
    try_to_rename_the_kde_konsole_tab = TRY_TO_RENAME_THE_KDE_KONSOLE_TAB
  )
  MultimediaParadise.try_to_rename_kde_konsole_tab(
    new_title, try_to_rename_the_kde_konsole_tab
  )
end

#ucliner(n_times = 80, gold_embed_this = nil) ⇒ Object

#

ucliner

#


671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
# File 'lib/multimedia_paradise/base/base.rb', line 671

def ucliner(
    n_times         = 80,
    gold_embed_this = nil
  )
  case n_times
  # ======================================================================= #
  # === :default
  # ======================================================================= #
  when :default
    n_times = 80
  end
  if gold_embed_this
    n_times -= (gold_embed_this.to_s.size + 1)
  end
  result = lightgreen('' * n_times)
  if gold_embed_this
    result = result.dup
    result << " #{gold(gold_embed_this)}#{rev}"
  end
  e result
end

#use_colours?Boolean

#

use_colours?

#

Returns:

  • (Boolean)


28
29
30
# File 'lib/multimedia_paradise/base/colours.rb', line 28

def use_colours?
  @internal_hash[:use_colours]
end

#use_opn?Boolean

#

use_opn?

#

Returns:

  • (Boolean)


100
101
102
# File 'lib/multimedia_paradise/base/base.rb', line 100

def use_opn?
  @internal_hash[:use_opn]
end

#use_which_video_player?Boolean Also known as: video_player_in_use?, use_which_multimedia_player?, use_which_audio_player?, use_which_player?

#

use_which_video_player?

#

Returns:

  • (Boolean)


378
379
380
# File 'lib/multimedia_paradise/base/base.rb', line 378

def use_which_video_player?
  MultimediaParadise.use_which_video_player?
end

#verbose_truth(i) ⇒ Object

#

verbose_truth

#


134
135
136
137
138
139
140
141
# File 'lib/multimedia_paradise/base/base.rb', line 134

def verbose_truth(i)
  case i.to_s
  when 't','true'
    true
  when 'f','false',''
    false
  end
end

#video_collection?Boolean

#

video_collection?

#

Returns:

  • (Boolean)


843
844
845
# File 'lib/multimedia_paradise/base/base.rb', line 843

def video_collection?
  MultimediaParadise.file_video_collection
end

#violet(i) ⇒ Object

#

violet

#


131
132
133
134
# File 'lib/multimedia_paradise/base/colours.rb', line 131

def violet(i)
  return USE_THIS_NAMESPACE_FOR_THE_COLOURS.violet(i) if use_colours?
  return i
end

#yaml_directory?Boolean

#

yaml_directory?

#

Returns:

  • (Boolean)


566
567
568
# File 'lib/multimedia_paradise/base/base.rb', line 566

def yaml_directory?
  "#{project_base_directory?}yaml/"
end

#yel(i) ⇒ Object

#

yel

#


225
226
227
# File 'lib/multimedia_paradise/base/colours.rb', line 225

def yel(i)
  USE_THIS_NAMESPACE_FOR_THE_COLOURS.yellow(i) if use_colours?
end