-
Notifications
You must be signed in to change notification settings - Fork 2
robUx4/vlc-winrt
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This project is about the port of VLC to the WinRT platform. The goal is to target Windows 8/8.1 Modern environment, on x86 and ARM (Windows RT). But also Windows Phone 8/8.1 and other devices running the WinRT platform. Most of the media code engine is licensed under LGPL, like libVLC. The application is dual-licensed under GPLv2/MPL and the license might change later, if need be. How to compile VLC for WinRT: ----------------------------- You need: * Visual Studio 2013 update 4 * Windows 8.1 If you are only on Windows, skip the step 0) 0) Cross-compile libvlc for WinRT --------------------------------- You need: * A very, very, very recent Linux * build-essentials and all related build tools (make, autotools, git, etc...) * Prodigious patience and tenacity :) Build and install mingw-w64 SVN rev 5568 or higher (for libwinstorecompat). Be sure to pass --disable-shared when configuring GCC. Why? Statically linking to libgcc.a will ensure that all unused methods get stripped. It will drastically reduce the number of forbidden calls. Run ./compile.sh and generate vlc.7z 1) Extract libVLC ----------------- If you skipped step 0), take the most recent build, depending on your architecture. For Win32 version, builds are located in http://people.videolan.org/~jb/WinRT/ For ARM version, builds are located in http://people.videolan.org/~hugo/ Extract the libVLC contents from the archive to vlc/Windows/vlc-<platform>/<configuration> <platform> is either ARM or x86 <configuration> is Debug or Release 1a) Install Multilingual App Toolkit ------------------------------------ In order to open the solution, you must first install the Visual Studio Multilingual App Toolkit. If you don't, the solution will fail to load. You can download it at https://dev.windows.com/en-us/develop/multilingual-app-toolkit 2) Build and package the front-end ---------------------------------- Open the VLC_WinRT solution in app/VLC_WINRT.sln 3a) Get a developer signature from your account -------------------------------------------------- If you don't have a dev account, see the next paragraph 3b) Local signature ------------------- Package.appxmanifest, and generate a self-signed cert Project → Store → Create App Packages... Select target "Debug (Win32)" Build the package. Now we have to import the self-signed cert into the local computer: Open MMC File → Add/Remove Snap In... Certificates → Add Select "Computer account" Select "Local computer" (already selected), press Finish OK to close "Add/Remove Snap-ins" dialog Certificates (Local Computer) → Trusted Root Certification Authorities → Certificates Right click, All Tasks... → Import... Next Select your "VLC_WINRT_1.0.0.0_x86_Debug.cer" Next Finish 4) Install libvlcpp ------------------- Clone libvlcpp from git://git.videolan.org/vlc-bindings/libvlcpp.git into the wrapper/ directory 4b) Alternately, if you wish to manually install: ------------------------------------------------- Useful in case of network drive, for instance. Start → Programs → Microsoft Visual Studio 2012 → Visual Studio Tools → Debuggable Package Manager Install VCRT dependency: Add-AppxPackage Dependencies/x86/* ( or Add-AppxPackage Dependencies/x86/Microsoft.VCLibs.x86.Debug.11.00.appx if you feel like it ) Deploy VLC appx: Add-AppxPackage VLC_WINRT_1.0.0.0_x86_Debug.appx Enable debug mode for the app: (note: use Get-AppxPackage to look up the full name of the app) Enable-AppxDebug 9519ba58-7ad6-4c4e-97ed-bfc2135a0d19_1.0.0.0_x86__2c7ztm58ext6g # Debugging has been enabled for 9519ba58-7ad6-4c4e-97ed-bfc2135a0d19_1.0.0.0_x86__2c7ztm58ext6g. 5) Build -------- Click on Build Solution. Click on Deploy Solution Profit. \o/ 6) Coding guidelines -------------------- TextBox and FocusTextBox FocusTextBox is a simple TextBox control. However, when the user writes something in the TextBox, it's also listened by the KeyboardListenerService, which believes the user is entering a keyboard shortcut. With FocusTextBox we prevent this behaviour. Therefore ALL future patches should use FocusTextBox instead of TextBox. 7) Extra: Helpful snippets and tools ------------------------------------ Use http://technet.microsoft.com/en-us/sysinternals/bb896647 DebugView to view the debug logs And Procmon ( http://technet.microsoft.com/en-ca/sysinternals/bb896645.aspx ) helps to see and debug events (like loading DLLs/modules/etc) Quick one-liners to remove ugly mode changes and ugly CR-LF line endings. git status -s | grep "^ M " | awk '{ print $2; }' | xargs chmod 644 git status -s | grep "^ M " | awk '{ print $2; }' | xargs dos2unix
About
vlc-winrt github mirror, clone of git://git.videolan.org/vlc-ports/winrt.git
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published