sensible-cinema 0.24.7 → 0.24.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.24.7
1
+ 0.24.8
@@ -131,32 +131,40 @@ module SensibleSwing
131
131
  LocalStorage = Storage.new("sensible_cinema_storage")
132
132
  LocalStorage.set_default('screen_multiples', 1.5) # high compatibility :)
133
133
 
134
+ def close_when_done thread, jitem
135
+ if jitem
136
+ Thread.new { thread.join; jitem.dispose }
137
+ end
138
+ end
139
+
134
140
  def setup_upconvert_buttons
135
141
 
136
142
  @watch_file_upconvert = new_jbutton( "Watch a movie file upconverted (unedited)") do
137
- warn_if_no_upconvert_options_currently_selected
143
+ popup = warn_if_no_upconvert_options_currently_selected
138
144
  filename_mpg = new_existing_file_selector_and_select_file( "pick movie file (like moviename.mpg)")
139
- play_mplayer_edl [filename_mpg, nil]
140
- end.tool_tip= "This plays back a movie file, like moviefile.mpg, or moviename.vob using your current upconverter settings.\nTo playback a file edited upconverted, set upconvert options here first, then run them using sensible cinema main--it will automatically use your new upconverting options." # LODO
145
+ thread = play_mplayer_edl_non_blocking [filename_mpg, nil]
146
+ close_when_done(thread, popup)
147
+ end
148
+ @watch_file_upconvert.tool_tip= "This plays back a movie file, like moviefile.mpg, or moviename.vob using your current upconverter settings.\nTo playback a file edited upconverted, set upconvert options here first, then run them using sensible cinema main--it will automatically use your new upconverting options.\n" # LODO
141
149
 
142
150
  @watch_dvd_upconvert = new_jbutton( "Watch a DVD upconverted (unedited)") do
143
- warn_if_no_upconvert_options_currently_selected
144
- play_dvd_smplayer_unedited false, false
151
+ popup = warn_if_no_upconvert_options_currently_selected
152
+ thread = play_dvd_smplayer_unedited false, false
153
+ close_when_done(thread, popup)
145
154
  end
146
155
  @watch_dvd_upconvert.tool_tip = "Plays back the currently inserted DVD, using your current upconverter settings.\nIf it fails (dies immediately, blank screen, etc.), try setting upconvert options to a smaller screen resolution multiple.\nOr try playing the DVD with VLC first, then it might work.\nTo playback a DVD edited upconverted, set upconvert options here first, then run them using sensible cinema main--it will automatically use your new upconverting options."
147
156
 
157
+ add_text_line ''
148
158
  @upconv_line = add_text_line ''
149
159
  change_upconvert_line_to_current
150
160
 
151
- add_text_line ''
152
161
  add_change_upconvert_options_button
153
- add_text_line "Note that sensible cinema will also upconvert when it plays back edited DVD's/files."
154
162
  add_text_line ''
155
163
 
156
164
  end
157
165
 
158
166
  def add_change_upconvert_options_button
159
- @show_upconvert_options = new_jbutton("Set Upconvert Options") do
167
+ @show_upconvert_options = new_jbutton("Change Upconvert Options") do
160
168
  add_setup_upconvert_buttons
161
169
  end
162
170
  @show_upconvert_options.tool_tip= "Allows you to set your upconvert options.\nUpconverting attempts to playback your movie with higher quality on high resolution monitors."
@@ -192,15 +200,15 @@ module SensibleSwing
192
200
 
193
201
 
194
202
  def add_setup_upconvert_buttons
