sensible-cinema 0.24.7 → 0.24.8

Sign up to get free protection for your applications and to get access to all the features.
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