...
 
Commits (28)
  • Vibhoothi's avatar
    extras: Introuduce new properties for VLC Xcode project · 6b6879b5
    Vibhoothi authored
    This commit introduces various changes to current VLC Xcode project which is essential
    for future development.Also few are done as per Xcode Specification
    6b6879b5
  • Vibhoothi's avatar
    macosx:Introduce VLCMainWindowCollectionViewItem cocoa class with XIB · 56bd830f
    Vibhoothi authored
    This introduction is for making libraryView based on NSCollectionView by default for VLC 4.0
    The following files are newly introduced
     - VLCMainWindowCollectionViewItem.xib : An Interface for showing collectionView items.
     - VLCMainWindowCollectionViewItem.h   : Header file for defining instance and instance variables
     - VLCMainWindowCollectionViewItem.m   : Cococa class which contains implementation of instance and representation of objects
    -  Build VLCMainWindowCollectionViewItem files
    56bd830f
  • Vibhoothi's avatar
    extras: Hello macOS 10.11 · 13ef6287
    Vibhoothi authored
    From VLC 4.0 we are making 10.11 macOS version as minimum specification for having
    libraryView feature and for all who are below 10.11 will have normal VLC without libraryView
    feature
    13ef6287
  • Vibhoothi's avatar
    MainWindow: Introduce libraryView · 5980e67d
    Vibhoothi authored
    - Loads the image from default location which is hardcoded as of now using NSColelctionVIewDataSource and NSFileManager.
    - Uses FlowLayout for showing the items in the collectionView
    - Shows Highlight of selection with blue colour (alternateSelectedControlColor).
    - Get the index of selection using delegate following NSCollectionViewDelegate protocol and for debugging and all have displayed the log of it to command line.
    - Scrolling function is also there with this, when the user resizes Window,it dynamically resizes the collection view items
    5980e67d
  • Vibhoothi's avatar
    libraryView: Add a popOver inside collectionView · 5298b5c7
    Vibhoothi authored
    This commit introduces a minimal popOver with a button into the collectionView aka
    LibraryView which shows all metaData informationd of the video when user clicks the button
    found in collectionViewItem
    5298b5c7
  • Vibhoothi's avatar
    LibraryView: Introduce Thumbinails with videoTitle using ImageGenerator · aa3299f6
    Vibhoothi authored
    Introduces thumbinails to VLC's libraryView which is now loaded from local directory since
    its now using dummyData only not using CoreAPIs.
    This commit also introduces videoTitle field below to video thumbinail in libraryView
    aa3299f6
  • Vibhoothi's avatar
    libraryView:Add and remove constraints of libraryView's Item · 36cc211c
    Vibhoothi authored
    This commit fixses most of constraints issue found in the collectionViewItem's IB
    36cc211c
  • Vibhoothi's avatar
    libraryView:Introduce a dataModel · 0bf55a22
    Vibhoothi authored
    This commits adds a new dataModel to the VLC which essentailly brings us the Model View
    Controller concept ie. seperates dataModel from View and Controlle
    The following are the changes introuduced with this commitr
      - Add Cocoa class VLCMainWindowDataModel which is the dataModel for us
      - Build the dataModel
      - Make changes to the VLC Xcode Project to adapt to the new change
    0bf55a22
  • Vibhoothi's avatar
    libraryView: Fix all constraint issues of libraryView's item · 91240079
    Vibhoothi authored
    This commit fixes the typos and all other issues of the colletionViewItems like
       - Wrong Dimensions of items
       - Wrong flowLayout item size
       - Add and remove few missing constraints
    91240079
  • Vibhoothi's avatar
    libraryView: Minor cleanup of the mainWindow · de3b523e
    Vibhoothi authored
    Cleaned up the VLCMainWinodw class
    de3b523e
  • Felix Paul Kühne's avatar
    macosx: fix position slider appearance (closes #20697) · 1919581e
    Felix Paul Kühne authored
    This fixes a regression introduced in a6e1e1b0
    1919581e
  • Vibhoothi's avatar
    libraryView: MVC based libraryView with dummyData · 4531bbef
    Vibhoothi authored
    This commit fully revamp the current implementation of the dummyData with proper Guidelines
    of MVC so now the data is made into a datamModel and passed to
    VLCMainWindowCollectionViewItem with assignValueForDataModel with dataModel as an argument
    4531bbef
  • Vibhoothi's avatar
    libraryView: Remove multiple instance of dataModel · 264754b3
    Vibhoothi authored
    Earlier we had 3 diffrent dataModel for thumbinail,image and years,now we have only one
    dataModel
    
    To-Do
     - Currently values is added to array which is being replaced instead of adding which
    dataModel to repeat valeus
     - Fix up passing the dataModel to collectionViewItem
    264754b3
  • Vibhoothi's avatar
    libraryView:Standarization of class Names · 6224bf17
    Vibhoothi authored
    During initial development of libraryView we made the cocoa classes names with
    non-standerized names without proper Naming Conventions
    VLCMainWindowCollectionViewItem -> VLCLibraryView
    VLCMainWindowDataModel -> VLCLibraryItem
    6224bf17
  • Vibhoothi's avatar
    libraryView:Use only single instance of dataModel · 29278198
    Vibhoothi authored
    Make and use only one instance of dataModel for showing items inside libraryView
    Following changes were introduced with this
     - This fixes the regression of 264754b3
     - Also now the performance of loading is increased a bit
     - Did a minor cleanup of VLCMainWindow
     - Also fixes the issue of not laoding thumbnail and videoTitle inside popOver
    29278198
  • Vibhoothi's avatar
    libraryView:Final cleanup and Ready-to use · d6343816
    Vibhoothi authored
    This is the final cleanup of the codebase
    - Added pragma-marks to the classes for more readability
    - Reordered code in mainWindow in favour to the pragma-marks
    d6343816
  • Vibhoothi's avatar
    libraryView: Make video Playable · 6792d8be
    Vibhoothi authored
    This adds a new approach by calling addPlaylistItems method
    A new NSDictionary object with key "ITEM_URL" as it is required,which is added to a NSArray
    Console Output:
    (
            {
            "ITEM_URL" = "file:///Users/vibhoothiiaanand/Desktop/dummyVideos/Video5.3gp";
        }
    )
    2018-08-24 23:26:33.241 vlc-osx-static[72846:2136112] -[NSURL length]: unrecognized selector
    sent to instance 0x7f9b93784980
    GUI output:
    Freezes and need to force close
    To Do
    Fix  passing of the NSArray proper which is broken as of now
    6792d8be
  • Vibhoothi's avatar
    libraryView:Play the video when user clicks · e871194d
    Vibhoothi authored
    This commit fixes the 6792d8be issue of not able to play the video.
    e871194d
  • Vibhoothi's avatar
    libraryView: First steps for Play-Queue · ee4017c5
    Vibhoothi authored
    This commit introduces a new tab bar at the top of the mainWindow where there will be
    diffrent options like "video","audio" etc and the "play-Queue". Also when user plays a
    video from the libraryView or anyway the Tab bar automatically dissapers.
    ee4017c5
  • Vibhoothi's avatar
    libraryView: Replace the image with buttons · af19d37c
    Vibhoothi authored
    af19d37c
  • Vibhoothi's avatar
    libraryView: Add basic Play-queue using NSPopOver · 9a54ed54
    Vibhoothi authored
    This add a basic PopOver which gimmicks the playqueue with some dummy images and text
    9a54ed54
  • Vibhoothi's avatar
    libraryView: Make new Cocoa class for playQueue · 3dfc0ada
    Vibhoothi authored
    Make new class with XIB file for having the playQueue and build them
    3dfc0ada
  • Vibhoothi's avatar
    3b5f85e7
  • Vibhoothi's avatar
    playQueue: Make future-ready · f107c9de
    Vibhoothi authored
    Initialised basic playQueue with collectionView
    Changed the definitions of functions from VideoWindowCommon to MainWindow
    Cleanup the XIBs
    f107c9de
  • Vibhoothi's avatar
    playQueue: Add Author · a1a2de59
    Vibhoothi authored
    a1a2de59
  • Vibhoothi's avatar
    playQueue: Group the playQueue Files · c6174654
    Vibhoothi authored
    c6174654
  • Vibhoothi's avatar
    playQueue: Add new properties and initPlayQueueView · e04568eb
    Vibhoothi authored
    This commit links the collectionViewItem to the view and then in the mainWindow
    added new function initPlayQueueView which will deal with initialising the
    playQueue.
    e04568eb
  • Vibhoothi's avatar
    playQueue: Minor Improvements · 40940702
    Vibhoothi authored
    This commits includes many WIP and broken things which is not advised to take up.
     = Introduces new VLCPlayQueueItem which is essentially the dataModel for the
    playQueue
     - Adds a function to add to playQueue which is broken as_of_now
     - Rearranged some functions in favour of more clean approach of the
    implementation of playQueue
    40940702
......@@ -13,7 +13,7 @@ source "$SCRIPTDIR/env.build.sh" "none"
ARCH="x86_64"
MINIMAL_OSX_VERSION="10.10"
MINIMAL_OSX_VERSION="10.11"
SDKROOT=$(xcrun --show-sdk-path)
VLCBUILDDIR=""
......
......@@ -35,7 +35,7 @@ OPTIONS="
--disable-pulse
--disable-sdl-image
--disable-vnc
--with-macosx-version-min=10.10
--with-macosx-version-min=10.11
"
export CFLAGS
......
......@@ -94,8 +94,10 @@ libmacosx_plugin_la_SOURCES = \
gui/macosx/VLCSliderCell.h gui/macosx/VLCSliderCell.m \
gui/macosx/VLCVolumeSlider.h gui/macosx/VLCVolumeSlider.m \
gui/macosx/VLCVolumeSliderCell.h gui/macosx/VLCVolumeSliderCell.m \
gui/macosx/VLCWrappableTextField.h gui/macosx/VLCWrappableTextField.m
gui/macosx/VLCWrappableTextField.h gui/macosx/VLCWrappableTextField.m \
gui/macosx/VLCLibraryView.h gui/macosx/VLCLibraryView.m \
gui/macosx/VLCLibraryItem.h gui/macosx/VLCLibraryItem.m \
gui/macosx/VLCPlayQueue.h gui/macosx/VLCPlayQueue.m
# User interface compilation
......@@ -126,7 +128,9 @@ nodist_libmacosx_plugin_la_SOURCES = \
gui/macosx/UI/TimeSelectionPanel.nib \
gui/macosx/UI/VideoEffects.nib \
gui/macosx/UI/VLCFullScreenPanel.nib \
gui/macosx/UI/VLCStatusBarIconMainMenu.nib
gui/macosx/UI/VLCStatusBarIconMainMenu.nib \
gui/macosx/UI/VLCLibraryView.nib \
gui/macosx/UI/VLCPlayQueue.nib
EXTRA_DIST += \
gui/macosx/UI/About.xib \
......@@ -155,7 +159,9 @@ EXTRA_DIST += \
gui/macosx/UI/TimeSelectionPanel.xib \
gui/macosx/UI/VideoEffects.xib \
gui/macosx/UI/VLCFullScreenPanel.xib \
gui/macosx/UI/VLCStatusBarIconMainMenu.xib
gui/macosx/UI/VLCStatusBarIconMainMenu.xib \
gui/macosx/UI/VLCLibraryView.xib \
gui/macosx/UI/VLCPlayQueue.xib
xib_verbose = $(xib_verbose_$(V))
xib_verbose_ = $(xib_verbose__$(AM_DEFAULT_VERBOSITY))
......
This diff is collapsed.
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14113" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14113"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="VLCPlayQueue">
<connections>
<outlet property="playQueueImage" destination="Oy8-G8-wBS" id="Hzd-xV-Mq6"/>
<outlet property="playQueueTitle" destination="IBC-zS-6lz" id="1PU-6D-dxD"/>
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<customView id="Hz6-mo-xeY">
<rect key="frame" x="0.0" y="0.0" width="231" height="120"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<subviews>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Oy8-G8-wBS">
<rect key="frame" x="20" y="29" width="66" height="61"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="VLC" id="IMu-Qb-py9"/>
</imageView>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="IBC-zS-6lz">
<rect key="frame" x="110" y="73" width="103" height="17"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="videoName" id="f2f-qi-Bgz">
<font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bv3-4c-ygu">
<rect key="frame" x="110" y="46" width="103" height="17"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="artistName" id="Dbo-hD-W6V">
<font key="font" metaFont="system" size="11"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<point key="canvasLocation" x="14.5" y="93"/>
</customView>
</objects>
<resources>
<image name="VLC" width="512" height="512"/>
</resources>
</document>
......@@ -39,7 +39,6 @@
@interface VLCControlsBarCommon : NSObject
@property (readwrite, strong) IBOutlet VLCDragDropView *dropView;
@property (readwrite, strong) IBOutlet NSButton *playButton;
@property (readwrite, strong) IBOutlet NSButton *backwardButton;
@property (readwrite, strong) IBOutlet NSButton *forwardButton;
......
/*****************************************************************************
* VLCLibraryItem.h: MacOS X interface module
*****************************************************************************
* Copyright (C) 2018 VLC authors and VideoLAN
* $Id $
*
* Authors: Vibhoothi <vibhoothiiaanand -at- googlemail dot com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#import <Foundation/Foundation.h>
@interface VLCLibraryItem : NSObject
@property (strong) NSString *videoTitle;
@property (strong) NSString *year;
@property (strong) NSString *length;
@property (strong) NSImage *thumbnail;
@property (strong) NSString *videoURL;
@end
/*****************************************************************************
* VLCLibraryItem.m: MacOS X interface module
*****************************************************************************
* Copyright (C) 2018 VLC authors and VideoLAN
* $Id $
*
* Authors: Vibhoothi <vibhoothiiaanand -at- googlemail dot com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#import "VLCLibraryItem.h"
@implementation VLCLibraryItem
@end
/*****************************************************************************
* VLCLibraryView.h: MacOS X interface module
*****************************************************************************
* Copyright (C) 2018 VLC authors and VideoLAN
* $Id $
*
* Authors: Vibhoothi <vibhoothiiaanand -at- googlemail dot com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#import <Cocoa/Cocoa.h>
#import "VLCLibraryItem.h"
@interface VLCLibraryView : NSCollectionViewItem < NSCollectionViewDelegate>
//Library View
@property (nonatomic,strong) IBOutlet NSImageView *VLCItemImageView;
@property (strong) IBOutlet NSPopover *VLCPopOver;
@property (strong) IBOutlet NSButton *VLCPopOverTriggerButton;
@property (nonatomic,strong) IBOutlet NSTextField *VLCItemLabel;
//PopOver View
@property (strong) IBOutlet NSImageView *popOverImage;
@property (strong) IBOutlet NSTextField *popOverTitle;
@property (strong) IBOutlet NSTextField *popOverYear;
@property (strong) IBOutlet NSTextField *popOverSize;
//method for linking dataModel with View
-(void)assignValueForDataModel:(VLCLibraryItem *) dataModel;
- (void) addItemToPlayQueue:(NSSet<NSIndexPath *> *) indexPath : (VLCLibraryItem *) dataModel;
@end
/*****************************************************************************
* VLCLibraryView.m: MacOS X interface module
*****************************************************************************
* Copyright (C) 2002-2018 VLC authors and VideoLAN
* $Id $
*
* Authors: Vibhoothi <vibhoothiiaanand -at- googlemail dot com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#import <Cocoa/Cocoa.h>
#import "VLCLibraryView.h"
#import "VLCLibraryItem.h"
@interface VLCLibraryView ()
{
}
@end
@implementation VLCLibraryView
- (void)viewDidLoad {
[super viewDidLoad];
[self.collectionView setDelegate:self];
}
#pragma mark - dataModel and View handling
/*
Assigning values from the dataModel to the view fields like
- Thumbnail
- Video Title
- Fields in the popOver where diffrent metadatas are shown
- Small thumbnail
- Title of the video
- Size of the video
- Year of the video
*/
-(void)assignValueForDataModel:(VLCLibraryItem *) dataModel
{
self.VLCItemLabel.stringValue = dataModel.videoTitle;;
self.VLCItemImageView.image = dataModel.thumbnail;
self.popOverYear.stringValue = dataModel.year;
self.popOverImage.image = self.VLCItemImageView.image;
self.popOverTitle.stringValue = self.VLCItemLabel.stringValue;
self.popOverSize.stringValue= dataModel.length;
}
#pragma mark - Selection Highlighting in the libraryView
- (void)setSelected:(BOOL)flag
{
[super setSelected:flag];
[self updateBackgroundColorForSelectionState:flag];
}
- (void) viewDidAppear
{
[self updateBackgroundColorForSelectionState:self.isSelected];
}
- (void)updateBackgroundColorForSelectionState:(BOOL)flag
{
if (flag)
{
self.view.layer.backgroundColor = [[NSColor alternateSelectedControlColor] CGColor];
}
else
{
self.view.layer.backgroundColor = [[NSColor clearColor] CGColor];
}
}
#pragma mark - popOver Initialisation of the indexed files
- (BOOL)buttonIsPressed
{
return self.VLCPopOverTriggerButton.intValue == 1;
}
- (IBAction)popOver:(id)sender {
NSLog(@"VLC: Popup tapped");
if (self.buttonIsPressed)
{
[self.VLCPopOver showRelativeToRect:[self.VLCPopOverTriggerButton bounds] ofView:self.VLCPopOverTriggerButton preferredEdge:NSMaxYEdge];
} else {
[self.VLCPopOver close];
}
}
//(VLCLibraryItem *) dataModel
- (void) addItemToPlayQueue:(NSSet<NSIndexPath *> *) indexPath : (VLCLibraryItem *) dataModel
{
// NSInteger *test= indexPath.item;
}
- (IBAction) insertItemToPlayQueue:(id)sender {
}
@end
......@@ -26,13 +26,15 @@
*****************************************************************************/
#import <Cocoa/Cocoa.h>
#import <AVFoundation/AVFoundation.h>
#import <vlc_input.h>
#import <vlc_vout_window.h>
#import "VLCVideoWindowCommon.h"
#import "misc.h"
#import "VLCFSPanelController.h"
#import "VLCLibraryView.h"
#import "VLCPlayQueue.h"
@class VLCDetachedVideoWindow;
@class VLCMainWindowControlsBar;
......@@ -49,12 +51,20 @@ typedef enum {
@property (readonly) BOOL nativeFullscreenMode;
@property (readwrite) BOOL nonembedded;
@property (weak) IBOutlet NSCollectionView *collectionView;
@property (weak) IBOutlet NSCollectionView *playQueueView;
@property (strong) VLCLibraryItem *dataModel;
@property (strong) NSMutableArray *dummyData;
@property (readonly) VLCFSPanelController* fspanel;
@property (nonatomic, copy) NSDictionary *overrideClassNames;
@property (nonatomic, weak) IBOutlet VLCTopBarView* topView;
@property (readwrite,strong) IBOutlet NSButton *playQueueButton;
@property (strong) IBOutlet NSPopover *playQueuePopOver;
@property (strong) IBOutlet NSCollectionView *collectionView;
@property (readonly) VLCFSPanelController* fspanel;
- (void)changePlaylistState:(VLCPlaylistStateEvent)event;
- (void) addItemsToPlayQueue:(NSSet<NSIndexPath *> *) indexPath;
- (void)windowResizedOrMoved:(NSNotification *)notification;
......
This diff is collapsed.
/*****************************************************************************
* VLCPlayQueue.h : MacOS X interface module
*****************************************************************************
* Copyright (C) 2002-2018 VLC authors and VideoLAN
* $Id$
*
* Authors: Vibhoothi <vibhoothiiaanand at googlemail dot com>
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#import <Cocoa/Cocoa.h>
#import "VLCPlayQueueItem.h"
@interface VLCPlayQueue : NSCollectionViewItem < NSCollectionViewDelegate>
//PlayQueue View
@property (nonatomic,strong) IBOutlet NSImageView *playQueueImage;
@property (strong) IBOutlet NSTextField *playQueueTitle;
@property (strong) IBOutlet NSTextField *playQueueArtistName;
//method for linking dataModel of playQueue with the View
- (void)assignValueForDataModel:(VLCPlayQueueItem *) playQueueDataModel;
@end
/*****************************************************************************
* VLCPlayQueue.m : MacOS X interface module
*****************************************************************************
* Copyright (C) 2002-2018 VLC authors and VideoLAN
* $Id$
*
* Authors: Vibhoothi <vibhoothiiaanand at googlemail dot com>
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#import "VLCPlayQueue.h"
#import "VLCPlayQueueItem.h"
@interface VLCPlayQueue ()
@end
@implementation VLCPlayQueue
- (void)viewDidLoad {
[super viewDidLoad];
// Do view setup here.
}
-(void)assignValueForDataModel:(VLCPlayQueueItem *) playQueueDataModel
{
self.playQueueImage.image = playQueueDataModel.thumbnail;
self.playQueueTitle.stringValue = playQueueDataModel.videoTitle;
self.playQueueArtistName.stringValue = playQueueDataModel.artistName;
}
@end
/*****************************************************************************
* VLCPlayQueueItem.m : MacOS X interface module
*****************************************************************************
* Copyright (C) 2002-2018 VLC authors and VideoLAN
* $Id$
*
* Authors: Vibhoothi <vibhoothiiaanand at googlemail dot com>
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#import <Foundation/Foundation.h>
@interface VLCPlayQueueItem : NSObject
@property (strong) NSString *videoTitle;
@property (strong) NSString *artistName;
@property (strong) NSImage *thumbnail;
@end
/*****************************************************************************
* VLCPlayQueueItem.m : MacOS X interface module
*****************************************************************************
* Copyright (C) 2002-2018 VLC authors and VideoLAN
* $Id$
*
* Authors: Vibhoothi <vibhoothiiaanand at googlemail dot com>
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#import "VLCPlayQueueItem.h"
@implementation VLCPlayQueueItem
@end
......@@ -596,10 +596,12 @@
BOOL b_autoplay = var_InheritBool(getIntf(), "macosx-autoplay");
[self addPlaylistItems:array withParentItemId:i_plItemId atPos:-1 startPlayback:b_autoplay];
NSLog(@"addPlaylistItems %@",[array class]);
}
- (void)addPlaylistItems:(NSArray*)array tryAsSubtitle:(BOOL)isSubtitle
{
input_thread_t *p_input = pl_CurrentInput(getIntf());
if (isSubtitle && array.count == 1 && p_input) {
int i_result = input_AddSlave(p_input, SLAVE_TYPE_SPU,
......@@ -615,8 +617,11 @@
vlc_object_release(p_input);
[self addPlaylistItems:array];
}
- (void)addPlaylistItems:(NSArray*)array withParentItemId:(int)i_plItemId atPos:(int)i_position startPlayback:(BOOL)b_start
{
playlist_t * p_playlist = pl_Get(getIntf());
......
......@@ -393,9 +393,10 @@ FREENULL( psz_##foo );
return @"";
if ([[tableColumn identifier] isEqualToString:@"0"])
return [item name];
return [(VLCInfoTreeItem *)item name];
else
return [item value];
return [(VLCInfoTreeItem *) item value];
}
@end
......
......@@ -203,6 +203,11 @@ static CVReturn DisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTimeSt
[NSGraphicsContext restoreGraphicsState];
}
- (NSRect)barRectFlipped:(BOOL)flipped
{
return [[self controlView] bounds];
}
- (void)drawBarInside:(NSRect)rect flipped:(BOOL)flipped
{
// Inset rect
......
......@@ -26,7 +26,7 @@
#import "VLCWindow.h"
@class VLCVoutView;
@class VLCTopBarView;
@class VLCControlsBarCommon;
static const float f_min_video_height = 70.0;
......
......@@ -38,3 +38,7 @@
- (void)releaseVoutThread;
@end
@interface VLCTopBarView : NSView
@end