195
- none = new_jbutton("reset upconvert options to default (none)")
196
- none.tool_tip = "Having no upconvert options is reasonably good, might use directx for scaling, nice for slow cpu's"
197
- none.on_clicked {
203
+ @none = new_jbutton("reset upconvert options to default (none)")
204
+ @none.tool_tip = "Having no upconvert options is reasonably good, might use directx for scaling, nice for slow cpu's"
205
+ @none.on_clicked {
198
206
  LocalStorage[UpConvertKey] = nil
199
207
  LocalStorage[UpConvertKeyExtra] = nil
200
208
  LocalStorage[UpConvertEnglish] = nil
201
209
  display_current_upconvert_setting
202
210
  }
203
- medium_dvd = new_jbutton("Change upconvert options to DVD-style video") {
211
+ @medium_dvd = new_jbutton("Change upconvert options to DVD-style video") {
204
212
  LocalStorage[UpConvertKey] = "hqdn3d=0:1:4:4,scale=SCREEN_X:-10:0:0:2"
205
213
  # hqdn3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]
206
214
  LocalStorage[UpConvertKeyExtra] = "-sws 9 -ssf ls=75.0 -ssf cs=7.0"
@@ -268,7 +276,7 @@ module SensibleSwing
268
276
  if new_value != old_value
269
277
  display_current_upconvert_setting
270
278
  if slider.value == label_minimum
271
- show_blocking_message_dialog "Setting it too low like that might make it not really do much upconverting!"
279
+ show_blocking_message_dialog "Setting it too low like that might make it not do much upconverting (DVD's, are 720px)"
272
280
  end
273
281
  end
274
282
  end
@@ -280,16 +288,15 @@ module SensibleSwing
280
288
 
281
289
  def display_current_upconvert_setting
282
290
  change_upconvert_line_to_current
283
- @display_current_upconvert_setting_dialog
284
- @display_current_upconvert_setting_dialog = show_non_blocking_message_dialog get_current_upconvert_as_phrase
285
- p get_current_upconvert_as_phrase
291
+ show_non_blocking_message_dialog get_current_upconvert_as_phrase
286
292
  end
287
293
 
288
294
  def get_current_upconvert_as_phrase
289
295
  settings = LocalStorage[UpConvertEnglish]
290
296
  out = "Upconvert options currently #{ settings ? "are set to #{settings} style" : "are NOT SET"}"
291
297
  if settings
292
- out += " (screen multiplier #{LocalStorage['screen_multiples']})."
298
+ multiple = LocalStorage['screen_multiples']
299
+ out += " (screen multiplier #{multiple} = #{(multiple * get_current_max_width_resolution).to_i}px)."
293
300
  end
294
301
  out
295
302
  end
@@ -304,10 +311,11 @@ module SensibleSwing
304
311
  # choose width of widest monitor (why would they display it on the other?)
305
312
  screen_multiple = LocalStorage['screen_multiples']
306
313
  upc = template.gsub('SCREEN_X', (get_current_max_width_resolution*screen_multiple).to_i.to_s) # has to be an integer...
314
+ upc = 'pullup,softskip,' + upc
307
315
  p 'using upconvert settings ' + upc
308
- 'pullup,softskip,' + upc
316
+ upc
309
317
  else
310
- p 'not using any upconversion'
318
+ p 'not using any specific upconversion'
311
319
  # TODO not for straight mplayer [?] tangled fails mac
312
320
  if OS.mac?
313
321
  '' # avoid odd message try appending the scale filter <sigh> I don't *want* the scale filter with no upconversion gah.
@@ -512,7 +520,7 @@ module SensibleSwing
512
520
  @mplayer_edl = new_jbutton( "Watch DVD edited (realtime)")
513
521
  @mplayer_edl.tool_tip = "This will watch your DVD in realtime from your computer while skipping/muting questionable scenes."
514
522
  @mplayer_edl.on_clicked {
515
- play_mplayer_edl
523
+ play_mplayer_edl_non_blocking
516
524
  }
517
525
 
518
526
  @create = new_jbutton( "Create edited copy of DVD/file on Your Hard Drive" )
@@ -539,6 +547,11 @@ module SensibleSwing
539
547
  end
540
548
 
541
549
  add_change_upconvert_options_button
550
+
551
+ @progress_bar = JProgressBar.new(0, 100)
552
+ @progress_bar.set_bounds(44,@starting_button_y,@button_width,23)
553
+ @progress_bar.visible = false
554
+ @panel.add @progress_bar
542
555
 
543
556
  end
544
557
 
@@ -566,7 +579,7 @@ module SensibleSwing
566
579
  raise unless File.exist?(output_file)
567
580
  show_blocking_message_dialog("created #{output_file}")
568
581
  else
569
- play_mplayer_edl [filename_mpg, edl_filename]
582
+ play_mplayer_edl_non_blocking [filename_mpg, edl_filename]
570
583
  end
571
584
  end
572
585
 
@@ -579,11 +592,10 @@ module SensibleSwing
579
592
  force_accept_license_first
580
593
 
581
594
  setDefaultCloseOperation JFrame::EXIT_ON_CLOSE
582
- panel = JPanel.new
583
- @panel = panel
595
+ @panel = JPanel.new
584
596
  @buttons = []
585
- panel.set_layout nil
586
- add panel # why can't I just slap these down? panel? huh?
597
+ @panel.set_layout nil
598
+ add @panel # why can't I just slap these down? panel? huh?
587
599
  @starting_button_y = 40
588
600
  @button_width = 400
589
601
 
@@ -593,6 +605,13 @@ module SensibleSwing
593
605
  add_text_line ""
594
606
  add_text_line ""
595
607
 
608
+ setIconImage(ImageIcon.new(__DIR__ + "/../vendor/profs.png").getImage())
609
+ check_for_various_dependencies
610
+ end
611
+
612
+
613
+ def setup_default_buttons
614
+
596
615
  if we_are_in_upconvert_mode
597
616
  setup_upconvert_buttons
598
617
  else
@@ -609,16 +628,10 @@ module SensibleSwing
609
628
  system_non_blocking("start mailto:sensible-cinema@googlegroups.com")
610
629
  system_non_blocking("start http://groups.google.com/group/sensible-cinema")
611
630
  }
612
-
613
- @progress_bar = JProgressBar.new(0, 100)
614
- @progress_bar.set_bounds(44,@starting_button_y,@button_width,23)
615
- @progress_bar.visible = false
616
- panel.add @progress_bar
617
-
618
631
  increment_button_location
619
632
 
620
633
  end
621
-
634
+
622
635
  @exit = new_jbutton("Exit", "Exits the application and kills any background processes that are running at all--don't exit unless you are done processing all the way!")
623
636
  @exit.on_clicked {
624
637
  Thread.new { self.close } # don't waste the time to close it :P
@@ -628,9 +641,8 @@ module SensibleSwing
628
641
 
629
642
  increment_button_location
630
643
  increment_button_location
644
+ self
631
645
 
632
- setIconImage(ImageIcon.new(__DIR__ + "/../vendor/profs.png").getImage())
633
- check_for_various_dependencies
634
646
  end
635
647
 
636
648
  def run_smplayer_non_blocking *args
@@ -699,6 +711,7 @@ module SensibleSwing
699
711
  conf_file = conf_file[2..-1] # strip off drive letter, which it doesn't seem to like no sir
700
712
  end
701
713
  extra_options += " -fs " # full screen
714
+
702
715
  upconv = get_upconvert_vf_settings
703
716
  upconv = "-vf #{upconv}" if upconv.present?
704
717
  c = "mplayer #{extra_options} #{upconv} -input conf=\"#{conf_file}\" \"#{play_this}\" "
@@ -706,8 +719,8 @@ module SensibleSwing
706
719
  if OS.windows?
707
720
  extra_options += " -vo direct3d " # more light nvidia...should be ok...
708
721
  end
709
- config_path = set_smplayer_opts extra_options, show_subs
710
- c = "smplayer_portable \"#{play_this}\" -fullscreen -config-path \"#{File.dirname config_path}\" "
722
+ set_smplayer_opts extra_options, get_upconvert_vf_settings, show_subs
723
+ c = "smplayer_portable \"#{play_this}\" -fullscreen -config-path \"#{File.dirname SMPlayerIniFile}\" "
711
724
  if !we_are_in_create_mode
712
725
  #c += " -close-at-end "
713
726
  end
@@ -716,25 +729,27 @@ module SensibleSwing
716
729
  system_blocking c
717
730
  end
718
731
 
719
- def set_smplayer_opts to_this, show_subs = false
732
+ SMPlayerIniFile = File.expand_path("~/.smplayer/smplayer.ini")
733
+
734
+ def set_smplayer_opts to_this, video_, show_subs = false
720
735
  p 'set smplayer extra opts to this:' + to_this
721
- smplayer_prefs_file = File.expand_path("~/.smplayer/smplayer.ini")
722
- old_prefs = File.read(smplayer_prefs_file) rescue ''
723
- unless old_prefs.contain? 'mplayer_additional_options='
736
+ old_prefs = File.read(SMPlayerIniFile) rescue ''
737
+ unless old_prefs.length > 0
738
+ # LODO double check the rest here...
724
739
  old_prefs = "[advanced]\nmplayer_additional_options=\nmplayer_additional_video_filters=\n[subtitles]\nautoload_sub=false\n[performance]\npriority=3"
725
740
  end
726
741
  raise to_this if to_this =~ /"/ # unexpected, unfortunately... <smplayer bug>
727
- new_prefs = old_prefs.gsub(/mplayer_additional_options=.*/, "mplayer_additional_options=#{to_this}")
728
- new_prefs.gsub!(/autoload_sub=.*$/, "autoload_sub=#{show_subs.to_s}")
729
- new_prefs.gsub!(/mplayer_additional_video_filters=.*$/, "mplayer_additional_video_filters=\"#{get_upconvert_vf_settings}\"")
742
+ assert new_prefs = old_prefs.gsub(/mplayer_additional_options=.*/, "mplayer_additional_options=#{to_this}")
743
+ assert new_prefs.gsub!(/autoload_sub=.*$/, "autoload_sub=#{show_subs.to_s}")
744
+ raise if get_upconvert_vf_settings =~ /"/
745
+ assert new_prefs.gsub!(/mplayer_additional_video_filters=.*$/, "mplayer_additional_video_filters=\"#{get_upconvert_vf_settings}\"")
730
746
  new_prefs.gsub!(/priority=.*$/, "priority=3") # normal priority...scary otherwise! lodo tell smplayer...
731
-
732
747
  # enable dvdnav navigation, just for kicks I guess.
733
748
  new_prefs.gsub!(/use_dvdnav=.*$/, "use_dvdnav=true")
734
749
 
735
- FileUtils.mkdir_p File.dirname(smplayer_prefs_file) # case it doesn't exist'
736
- File.write(smplayer_prefs_file, new_prefs)
737
- smplayer_prefs_file
750
+ FileUtils.mkdir_p File.dirname(SMPlayerIniFile) # case it doesn't yet exist
751
+ File.write(SMPlayerIniFile, new_prefs)
752
+ new_prefs.each_line{|l| print l if l =~ /additional_video/}
738
753
  end
739
754
 
740
755
  def create_brand_new_edl
@@ -852,7 +867,7 @@ module SensibleSwing
852
867
  MplayerBeginingBuffer = 1.0
853
868
  MplayerEndBuffer = 0.0
854
869
 
855
- def play_mplayer_edl optional_file_with_edl_path = nil
870
+ def play_mplayer_edl_non_blocking optional_file_with_edl_path = nil
856
871
  extra_mplayer_commands = []
857
872
  if optional_file_with_edl_path
858
873
  drive_or_file, edl_path = optional_file_with_edl_path
@@ -861,8 +876,12 @@ module SensibleSwing
861
876
  drive_or_file, dvd_volume_name, dvd_id, edl_path, descriptors = choose_dvd_or_file_and_edl_for_it
862
877
  end
863
878
  start_add_this_to_all_ts = 0
864
- descriptors = EdlParser.parse_file edl_path
865
- title_track = get_title_track(descriptors)
879
+ if edl_path # some don't care...
880
+ descriptors = EdlParser.parse_file edl_path
881
+ title_track = get_title_track(descriptors)
882
+ splits = descriptors['mplayer_dvd_splits']
883
+ end
884
+
866
885
  if dvd_id == NonDvd
867
886
  # check if starts offset...
868
887
  all = `ffmpeg -i "#{drive_or_file}" 2>&1`
@@ -874,24 +893,20 @@ module SensibleSwing
874
893
  maybe not compatible with XBMC, if that's what you use, and you probably don't" # TODO test it XBMC...
875
894
  start_add_this_to_all_ts = start
876
895
  end
896
+ splits = []
877
897
  else
878
- using_dvd = true
879
- end
880
- if using_dvd
881
- splits = descriptors['mplayer_dvd_splits']
882
898
  if splits == nil
883
899
  show_blocking_message_dialog("warning: edit list does not contain mplayer replay information [mplayer_dvd_splits] so edits past a certain time period might not won't work ( http://goo.gl/yMfqX ).")
884
900
  splits = []
885
901
  end
886
- splits.map!{|s| EdlParser.translate_string_to_seconds(s) }
887
- else
888
- splits = []
889
902
  end
890
- edl_contents = MplayerEdl.convert_to_edl descriptors, add_secs_end = MplayerEndBuffer, MplayerBeginingBuffer, splits, start_add_this_to_all_ts # add a sec to mutes to accomodate for mplayer's oddness..
891
- File.write(EdlTempFile, edl_contents)
892
903
 
893
- # prefer english, attempt to disable subtitles, pass in edl...
894
- extra_mplayer_commands << "-edl #{File.expand_path EdlTempFile}"
904
+ if edl_path
905
+ splits.map!{|s| EdlParser.translate_string_to_seconds(s) }
906
+ edl_contents = MplayerEdl.convert_to_edl descriptors, add_secs_end = MplayerEndBuffer, add_secs_begin = MplayerBeginingBuffer, splits, start_add_this_to_all_ts # add a sec to mutes to accomodate for mplayer's oddness..
907
+ File.write(EdlTempFile, edl_contents)
908
+ extra_mplayer_commands << "-edl #{File.expand_path EdlTempFile}"
909
+ end
895
910
 
896
911
  run_smplayer_non_blocking drive_or_file, title_track, extra_mplayer_commands.join(' '), false
897
912
  end
@@ -1309,10 +1324,8 @@ module SensibleSwing
1309
1324
  popup = show_non_blocking_message_dialog(popup_message, "OK")
1310
1325
 
1311
1326
  # allow our popups to still be serviced while it is running
1312
- @background_thread = Thread.new {
1313
- run_batch_file_commands_and_use_output_somehow commands, save_to, file_from, run_mplayer
1314
- popup.dispose
1315
- }
1327
+ @background_thread = Thread.new { run_batch_file_commands_and_use_output_somehow commands, save_to, file_from, run_mplayer }
1328
+ close_when_done(@background_thread, popup)
1316
1329
  # LODO warn if they will overwrite a file in the end...
1317
1330
  end
1318
1331
 
@@ -1496,6 +1509,7 @@ if $0 == __FILE__
1496
1509
  EOL
1497
1510
  else
1498
1511
  a = SensibleSwing::MainWindow.new
1512
+ a.setup_default_buttons
1499
1513
  a.set_visible true
1500
1514
  puts 'Please use the Sensible Cinema GUI window popup...'
1501
1515
  if ARGV.index('--exit-immediately')
@@ -1,3 +1,7 @@
1
+ == 0.24.8 ==
2
+
3
+ Fix some bugs in upconverting playback, cleanup UI.
4
+
1
5
  == 0.24.7 ==
2
6
 
3
7
  Tweak upconvert for when it has nothing set, and to not show subtitles.
@@ -115,7 +115,7 @@ module SensibleSwing
115
115
 
116
116
  before do
117
117
  ARGV << "--create-mode" # want all the buttons for some tests.
118
- @subject = MainWindow.new
118
+ @subject = MainWindow.new.setup_default_buttons
119
119
  ARGV.pop
120
120
  FileUtils.touch "selected_file.fulli_unedited.tmp.mpg.done" # a few of them need this...
121
121
  FileUtils.touch 'selected_file.avi'
@@ -252,24 +252,24 @@ module SensibleSwing
252
252
  join_background_thread
253
253
  @get_mencoder_commands_args[-2].should == "2"
254
254
  @get_mencoder_commands_args[-3].should == "01:00"
255
- if OS.doze?
256
- @system_blocking_command.should =~ /smplayer/
257
- else
258
- @system_blocking_command.should =~ /mplayer/
259
- end
260
255
  @system_blocking_command.should_not match /fulli/
261
256
  end
257
+
258
+ def assert_played_mplayer
259
+ Thread.join_all_others
260
+ if OS.doze?
261
+ @system_blocking_command.should =~ /smplayer/
262
+ else
263
+ @system_blocking_command.should =~ /mplayer/
264
+ end
265
+ end
262
266
 
263
267
  def run_preview_section_button_successfully
264
268
  click_button(:@preview_section)
265
269
  join_background_thread
266
270
  @get_mencoder_commands_args[-2].should == "2"
267
271
  @get_mencoder_commands_args[-3].should == "01:00"
268
- if OS.doze?
269
- @system_blocking_command.should match /smplayer/
270
- else
271
- @system_blocking_command.should match /mplayer/
272
- end
272
+ assert_played_mplayer
273
273
  end
274
274
 
275
275
  it "should prompt for start and end times" do
@@ -295,12 +295,7 @@ module SensibleSwing
295
295
 
296
296
  it "should do something for fast preview" do
297
297
  click_button(:@fast_preview)
298
- if OS.doze?
299
- @system_blocking_command.should =~ /smplayer/
300
- else
301
- @system_blocking_command.should =~ /mplayer/
302
- end
303
-
298
+ assert_played_mplayer
304
299
  end
305
300
 
306
301
  it "should be able to rerun the latest start and end times with the rerun button" do
@@ -311,7 +306,7 @@ module SensibleSwing
311
306
  click_button(:@rerun_preview).join
312
307
  @get_mencoder_commands_args.should == old_args
313
308
  join_background_thread
314
- @system_blocking_command.should match(/smplayer/)
309
+ assert_played_mplayer
315
310
  end
316
311
 
317
312
  it "should not die if you pass it the same start and end time frames--graceful acceptance" do
@@ -517,17 +512,17 @@ module SensibleSwing
517
512
  end
518
513
 
519
514
  it "should show additional buttons in create mode" do
520
- MainWindow.new.buttons.length.should be > 3
521
- MainWindow.new.buttons.length.should be < 10
522
- old_length = MainWindow.new.buttons.length
515
+ MainWindow.new.setup_default_buttons.buttons.length.should be > 3
516
+ MainWindow.new.setup_default_buttons.buttons.length.should be < 10
517
+ old_length = MainWindow.new.setup_default_buttons.buttons.length
523
518
  ARGV << "--create-mode"
524
- MainWindow.new.buttons.length.should be > (old_length + 5)
519
+ MainWindow.new.setup_default_buttons.buttons.length.should be > (old_length + 5)
525
520
  ARGV.pop # post-test cleanup--why not :)
526
521
  end
527
522
 
528
523
  it "should show upconvert buttons" do
529
524
  ARGV << "--upconvert-mode"
530
- MainWindow.new.buttons.length.should be > 3
525
+ MainWindow.new.setup_default_buttons.buttons.length.should be > 3
531
526
  ARGV.pop
532
527
  end
533
528
 
@@ -536,7 +531,7 @@ module SensibleSwing
536
531
  MplayerEdl.stub(:convert_to_edl) do |d,s,s2,splits|
537
532
  splits1 = splits
538
533
  end
539
- @subject.play_mplayer_edl
534
+ @subject.play_mplayer_edl_non_blocking
540
535
  splits1.should == []
541
536
  end
542
537
 
@@ -546,7 +541,7 @@ module SensibleSwing
546
541
  @subject.stub!(:choose_dvd_drive_or_file) {
547
542
  ["mock_dvd_drive", "mockVolume", "abcdef1234"]
548
543
  }
549
- @subject.play_mplayer_edl
544
+ @subject.play_mplayer_edl_non_blocking
550
545
  @show_blocking_message_dialog_last_arg.should =~ /does not contain mplayer replay information \[mplayer_dvd_splits\]/
551
546
  end
552
547
  end
@@ -580,7 +575,44 @@ module SensibleSwing
580
575
  assert prompted
581
576
  end
582
577
 
578
+ it "should be able to upconvert at all" do
579
+ ARGV << "--upconvert-mode"
580
+ @subject = MainWindow.new.setup_default_buttons
581
+ ARGV.pop
582
+ click_button(:@show_upconvert_options) # reveal buttons...
583
+ @subject.stub(:display_current_upconvert_setting) {} # no popup ;)
584
+ @subject.stub(:show_mplayer_instructions_once) {}
585
+ click_button(:@medium_dvd)
586
+ storage = MainWindow::LocalStorage
587
+ key = MainWindow::UpConvertKey
588
+ storage[key].should =~ /hqdn3d/
589
+ click_button(:@none)
590
+ storage[key].should be_nil
591
+ click_button(:@medium_dvd)
592
+
593
+ # now it should use them on mplayer
594
+ got = nil
595
+ @subject.stub(:system_blocking) { |c|
596
+ got = c
597
+ }
598
+ @subject.run_smplayer_blocking 'selected_file.avi', nil, "", true
599
+ assert got =~ /hqdn3d/
600
+
601
+ # and on smplayer
602
+ MainWindow::SMPlayerIniFile.gsub!(/^.*$/, File.expand_path('./smplayer_ini_file')) # don't overwrite the real one...
603
+ @subject.run_smplayer_blocking 'selected_file.avi', nil, "", false
604
+ assert got =~ /mplayer/
605
+ assert File.read(MainWindow::SMPlayerIniFile) =~ /hqdn3d/
606
+ end
607
+
608
+ it "should be able to play upconverted stuff" do
609
+ @subject.setup_upconvert_buttons
610
+ click_button(:@watch_file_upconvert)
611
+ assert_played_mplayer
612
+ click_button(:@watch_dvd_upconvert)
613
+ assert_played_mplayer
614
+ end
583
615
 
584
- end # describe MainWindow
616
+ end # describe MainWindow
585
617
 
586
618
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: sensible-cinema
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.24.7
5
+ version: 0.24.8
6
6
  platform: ruby
7
7
  authors:
8
8
  - Roger Pack