From 57126b2f66a1ec3307c763d1ca9b468085aebd95 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20Paul=20Ku=CC=88hne?= Date: Fri, 19 Aug 2011 19:04:18 +0200 Subject: [PATCH] macosx: implement a 'Record' menu item --- .../Resources/English.lproj/MainMenu.xib | 64 ++- .../Resources/English.lproj/Preferences.xib | 363 ++++++++++++++++-- modules/gui/macosx/CoreInteraction.h | 1 + modules/gui/macosx/CoreInteraction.m | 11 + modules/gui/macosx/MainMenu.h | 3 + modules/gui/macosx/MainMenu.m | 17 + modules/gui/macosx/intf.h | 2 + modules/gui/macosx/intf.m | 16 +- modules/gui/macosx/simple_prefs.h | 3 + modules/gui/macosx/simple_prefs.m | 26 ++ 10 files changed, 471 insertions(+), 35 deletions(-) diff --git a/extras/package/macosx/Resources/English.lproj/MainMenu.xib b/extras/package/macosx/Resources/English.lproj/MainMenu.xib index 216683964b..776f6a5380 100644 --- a/extras/package/macosx/Resources/English.lproj/MainMenu.xib +++ b/extras/package/macosx/Resources/English.lproj/MainMenu.xib @@ -11,14 +11,14 @@ 1 - - - - + + + + com.apple.InterfaceBuilder.CocoaPlugin @@ -1608,6 +1608,17 @@ + + + YES + YES + Record + r + 1572864 + 2147483647 + + + Rate (view) @@ -6955,6 +6966,22 @@ LCAuLi4 4752 + + + toggleRecord: + + + + 4754 + + + + o_mi_record + + + + 4755 + @@ -7507,6 +7534,7 @@ LCAuLi4 + @@ -9504,6 +9532,11 @@ LCAuLi4 + + 4753 + + + @@ -9539,7 +9572,7 @@ LCAuLi4 com.apple.InterfaceBuilder.CocoaPlugin - {{725, 390}, {64, 6}} + {{650, 356}, {64, 6}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -9690,7 +9723,7 @@ LCAuLi4 com.apple.InterfaceBuilder.CocoaPlugin - {{473, 633}, {137, 103}} + {{430, 565}, {137, 103}} com.apple.InterfaceBuilder.CocoaPlugin {{329, 301}, {604, 310}} @@ -9747,7 +9780,7 @@ LCAuLi4 com.apple.InterfaceBuilder.CocoaPlugin - {{517, 393}, {222, 343}} + {{428, 299}, {222, 363}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -9913,7 +9946,7 @@ LCAuLi4 com.apple.InterfaceBuilder.CocoaPlugin - {{330, 668}, {468, 20}} + {{284, 662}, {468, 20}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -10270,6 +10303,7 @@ LCAuLi4 VLBrushedMetalImageView com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -10292,7 +10326,7 @@ LCAuLi4 com.apple.InterfaceBuilder.CocoaPlugin - {{431, 493}, {297, 243}} + {{388, 425}, {297, 243}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -10323,7 +10357,7 @@ LCAuLi4 - 4752 + 4755 @@ -12560,6 +12594,7 @@ LCAuLi4 id id id + id id id id @@ -12659,6 +12694,10 @@ LCAuLi4 toggleFullscreen: id + + toggleRecord: + id + toggleVar: id @@ -12760,6 +12799,7 @@ LCAuLi4 id NSView NSMenuItem + NSMenuItem NSMenuItem NSMenuItem NSMenuItem @@ -13136,6 +13176,10 @@ LCAuLi4 o_mi_readme NSMenuItem + + o_mi_record + NSMenuItem + o_mi_repeat NSMenuItem diff --git a/extras/package/macosx/Resources/English.lproj/Preferences.xib b/extras/package/macosx/Resources/English.lproj/Preferences.xib index 77376060f9..5e99a0350e 100644 --- a/extras/package/macosx/Resources/English.lproj/Preferences.xib +++ b/extras/package/macosx/Resources/English.lproj/Preferences.xib @@ -12,12 +12,8 @@ YES + - - - - - YES @@ -50,7 +46,7 @@ {1.79769e+308, 1.79769e+308} - + 256 YES @@ -518,7 +514,6 @@ eHQAAAAAQ29weXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDA4AA {640, 500} - {{0, 0}, {1280, 778}} {1.79769e+308, 1.79769e+308} @@ -895,7 +890,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA sprefs - + 256 YES @@ -1394,7 +1389,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {570, 352} - NSView @@ -1410,6 +1404,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{18, 366}, {246, 18}} + YES 67239424 @@ -1442,6 +1437,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{9, 107}, {181, 17}} + YES 67239424 @@ -1458,6 +1454,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{250, 102}, {198, 21}} + YES 67239424 @@ -1486,6 +1483,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{465, 104}, {46, 22}} + YES -1804468671 @@ -1591,6 +1589,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{10, 77}, {446, 18}} + YES 67239424 @@ -1613,6 +1612,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{9, 49}, {238, 17}} + YES 67239424 @@ -1629,6 +1629,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{249, 43}, {185, 26}} + YES -2076049856 @@ -1699,6 +1700,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{9, 14}, {238, 17}} + YES 67239424 @@ -1715,9 +1717,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{252, 12}, {259, 22}} + YES - -1804468671 + -1803944383 272630784 @@ -1730,10 +1733,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{2, 2}, {531, 138}} + {{17, 205}, {535, 155}} + {0, 0} 67239424 @@ -1767,6 +1772,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{9, 14}, {238, 17}} + YES 67239424 @@ -1783,6 +1789,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{249, 9}, {185, 26}} + YES -2076049856 @@ -1851,10 +1858,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{2, 2}, {531, 43}} + {{17, 141}, {535, 60}} + {0, 0} 67239424 @@ -1888,6 +1897,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{14, 78}, {446, 18}} + YES 67239424 @@ -1910,9 +1920,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{204, 50}, {307, 22}} + YES - -1267597759 + -1267073471 272630784 @@ -1927,6 +1938,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{13, 20}, {186, 17}} + YES 67239424 @@ -1943,9 +1955,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{204, 18}, {307, 22}} + YES - -1267597759 + -1267073471 272630784 @@ -1960,6 +1973,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{13, 52}, {186, 17}} + YES 67239424 @@ -1974,10 +1988,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{2, 2}, {531, 105}} + {{17, 15}, {535, 122}} + {0, 0} 67239424 @@ -1999,6 +2015,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {569, 402} + NSView NSResponder @@ -2006,7 +2023,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA VLCSimplePrefs - + 256 YES @@ -2015,6 +2032,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{18, 311}, {352, 18}} + YES 67239424 @@ -2047,6 +2065,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{14, 82}, {248, 18}} + YES 67239424 @@ -2069,6 +2088,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{14, 107}, {248, 18}} + YES 67239424 @@ -2091,6 +2111,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{270, 107}, {248, 18}} + YES 67239424 @@ -2113,6 +2134,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{270, 82}, {248, 18}} + YES 67239424 @@ -2135,6 +2157,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{182, 35}, {258, 26}} + YES -2076049856 @@ -2205,6 +2228,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{13, 42}, {167, 17}} + YES 67239424 @@ -2221,6 +2245,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{182, 7}, {258, 26}} + YES -2076049856 @@ -2291,6 +2316,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{13, 14}, {167, 17}} + YES 67239424 @@ -2305,10 +2331,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{2, 2}, {532, 134}} + {{17, 144}, {536, 151}} + {0, 0} 67239424 @@ -2342,9 +2370,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{80, 67}, {305, 22}} + YES - -1804468671 + -1803944383 272630784 @@ -2359,6 +2388,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{13, 70}, {62, 17}} + YES 67239424 @@ -2375,6 +2405,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{387, 61}, {135, 32}} + YES 67239424 @@ -2398,9 +2429,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{80, 40}, {209, 22}} + YES - -1804468671 + -1803944383 272630784 vlcsnap- @@ -2415,6 +2447,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{13, 43}, {62, 17}} + YES 67239424 @@ -2431,6 +2464,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{295, 43}, {223, 18}} + YES 67239424 @@ -2453,6 +2487,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{13, 14}, {62, 17}} + YES 67239424 @@ -2469,6 +2504,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{77, 8}, {215, 26}} + YES -2076049856 @@ -2526,10 +2562,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{2, 2}, {532, 99}} + {{17, 16}, {536, 116}} + {0, 0} 67239424 @@ -2550,6 +2588,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {570, 347} + + NSView NSResponder @@ -2648,7 +2688,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA YES - -1804468671 + -1803944383 272630784 @@ -2800,7 +2840,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA YES - -2072904127 + -2072379839 272630784 @@ -3154,6 +3194,85 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 YES + + + 36 + + YES + + + 256 + + YES + + + 256 + {{18, 14}, {369, 22}} + + + YES + + -1803944383 + 272630784 + + + + YES + + + + + + + 256 + {{389, 8}, {135, 32}} + + + YES + + 67239424 + 134217728 + Browse... + + + -2038284033 + 1 + + + + + + 200 + 25 + + + + {{1, 1}, {536, 46}} + + + + + {{16, 345}, {538, 62}} + + + {0, 0} + + 67239424 + 0 + Record directory or filename + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + + 1 + 0 + 2 + NO + 256 @@ -3169,6 +3288,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{13, 43}, {204, 17}} + YES 67239424 @@ -3185,9 +3305,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{222, 41}, {290, 22}} + YES - -1804468671 + -1803944383 272630784 @@ -3202,6 +3323,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{14, 15}, {204, 17}} + YES 67239424 @@ -3218,9 +3340,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{222, 13}, {290, 22}} + YES - -1804468671 + -1803944383 272630784 @@ -3233,10 +3356,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{2, 2}, {532, 73}} + {{17, 251}, {536, 90}} + {0, 0} 67239424 @@ -3270,9 +3395,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{320, 97}, {58, 22}} + YES - -1804468671 + -1803944383 71304192 0 @@ -3366,6 +3492,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{383, 94}, {19, 27}} + YES 917024 @@ -3382,6 +3509,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{13, 100}, {246, 17}} + YES 67239424 @@ -3398,6 +3526,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{13, 68}, {246, 17}} + YES 67239424 @@ -3414,6 +3543,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{317, 62}, {202, 26}} + YES -2076049856 @@ -3484,6 +3614,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{14, 36}, {256, 18}} + YES 67239424 @@ -3505,6 +3636,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{13, 12}, {302, 17}} + YES 67239424 @@ -3521,6 +3653,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{317, 6}, {202, 26}} + YES -2076049856 @@ -3589,10 +3722,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{2, 2}, {532, 131}} + {{17, 16}, {536, 148}} + {0, 0} 67239424 @@ -3626,6 +3761,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{317, 27}, {202, 26}} + YES -2076049856 @@ -3696,6 +3832,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 256 {{14, 33}, {301, 17}} + YES 67239424 @@ -3712,6 +3849,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{14, 13}, {504, 12}} + YES 67239424 @@ -3730,10 +3868,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{2, 2}, {532, 62}} + {{17, 168}, {536, 79}} + {0, 0} 67239424 @@ -3753,8 +3893,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA NO - {570, 361} + {570, 427} + NSView NSResponder @@ -5693,6 +5834,62 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 3613 + + + o_input_record_btn + + + + 3624 + + + + o_input_record_fld + + + + 3625 + + + + o_input_record_box + + + + 3626 + + + + nextKeyView + + + + 3627 + + + + nextKeyView + + + + 3628 + + + + inputSettingChanged: + + + + 3629 + + + + inputSettingChanged: + + + + 3630 + @@ -6110,9 +6307,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA YES - + + Input & Codecs @@ -7977,6 +8175,44 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA + + 3623 + + + YES + + + + + + + 3614 + + + YES + + + + + + 3619 + + + + + 3616 + + + YES + + + + + + 3617 + + + @@ -8031,6 +8267,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 2277.ImportedFromIB2 2311.IBEditorWindowLastContentRect 2311.IBPluginDependency + 2311.IBViewBoundsToFrameTransform 2311.ImportedFromIB2 2312.IBPluginDependency 2312.IBViewBoundsToFrameTransform @@ -8099,6 +8336,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 2345.IBPluginDependency 2345.ImportedFromIB2 2346.IBPluginDependency + 2346.IBViewBoundsToFrameTransform 2346.ImportedFromIB2 2347.IBPluginDependency 2347.ImportedFromIB2 @@ -8166,10 +8404,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 2466.IBPluginDependency 2466.ImportedFromIB2 2468.IBPluginDependency + 2468.IBViewBoundsToFrameTransform 2468.ImportedFromIB2 2470.IBPluginDependency + 2470.IBViewBoundsToFrameTransform 2470.ImportedFromIB2 2473.IBPluginDependency + 2473.IBViewBoundsToFrameTransform 2473.ImportedFromIB2 2474.IBPluginDependency 2474.ImportedFromIB2 @@ -8213,6 +8454,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 2529.IBPluginDependency 2529.ImportedFromIB2 2530.IBPluginDependency + 2530.IBViewBoundsToFrameTransform 2530.ImportedFromIB2 2531.IBPluginDependency 2531.ImportedFromIB2 @@ -8262,12 +8504,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 2562.IBPluginDependency 2562.ImportedFromIB2 2563.IBPluginDependency + 2563.IBViewBoundsToFrameTransform 2563.ImportedFromIB2 2570.IBPluginDependency 2570.ImportedFromIB2 2571.IBPluginDependency 2571.ImportedFromIB2 2572.IBPluginDependency + 2572.IBViewBoundsToFrameTransform 2572.ImportedFromIB2 2574.IBPluginDependency 2574.ImportedFromIB2 @@ -8282,6 +8526,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 2584.IBPluginDependency 2584.ImportedFromIB2 2585.IBPluginDependency + 2585.IBViewBoundsToFrameTransform 2585.ImportedFromIB2 2587.IBPluginDependency 2587.ImportedFromIB2 @@ -8506,6 +8751,15 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 3605.IBViewBoundsToFrameTransform 3605.ImportedFromIB2 3606.IBPluginDependency + 3614.IBPluginDependency + 3614.IBViewBoundsToFrameTransform + 3614.ImportedFromIB2 + 3616.IBPluginDependency + 3616.IBViewBoundsToFrameTransform + 3616.ImportedFromIB2 + 3617.IBPluginDependency + 3619.IBPluginDependency + 3623.IBViewBoundsToFrameTransform YES @@ -8557,6 +8811,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{362, 96}, {570, 352}} com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin @@ -8639,6 +8894,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDfAAAwgAAAA + com.apple.InterfaceBuilder.CocoaPlugin @@ -8714,10 +8972,19 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCoAAAwq4AAA + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBUAAAwqoAAA + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDwYAAwrYAAA + com.apple.InterfaceBuilder.CocoaPlugin @@ -8765,6 +9032,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDfQAAwmwAAA + com.apple.InterfaceBuilder.CocoaPlugin @@ -8810,16 +9080,22 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin - {{343, 327}, {570, 361}} + {{351, 52}, {570, 427}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + AUGIAABDsQAAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + AUGIAABDh4AAA + com.apple.InterfaceBuilder.CocoaPlugin @@ -8834,6 +9110,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + AUGIAABC7gAAA + com.apple.InterfaceBuilder.CocoaPlugin @@ -9080,6 +9359,21 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAADCggAAw8uAAA + + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDcgAAw82AAA + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + AUGAAABDtwAAA + @@ -9098,7 +9392,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - 3613 + 3630 @@ -10362,6 +10656,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA o_input_net_box o_input_postproc_fld o_input_postproc_txt + o_input_record_box + o_input_record_btn + o_input_record_fld o_input_rtsp_ckb o_input_skipLoop_pop o_input_skipLoop_txt @@ -10547,6 +10844,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA id id id + id + id + id @@ -10599,6 +10899,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA o_input_net_box o_input_postproc_fld o_input_postproc_txt + o_input_record_box + o_input_record_btn + o_input_record_fld o_input_rtsp_ckb o_input_skipLoop_pop o_input_skipLoop_txt @@ -10854,6 +11157,18 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA o_input_postproc_txt id + + o_input_record_box + id + + + o_input_record_btn + id + + + o_input_record_fld + id + o_input_rtsp_ckb id diff --git a/modules/gui/macosx/CoreInteraction.h b/modules/gui/macosx/CoreInteraction.h index 8b59ea59f4..849d1de21d 100644 --- a/modules/gui/macosx/CoreInteraction.h +++ b/modules/gui/macosx/CoreInteraction.h @@ -36,6 +36,7 @@ - (void)faster; - (void)slower; - (void)normalSpeed; +- (void)toggleRecord; - (void)setPlaybackRate:(int)i_value; - (int)playbackRate; - (void)next; diff --git a/modules/gui/macosx/CoreInteraction.m b/modules/gui/macosx/CoreInteraction.m index cc2af1e165..1fdeb1aee7 100644 --- a/modules/gui/macosx/CoreInteraction.m +++ b/modules/gui/macosx/CoreInteraction.m @@ -109,6 +109,17 @@ static VLCCoreInteraction *_o_sharedInstance = nil; var_SetInteger( VLCIntf->p_libvlc, "key-action", ACTIONID_RATE_NORMAL ); } +- (void)toggleRecord +{ + input_thread_t * p_input; + p_input = pl_CurrentInput( VLCIntf ); + if( p_input ) + { + var_ToggleBool( p_input, "record" ); + vlc_object_release( p_input ); + } +} + - (void)setPlaybackRate:(int)i_value { playlist_t * p_playlist = pl_Get( VLCIntf ); diff --git a/modules/gui/macosx/MainMenu.h b/modules/gui/macosx/MainMenu.h index a0c70a400b..3f1f4f54e6 100644 --- a/modules/gui/macosx/MainMenu.h +++ b/modules/gui/macosx/MainMenu.h @@ -74,6 +74,7 @@ IBOutlet NSMenu * o_mu_controls; IBOutlet NSMenuItem * o_mi_play; IBOutlet NSMenuItem * o_mi_stop; + IBOutlet NSMenuItem * o_mi_record; IBOutlet NSMenuItem * o_mi_rate; IBOutlet NSView * o_mi_rate_view; IBOutlet id o_mi_rate_lbl; @@ -206,6 +207,8 @@ - (IBAction)intfOpenNet:(id)sender; - (IBAction)intfOpenCapture:(id)sender; +- (IBAction)toggleRecord:(id)sender; +- (void)updateRecordState:(BOOL)b_value; - (IBAction)setPlaybackRate:(id)sender; - (void)updatePlaybackRate; diff --git a/modules/gui/macosx/MainMenu.m b/modules/gui/macosx/MainMenu.m index df315a6d7c..a3bea0c940 100644 --- a/modules/gui/macosx/MainMenu.m +++ b/modules/gui/macosx/MainMenu.m @@ -255,6 +255,7 @@ static VLCMainMenu *_o_sharedInstance = nil; [o_mu_controls setTitle: _NS("Playback")]; [o_mi_play setTitle: _NS("Play")]; [o_mi_stop setTitle: _NS("Stop")]; + [o_mi_record setTitle: _NS("Record")]; [o_mi_rate setView: o_mi_rate_view]; [o_mi_rate_lbl setStringValue: _NS("Playback Speed")]; [o_mi_rate_lbl_gray setStringValue: _NS("Playback Speed")]; @@ -395,6 +396,8 @@ static VLCMainMenu *_o_sharedInstance = nil; input_thread_t * p_input = playlist_CurrentInput( p_playlist ); if( p_input != NULL ) { + [o_mi_record setEnabled: var_GetBool( p_input, "can-record" )]; + [self setupVarMenuItem: o_mi_program target: (vlc_object_t *)p_input var: "program" selector: @selector(toggleVar:)]; @@ -461,6 +464,10 @@ static VLCMainMenu *_o_sharedInstance = nil; } vlc_object_release( p_input ); } + else + { + [o_mi_record setEnabled: NO]; + } } - (void)refreshVoutDeviceMenu:(NSNotification *)o_notification @@ -544,6 +551,16 @@ static VLCMainMenu *_o_sharedInstance = nil; #pragma mark - #pragma mark Playback +- (IBAction)toggleRecord:(id)sender +{ + [[VLCCoreInteraction sharedInstance] toggleRecord]; +} + +- (void)updateRecordState:(BOOL)b_value +{ + [o_mi_record setState:b_value]; +} + - (IBAction)setPlaybackRate:(id)sender { [[VLCCoreInteraction sharedInstance] setPlaybackRate: [o_mi_rate_sld intValue]]; diff --git a/modules/gui/macosx/intf.h b/modules/gui/macosx/intf.h index a6a67aafcb..162e593380 100644 --- a/modules/gui/macosx/intf.h +++ b/modules/gui/macosx/intf.h @@ -183,7 +183,9 @@ struct intf_sys_t - (void)updatePlaybackPosition; - (void)updateName; - (void)playlistUpdated; +- (void)updateRecordState: (BOOL)b_value; - (void)updateInfoandMetaPanel; +- (void)updateMainMenu; - (void)updateMainWindow; - (void)showFullscreenController; - (void)updateDelays; diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m index 7c3aa88f05..b266baea11 100644 --- a/modules/gui/macosx/intf.m +++ b/modules/gui/macosx/intf.m @@ -250,6 +250,7 @@ static int InputEvent( vlc_object_t *p_this, const char *psz_var, break; case INPUT_EVENT_TITLE: case INPUT_EVENT_CHAPTER: + [[VLCMain sharedInstance] updateMainMenu]; break; case INPUT_EVENT_CACHE: [[VLCMain sharedInstance] updateMainWindow]; @@ -267,14 +268,17 @@ static int InputEvent( vlc_object_t *p_this, const char *psz_var, break; case INPUT_EVENT_ITEM_META: case INPUT_EVENT_ITEM_INFO: + [[VLCMain sharedInstance] updateMainMenu]; [[VLCMain sharedInstance] updateName]; [[VLCMain sharedInstance] updateInfoandMetaPanel]; break; case INPUT_EVENT_BOOKMARK: break; case INPUT_EVENT_RECORD: + [[VLCMain sharedInstance] updateRecordState: var_GetBool( p_this, "record" )]; break; case INPUT_EVENT_PROGRAM: + [[VLCMain sharedInstance] updateMainMenu]; break; case INPUT_EVENT_ITEM_EPG: break; @@ -1273,7 +1277,11 @@ unsigned int CocoaKeyToVLC( unichar i_key ) [o_playlist updateRowSelection]; [o_mainwindow updateWindow]; - [o_mainwindow updateName]; + [self updateMainMenu]; +} + +- (void)updateMainMenu +{ [o_mainmenu setupMenus]; [o_mainmenu updatePlaybackRate]; } @@ -1324,6 +1332,12 @@ unsigned int CocoaKeyToVLC( unichar i_key ) [o_mainwindow updateWindow]; } +- (void)updateRecordState: (BOOL)b_value +{ + NSLog( @"record state: %i", b_value ); + [o_mainmenu updateRecordState:b_value]; +} + - (void)updateInfoandMetaPanel { [o_playlist outlineViewSelectionDidChange:nil]; diff --git a/modules/gui/macosx/simple_prefs.h b/modules/gui/macosx/simple_prefs.h index 98f334cb8b..e2012ba0e0 100644 --- a/modules/gui/macosx/simple_prefs.h +++ b/modules/gui/macosx/simple_prefs.h @@ -60,6 +60,9 @@ IBOutlet id o_hotkeys_listbox; IBOutlet id o_hotkeys_view; + IBOutlet id o_input_record_box; + IBOutlet id o_input_record_fld; + IBOutlet id o_input_record_btn; IBOutlet id o_input_avi_pop; IBOutlet id o_input_avi_txt; IBOutlet id o_input_cachelevel_pop; diff --git a/modules/gui/macosx/simple_prefs.m b/modules/gui/macosx/simple_prefs.m index f08a76d305..1edee33800 100644 --- a/modules/gui/macosx/simple_prefs.m +++ b/modules/gui/macosx/simple_prefs.m @@ -212,6 +212,9 @@ create_toolbar_item( NSString * o_itemIdent, NSString * o_name, NSString * o_des [[[o_hotkeys_listbox tableColumnWithIdentifier: @"shortcut"] headerCell] setStringValue: _NS("Shortcut")]; /* input */ + [o_input_record_box setTitle: _NS("Record directory or filename")]; + [o_input_record_btn setTitle: _NS("Browse...")]; + [o_input_record_btn setToolTip: _NS("Directory or filename where the records will be stored")]; [o_input_avi_txt setStringValue: _NS("Repair AVI Files")]; [o_input_cachelevel_txt setStringValue: _NS("Default Caching Level")]; [o_input_caching_box setTitle: _NS("Caching")]; @@ -525,6 +528,7 @@ static inline char * __config_GetLabel( vlc_object_t *p_this, const char *psz_na /*************************** * input & codecs settings * ***************************/ + [self setupField: o_input_record_fld forOption:"input-record-path"]; [self setupField: o_input_httpproxy_fld forOption:"http-proxy"]; [self setupField: o_input_httpproxypwd_sfld forOption:"http-proxy-pwd"]; [o_input_postproc_fld setIntValue: config_GetInt( p_intf, "postproc-q")]; @@ -864,6 +868,7 @@ static inline void save_module_list( intf_thread_t * p_intf, id object, const ch ***************************/ if( b_inputSettingChanged ) { + config_PutPsz( p_intf, "input-record-path", [[o_input_record_fld stringValue] UTF8String] ); config_PutPsz( p_intf, "http-proxy", [[o_input_httpproxy_fld stringValue] UTF8String] ); config_PutPsz( p_intf, "http-proxy-pwd", [[o_input_httpproxypwd_sfld stringValue] UTF8String] ); config_PutInt( p_intf, "postproc-q", [o_input_postproc_fld intValue] ); @@ -1041,6 +1046,11 @@ static inline void save_module_list( intf_thread_t * p_intf, id object, const ch [o_video_snap_folder_fld setStringValue: [[o_selectFolderPanel URL] path]]; b_videoSettingChanged = YES; } + else if( contextInfo == o_input_record_btn ) + { + [o_input_record_fld setStringValue: [[o_selectFolderPanel URL] path]]; + b_inputSettingChanged = YES; + } } [o_selectFolderPanel release]; @@ -1098,6 +1108,22 @@ static inline void save_module_list( intf_thread_t * p_intf, id object, const ch else [o_input_cachelevel_custom_txt setHidden: YES]; } + else if( sender == o_input_record_btn ) + { + o_selectFolderPanel = [[NSOpenPanel alloc] init]; + [o_selectFolderPanel setCanChooseDirectories: YES]; + [o_selectFolderPanel setCanChooseFiles: YES]; + [o_selectFolderPanel setResolvesAliases: YES]; + [o_selectFolderPanel setAllowsMultipleSelection: NO]; + [o_selectFolderPanel setMessage: _NS("Choose the directory or filename where the records will be stored.")]; + [o_selectFolderPanel setCanCreateDirectories: YES]; + [o_selectFolderPanel setPrompt: _NS("Choose")]; + [o_selectFolderPanel beginSheetForDirectory: nil file: nil modalForWindow: o_sprefs_win + modalDelegate: self + didEndSelector: @selector(savePanelDidEnd:returnCode:contextInfo:) + contextInfo: o_input_record_btn]; + return; + } b_inputSettingChanged = YES; } -- 2.39.5