├── .gitignore ├── README.md ├── apps ├── README.md ├── ios │ ├── .DS_Store │ └── Luxapose │ │ ├── .DS_Store │ │ ├── AVCamManual │ │ ├── AAPLAppDelegate.h │ │ ├── AAPLAppDelegate.m │ │ ├── AAPLCameraViewController.h │ │ ├── AAPLCameraViewController.m │ │ ├── AAPLPreviewView.h │ │ ├── AAPLPreviewView.m │ │ ├── Base.lproj │ │ │ └── Main.storyboard │ │ ├── BeaconManager.h │ │ ├── BeaconManager.m │ │ ├── DataClass.h │ │ ├── DataClass.m │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ ├── AVCamManual-1.png │ │ │ │ ├── AVCamManual-2.png │ │ │ │ ├── AVCamManual-3.png │ │ │ │ ├── AVCamManual-4.png │ │ │ │ ├── AVCamManual-5.png │ │ │ │ ├── AVCamManual-6.png │ │ │ │ ├── AVCamManual-7.png │ │ │ │ ├── AVCamManual-8.png │ │ │ │ ├── AVCamManual.png │ │ │ │ └── Contents.json │ │ │ └── LaunchImage.launchimage │ │ │ │ └── Contents.json │ │ ├── Luxapose-Info.plist │ │ ├── en.lproj │ │ │ └── InfoPlist.strings │ │ └── main.m │ │ ├── BeaconManager.h │ │ ├── BeaconManager.m │ │ ├── DataClass.h │ │ ├── DataClass.m │ │ ├── LICENSE.txt │ │ ├── Luxapose.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcshareddata │ │ │ │ └── Luxapose.xccheckout │ │ │ └── xcuserdata │ │ │ │ └── nklugman.xcuserdatad │ │ │ │ ├── UserInterfaceState.xcuserstate │ │ │ │ └── WorkspaceSettings.xcsettings │ │ └── xcuserdata │ │ │ └── nklugman.xcuserdatad │ │ │ ├── xcdebugger │ │ │ └── Breakpoints_v2.xcbkptlist │ │ │ └── xcschemes │ │ │ ├── AVCamManual.xcscheme │ │ │ └── xcschememanagement.plist │ │ └── README.md └── winphone │ ├── .gitignore │ ├── CameraExplorer.sln │ ├── CameraExplorer │ ├── AboutPage.xaml │ ├── AboutPage.xaml.cs │ ├── App.xaml │ ├── App.xaml.cs │ ├── ArrayParameter.cs │ ├── Assets │ │ ├── AlignmentGrid.png │ │ ├── ApplicationIcon.png │ │ ├── Icons │ │ │ ├── appbar.feature.camera.rest.png │ │ │ ├── appbar.feature.settings.rest.png │ │ │ ├── appbar.sensor.png │ │ │ ├── check.png │ │ │ ├── overlay.exposuretime.1000.png │ │ │ ├── overlay.exposuretime.125.png │ │ │ ├── overlay.exposuretime.15.png │ │ │ ├── overlay.exposuretime.16000.png │ │ │ ├── overlay.exposuretime.1s.png │ │ │ ├── overlay.exposuretime.2.png │ │ │ ├── overlay.exposuretime.2000.png │ │ │ ├── overlay.exposuretime.250.png │ │ │ ├── overlay.exposuretime.2s.png │ │ │ ├── overlay.exposuretime.30.png │ │ │ ├── overlay.exposuretime.4.png │ │ │ ├── overlay.exposuretime.4000.png │ │ │ ├── overlay.exposuretime.4s.png │ │ │ ├── overlay.exposuretime.500.png │ │ │ ├── overlay.exposuretime.60.png │ │ │ ├── overlay.exposuretime.8.png │ │ │ ├── overlay.exposuretime.8000.png │ │ │ ├── overlay.exposuretime.auto.png │ │ │ ├── overlay.flashmode.auto.png │ │ │ ├── overlay.flashmode.off.png │ │ │ ├── overlay.flashmode.on.png │ │ │ ├── overlay.flashmode.redeyereduction.png │ │ │ ├── overlay.iso.100.png │ │ │ ├── overlay.iso.1600.png │ │ │ ├── overlay.iso.200.png │ │ │ ├── overlay.iso.3200.png │ │ │ ├── overlay.iso.400.png │ │ │ ├── overlay.iso.800.png │ │ │ ├── overlay.iso.auto.png │ │ │ ├── overlay.scenemode.auto.png │ │ │ ├── overlay.scenemode.backlit.png │ │ │ ├── overlay.scenemode.beach.png │ │ │ ├── overlay.scenemode.candlelight.png │ │ │ ├── overlay.scenemode.landscape.png │ │ │ ├── overlay.scenemode.macro.png │ │ │ ├── overlay.scenemode.night.png │ │ │ ├── overlay.scenemode.nightportrait.png │ │ │ ├── overlay.scenemode.portrait.png │ │ │ ├── overlay.scenemode.snow.png │ │ │ ├── overlay.scenemode.sport.png │ │ │ ├── overlay.scenemode.sunset.png │ │ │ ├── questionmark.png │ │ │ ├── save.png │ │ │ ├── stop.png │ │ │ ├── transport.pause.png │ │ │ ├── transport.play.png │ │ │ └── upload.png │ │ ├── Lens.Screen-720p.png │ │ ├── Lens.Screen-WVGA.png │ │ ├── Lens.Screen-WXGA.png │ │ └── Tiles │ │ │ ├── FlipCycleTileLarge.png │ │ │ ├── FlipCycleTileMedium.png │ │ │ └── FlipCycleTileSmall.png │ ├── CameraExplorer.csproj │ ├── DataContext.cs │ ├── Extensions.cs │ ├── LocalizedStrings.cs │ ├── MainPage.xaml │ ├── MainPage.xaml.cs │ ├── OverlayTemplateSelector.cs │ ├── Parameter.cs │ ├── PreviewPage.xaml │ ├── PreviewPage.xaml.cs │ ├── Properties │ │ ├── AppManifest.xml │ │ ├── AssemblyInfo.cs │ │ └── WMAppManifest.xml │ ├── RangeParameter.cs │ ├── Resources │ │ ├── AppResources.Designer.cs │ │ └── AppResources.resx │ ├── SettingsPage.xaml │ ├── SettingsPage.xaml.cs │ ├── SettingsTemplateSelector.cs │ ├── SplashScreenImage.jpg │ ├── UploadSettingsPage.xaml │ ├── UploadSettingsPage.xaml.cs │ ├── UrlParameter.cs │ ├── userSettingsPage.xaml │ └── userSettingsPage.xaml.cs │ ├── CameraExplorer_Release_ARM.xap │ ├── Licence-Nokia.txt │ ├── README.md │ └── doc │ ├── CameraExplorer.mdzip │ ├── CameraExplorer_icon.png │ └── architecture.png ├── cloud_service ├── README.md ├── cloud.py ├── img │ └── .gitignore ├── result │ └── .gitignore └── test │ ├── POST_img.py │ ├── POST_string.sh │ ├── gatd_test_floor.py │ └── samples ├── lights ├── CE-T60,CE-T66 │ └── README.md ├── CE-T67 │ └── README.md ├── README.md └── hardware │ ├── T66_controller │ ├── altium_src │ │ ├── .gitignore │ │ ├── Status Report.Txt │ │ ├── lib │ │ │ ├── History │ │ │ │ ├── vlc_ctrl.~(1).PcbLib.Zip │ │ │ │ ├── vlc_ctrl.~(1).SchLib.Zip │ │ │ │ ├── vlc_ctrl.~(2).PcbLib.Zip │ │ │ │ ├── vlc_ctrl.~(2).SchLib.Zip │ │ │ │ ├── vlc_ctrl.~(3).PcbLib.Zip │ │ │ │ ├── vlc_ctrl.~(3).SchLib.Zip │ │ │ │ ├── vlc_ctrl.~(4).PcbLib.Zip │ │ │ │ ├── vlc_ctrl.~(4).SchLib.Zip │ │ │ │ ├── vlc_ctrl.~(5).PcbLib.Zip │ │ │ │ ├── vlc_ctrl.~(5).SchLib.Zip │ │ │ │ ├── vlc_ctrl.~(6).PcbLib.Zip │ │ │ │ ├── vlc_ctrl.~(6).SchLib.Zip │ │ │ │ ├── vlc_ctrl.~(7).PcbLib.Zip │ │ │ │ └── vlc_ctrl.~(7).SchLib.Zip │ │ │ ├── vlc_ctrl.PcbLib │ │ │ └── vlc_ctrl.SchLib │ │ ├── vlc_ctrl.OutJob │ │ ├── vlc_ctrl.PcbDoc │ │ ├── vlc_ctrl.PrjPcb │ │ ├── vlc_ctrl.PrjPcbStructure │ │ └── vlc_ctrl.SchDoc │ └── to_fab │ │ ├── Gerber │ │ ├── __Previews │ │ │ └── vlc_ctrl.REPPreview │ │ ├── vlc_ctrl-macro.APR_LIB │ │ ├── vlc_ctrl.EXTREP │ │ ├── vlc_ctrl.GBL │ │ ├── vlc_ctrl.GBO │ │ ├── vlc_ctrl.GBS │ │ ├── vlc_ctrl.GKO │ │ ├── vlc_ctrl.GTL │ │ ├── vlc_ctrl.GTO │ │ ├── vlc_ctrl.GTS │ │ ├── vlc_ctrl.REP │ │ ├── vlc_ctrl.RUL │ │ └── vlc_ctrl.apr │ │ └── NC Drill │ │ ├── __Previews │ │ └── vlc_ctrl.LDPPreview │ │ ├── vlc_ctrl.DRR │ │ ├── vlc_ctrl.LDP │ │ └── vlc_ctrl.TXT │ └── T67_controller │ ├── altium_src │ ├── Project Logs for vlc_ctrl_T67 │ │ ├── vlc_ctrl_T67 PCB ECO 3-22-2014 5-34-34 PM.LOG │ │ ├── vlc_ctrl_T67 PCB ECO 3-22-2014 5-57-03 PM.LOG │ │ ├── vlc_ctrl_T67 SCH ECO 3-22-2014 5-08-27 PM.LOG │ │ └── vlc_ctrl_T67 SCH ECO 3-22-2014 5-34-17 PM.LOG │ ├── Status Report.Txt │ ├── vlc_ctrl_T67.OutJob │ ├── vlc_ctrl_T67.PcbDoc │ ├── vlc_ctrl_T67.PrjPcb │ ├── vlc_ctrl_T67.PrjPcbStructure │ └── vlc_ctrl_T67.SchDoc │ └── to_fab │ ├── Gerber │ ├── __Previews │ │ └── vlc_ctrl_T67.REPPreview │ ├── vlc_ctrl_T67-macro.APR_LIB │ ├── vlc_ctrl_T67.EXTREP │ ├── vlc_ctrl_T67.GBL │ ├── vlc_ctrl_T67.GBO │ ├── vlc_ctrl_T67.GBS │ ├── vlc_ctrl_T67.GKO │ ├── vlc_ctrl_T67.GTL │ ├── vlc_ctrl_T67.GTO │ ├── vlc_ctrl_T67.GTS │ ├── vlc_ctrl_T67.REP │ ├── vlc_ctrl_T67.RUL │ └── vlc_ctrl_T67.apr │ └── NC Drill │ ├── __Previews │ └── vlc_ctrl_T67.LDPPreview │ ├── vlc_ctrl_T67.DRR │ ├── vlc_ctrl_T67.LDP │ └── vlc_ctrl_T67.TXT ├── processing ├── README.md ├── aoa.py ├── aoa_full.py ├── calibrate.py ├── error_list.txt ├── freq_list.txt ├── phones │ ├── __init__.py │ ├── cameras │ │ ├── __init__.py │ │ ├── google_glass_front.py │ │ ├── iphone5_back.py │ │ ├── iphone5_front.py │ │ ├── lumia_1020_back.py │ │ └── lumia_1020_front.py │ ├── iphone5.py │ └── lumia_1020.py ├── pretty_logger.py ├── processors │ ├── __init__.py │ ├── box_fft.py │ ├── draw_center.py │ ├── matricies.py │ ├── opencv.py │ └── opencv_fft.py ├── rooms │ ├── 4908-measurements.pdf │ ├── 4908.py │ ├── __init__.py │ ├── atrium.py │ ├── box.py │ ├── chandelier0.py │ ├── demo_floor.py │ ├── ipsn15.py │ └── test_rig.py ├── run.py ├── samples │ ├── 1K_1.jpg │ ├── 2014-02-27--18-15-03-62.jpg │ ├── 2014-02-27--18-16-34-97.jpg │ ├── 4908_ADGH.jpg │ ├── 4908_CBAD.jpg │ ├── 4908_IFJE.jpg │ ├── 4908_SKQP.jpg │ ├── chandelier0 │ │ ├── 2013-05-11--02-08-21-25.jpg │ │ ├── 2013-05-11--02-23-04-38.jpg │ │ └── notes.txt │ ├── compressed.jpg │ ├── mirror1.jpg │ ├── mirror2.jpg │ ├── mirror3.jpg │ ├── small_blob.jpg │ └── x_0_y_1.27.jpg ├── test.py └── test_pics.py └── web └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | VLC Localization 2 | ================ 3 | 4 | The goal of this project is to address the indoor localization problem. Our 5 | system achieves decimeter-scale accuracy using unmodified commercial 6 | smartphones as receivers and commercial LED bulbs (with some minor 7 | modifications) as transmitters. 8 | 9 | In principle, the LED lights act like stars in the sky and depending on the 10 | angle and orientation of visible constellations, the phone can recover its 11 | location. The key insight was in finding a way to "label" the stars so the phone 12 | can identify them. CMOS imagers use a rolling shutter, capturing a frame 13 | line-by-line instead of in one shot. By duty-cycling each LED lights at a unique 14 | frequency, the smartphone camera can detect each frequency while remaining 15 | imperceptible to room occupants. 16 | 17 | For more detail on the theory and technique, please see our [paper from MobiCom 18 | 2014](http://lab11.eecs.umich.edu/content/pubs/kuo14luxapose.pdf). 19 | 20 | System Overview 21 | --------------- 22 | 23 | To build an end-to-end localization demo requires pulling together a few pieces: 24 | 25 | * LED Light Sources 26 | * Instructions for building your own LED light sources or modifying existing 27 | commerical sources can be found in `lights/` 28 | * Image Capture 29 | * You will need a camera with a reasonably high resolution and the 30 | ability to manually fix ISO and exposure values. The exposure value is 31 | particularly important, anything slower than 1/8000 sec will not work. 32 | * We have built applications for Windows Phone 8 and iOS that will capture 33 | and upload images (see `apps/`). 34 | * Android does not support an exposure control API, which means our app will not work on android phones. 35 | * Image Processing 36 | * `processing/processors/XXX.py` 37 | * This step scans a captured image, identifies each transmitter, and 38 | outputs a set of labeled coordinates (`tx_freq :: (px_x, px_y)`). These 39 | coordinates are in the pixel coordinate system of the captured image. 40 | * We have a few competing approaches for image processing. In particular, `opencv_fft` uses opencv to identify and isolate individual transmitters and then runs an FFT over each sub-region to extract the frequency. The `opencv` approach begins the same, but then uses edge detection to identify dark/light transitions. 41 | * Localization 42 | * `processing/aoa.py`, `processing/aoa_full.py` 43 | * This step requires out-of-band knowledge of the transmitter locations. 44 | It takes a set of transmitter labels and coordinates in the 45 | transmitter coordinate system (e.g. meters) and the coordinates from 46 | the image processing step and solves for the image capture device's 47 | location in the transmitter coordinate system. 48 | * The `aoa_full.py` script ties together image processing and Angle of Arrival (AoA) calculation. 49 | * The `aoa.py` script takes in known transmitter positions and the coordinates of transmitter projections in the imager coordinate system. It returns the imager (phone) position and orientation in the transmitter's coordinate system. 50 | * Cloud Service 51 | * `cloud_service/` 52 | * We have a very basic cloudlet app that will accept image uploads, process 53 | the image, and report localization results to [gatd]. 54 | * This tool selects the processing to use (e.g. `import processors.opencv_fft`) and uses meta-data from the uploaded image to determine the room the picture was taken in and the type of phone the picture was taken with. 55 | * Visualization 56 | * We have some initial visualization ideas in the `web/` folder. They 57 | rely on our cloud service and [gatd][gatd]. 58 | 59 | [gatd]: https://github.com/lab11/gatd/ "GATD Homepage" 60 | 61 | 62 | Debugging 63 | --------- 64 | 65 | Most of the processing is instrumented using a "pretty_logger". A function decorated with `@logger.op` will print its entry/exit, increase a level of indentation for clearer output, save a copy of its output to a result file (cloud service only), and time its duration. 66 | 67 | The processing scripts should respect the environment variable `DEBUG`. Currently, DEBUG can range from `DEBUG=1` for light information, `DEBUG=2` for lots of information, and `DEBUG=3` will write out all of the intermediate images generated during image processing to `/tmp/luxp-*`. `DEBUG=3` runs noticably slower. 68 | -------------------------------------------------------------------------------- /apps/README.md: -------------------------------------------------------------------------------- 1 | Apps 2 | ==== 3 | 4 | This folder holds the application development for apps on each of the major 5 | platforms. Initially, only Windows Phone provided sufficient access to the 6 | camera hardware for our application. In particular, we require the ability 7 | to manually set exposure time and ISO values. Since then iOS (v8) and 8 | Android (v5) have added the required APIs. We have added an iOS app but have 9 | not yet developed and do not currently have plans to develop an Android app. 10 | 11 | Winphone 12 | -------- 13 | 14 | Our windows phone application is very alpha-quality, but is capable of capturing 15 | images that work in our system. The app can capture individual images or send a 16 | continuous stream to a server. 17 | 18 | The winphone app is maintained by Pat ( @ppannuto ). 19 | 20 | 21 | iOS 22 | --- 23 | 24 | The iOS app supports all of the features of the winphone app. In addition, the 25 | iOS app will scan for BLE advertisements. Any advertisement that matches 26 | `luxapose: ` will cause the app to pass the `` as a hint 27 | of current location to the cloud service (e.g. to identify which room the phone 28 | is currently in). 29 | 30 | The iOS app is maintained by Noah ( @nklugman ). 31 | 32 | 33 | Android 34 | ------- 35 | 36 | We do not currently support Android. From a recent e-mail conversation, it looks 37 | like Android 5 may have added the required APIs: 38 | 39 | > As for the Android, I think the new version (Lollipop or version 5.0) offers a greater amount of options when it comes to controlling the camera parameters. I mean the exposure time and ISO which are the ones that you also need to control based on your paper. I have read that it can be done using the newly introdunced "android.hardware.camera2" package (https://developer.android.com/reference/android/hardware/camera2/package-summary.html). An example project can be found in the following link: https://github.com/PkmX/lcamera 40 | > However, they claim that these parameters can be set only in the Nexus 5 or 6 but I am not entirely sure about it. You can also have a look at: 41 | > https://developer.android.com/reference/android/hardware/camera2/CaptureRequest.html 42 | > Look for the "SENSOR_SENSITIVITY" and "SENSOR_EXPOSURE_TIME". 43 | 44 | Developing an Android app is not currently a priority, however we welcome contributions. 45 | 46 | -------------------------------------------------------------------------------- /apps/ios/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/ios/.DS_Store -------------------------------------------------------------------------------- /apps/ios/Luxapose/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/ios/Luxapose/.DS_Store -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/AAPLAppDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2014 Apple Inc. All Rights Reserved. 3 | See LICENSE.txt for this sample’s licensing information 4 | 5 | Abstract: 6 | 7 | Application delegate. 8 | 9 | */ 10 | 11 | @import UIKit; 12 | #import 13 | 14 | @interface AAPLAppDelegate : UIResponder 15 | 16 | 17 | 18 | 19 | @property (nonatomic) UIWindow *window; 20 | @property CLProximity lastProximity; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/AAPLCameraViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2014 Apple Inc. All Rights Reserved. 3 | See LICENSE.txt for this sample’s licensing information 4 | 5 | Abstract: 6 | 7 | Control of camera functions. 8 | 9 | */ 10 | 11 | 12 | @import UIKit; 13 | 14 | extern NSString * const PFET_URL; 15 | extern NSString * const CAP_URL; 16 | extern NSString * const MEM_URL; 17 | extern NSString * const NINJA_URL; 18 | extern NSString * const PAT_URL; 19 | extern NSString * const TEST_URL; 20 | 21 | 22 | @interface AAPLCameraViewController : UIViewController 23 | 24 | @property (strong, nonatomic) IBOutlet UITableView *tableView; 25 | @property (nonatomic, strong) NSArray *beacons; 26 | @property (strong) NSString *BEACON_UUID; 27 | 28 | 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/AAPLPreviewView.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2014 Apple Inc. All Rights Reserved. 3 | See LICENSE.txt for this sample’s licensing information 4 | 5 | Abstract: 6 | 7 | Camera preview. 8 | 9 | */ 10 | 11 | @import UIKit; 12 | 13 | @class AVCaptureSession; 14 | 15 | @interface AAPLPreviewView : UIView 16 | 17 | @property (nonatomic) AVCaptureSession *session; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/AAPLPreviewView.m: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2014 Apple Inc. All Rights Reserved. 3 | See LICENSE.txt for this sample’s licensing information 4 | 5 | Abstract: 6 | 7 | Camera preview. 8 | 9 | */ 10 | 11 | #import "AAPLPreviewView.h" 12 | #import 13 | 14 | @implementation AAPLPreviewView 15 | 16 | + (Class)layerClass 17 | { 18 | return [AVCaptureVideoPreviewLayer class]; 19 | } 20 | 21 | - (AVCaptureSession *)session 22 | { 23 | return [(AVCaptureVideoPreviewLayer *)[self layer] session]; 24 | } 25 | 26 | - (void)setSession:(AVCaptureSession *)session 27 | { 28 | [(AVCaptureVideoPreviewLayer *)[self layer] setSession:session]; 29 | } 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/BeaconManager.h: -------------------------------------------------------------------------------- 1 | // 2 | // BeaconManager.h 3 | // AVCamManual 4 | // 5 | // Created by Noah Klugman on 8/26/14. 6 | // Copyright (c) 2014 Apple Inc. All rights reserved. 7 | // 8 | 9 | 10 | @import UIKit; 11 | #import 12 | 13 | @interface BeaconManager : UIResponder 14 | 15 | 16 | 17 | @end -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/BeaconManager.m: -------------------------------------------------------------------------------- 1 | // 2 | // BeaconManager.m 3 | // AVCamManual 4 | // 5 | // Created by Noah Klugman on 8/26/14. 6 | // Copyright (c) 2014 Apple Inc. All rights reserved. 7 | // 8 | 9 | #import "BeaconManager.h" 10 | #import "AAPLAppDelegate.h" 11 | 12 | @interface BeaconManager() 13 | 14 | @property (nonatomic, strong) CLLocationManager *locationManager; 15 | @property (nonatomic, strong) CLBeaconRegion *beaconRegion; 16 | 17 | @end 18 | 19 | @implementation BeaconManager 20 | 21 | + (id)sharedManager 22 | { 23 | static BeaconManager *sharedBeaconManager = nil; 24 | static dispatch_once_t once; 25 | dispatch_once(&once, ^{ 26 | sharedBeaconManager = [[self alloc] init]; 27 | }); 28 | return sharedBeaconManager; 29 | } 30 | 31 | - (id)init 32 | { 33 | self = [super init]; 34 | if(self) 35 | { 36 | self.locationManager = [[CLLocationManager alloc] init]; 37 | self.locationManager.delegate = self; 38 | } 39 | return self; 40 | } 41 | 42 | - (void)startBeaconMonitoring:(NSString*)forUUID 43 | { 44 | NSUUID * uuid = [[NSUUID alloc] initWithUUIDString:forUUID]; 45 | 46 | self.beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid identifier:@"com.beacons.publicRegion"]; 47 | [self.locationManager startMonitoringForRegion:self.beaconRegion]; 48 | [self.locationManager startRangingBeaconsInRegion:self.beaconRegion]; 49 | } 50 | 51 | - (void)stopBeaconMonitoring 52 | { 53 | //Stop the region monitoring 54 | if(self.locationManager != nil && self.beaconRegion != nil) { 55 | [self.locationManager stopRangingBeaconsInRegion:self.beaconRegion]; 56 | } 57 | } 58 | 59 | #pragma mark - CLLocationManagerDelegate 60 | 61 | - (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region 62 | { 63 | //self.beacons = beacons; 64 | //if(self.delegate != nil) { 65 | // [self.delegate beaconManager:self didRangeBeacons:self.beacons]; 66 | //} 67 | } 68 | 69 | @end -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/DataClass.h: -------------------------------------------------------------------------------- 1 | // 2 | // DataClass.h 3 | // VLC 4 | // 5 | // Created by Noah Klugman on 8/20/14. 6 | // Copyright (c) 2014 Noah Klugman. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface DataClass : NSObject { 12 | NSString *server_name; 13 | } 14 | 15 | @property(nonatomic,retain)NSString *server_name; 16 | 17 | +(DataClass*)getInstance; 18 | 19 | @end 20 | 21 | -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/DataClass.m: -------------------------------------------------------------------------------- 1 | // 2 | // DataClass.m 3 | // VLC 4 | // 5 | // Created by Noah Klugman on 8/20/14. 6 | // Copyright (c) 2014 Noah Klugman. All rights reserved. 7 | // 8 | 9 | #import "DataClass.h" 10 | 11 | @implementation DataClass 12 | 13 | @synthesize server_name; 14 | 15 | static DataClass *instance = nil; 16 | 17 | +(DataClass *)getInstance 18 | { 19 | @synchronized(self) 20 | { 21 | if(instance==nil) 22 | { 23 | instance= [DataClass new]; 24 | } 25 | } 26 | return instance; 27 | } 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/AVCamManual-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/AVCamManual-1.png -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/AVCamManual-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/AVCamManual-2.png -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/AVCamManual-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/AVCamManual-3.png -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/AVCamManual-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/AVCamManual-4.png -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/AVCamManual-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/AVCamManual-5.png -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/AVCamManual-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/AVCamManual-6.png -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/AVCamManual-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/AVCamManual-7.png -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/AVCamManual-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/AVCamManual-8.png -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/AVCamManual.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/AVCamManual.png -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "29x29", 5 | "idiom" : "iphone", 6 | "filename" : "AVCamManual.png", 7 | "scale" : "2x" 8 | }, 9 | { 10 | "size" : "40x40", 11 | "idiom" : "iphone", 12 | "filename" : "AVCamManual-1.png", 13 | "scale" : "2x" 14 | }, 15 | { 16 | "size" : "60x60", 17 | "idiom" : "iphone", 18 | "filename" : "AVCamManual-2.png", 19 | "scale" : "2x" 20 | }, 21 | { 22 | "idiom" : "iphone", 23 | "size" : "60x60", 24 | "scale" : "3x" 25 | }, 26 | { 27 | "size" : "29x29", 28 | "idiom" : "ipad", 29 | "filename" : "AVCamManual-3.png", 30 | "scale" : "1x" 31 | }, 32 | { 33 | "size" : "29x29", 34 | "idiom" : "ipad", 35 | "filename" : "AVCamManual-4.png", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "size" : "50x50", 40 | "idiom" : "ipad", 41 | "filename" : "AVCamManual-5.png", 42 | "scale" : "1x" 43 | }, 44 | { 45 | "size" : "50x50", 46 | "idiom" : "ipad", 47 | "filename" : "AVCamManual-6.png", 48 | "scale" : "2x" 49 | }, 50 | { 51 | "size" : "72x72", 52 | "idiom" : "ipad", 53 | "filename" : "AVCamManual-7.png", 54 | "scale" : "1x" 55 | }, 56 | { 57 | "size" : "72x72", 58 | "idiom" : "ipad", 59 | "filename" : "AVCamManual-8.png", 60 | "scale" : "2x" 61 | } 62 | ], 63 | "info" : { 64 | "version" : 1, 65 | "author" : "xcode" 66 | } 67 | } -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/Images.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "orientation" : "portrait", 5 | "idiom" : "iphone", 6 | "extent" : "full-screen", 7 | "minimum-system-version" : "7.0", 8 | "scale" : "2x" 9 | }, 10 | { 11 | "orientation" : "portrait", 12 | "idiom" : "iphone", 13 | "subtype" : "retina4", 14 | "extent" : "full-screen", 15 | "minimum-system-version" : "7.0", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "orientation" : "portrait", 20 | "idiom" : "ipad", 21 | "extent" : "full-screen", 22 | "minimum-system-version" : "7.0", 23 | "scale" : "1x" 24 | }, 25 | { 26 | "orientation" : "landscape", 27 | "idiom" : "ipad", 28 | "extent" : "full-screen", 29 | "minimum-system-version" : "7.0", 30 | "scale" : "1x" 31 | }, 32 | { 33 | "orientation" : "portrait", 34 | "idiom" : "ipad", 35 | "extent" : "full-screen", 36 | "minimum-system-version" : "7.0", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "orientation" : "landscape", 41 | "idiom" : "ipad", 42 | "extent" : "full-screen", 43 | "minimum-system-version" : "7.0", 44 | "scale" : "2x" 45 | } 46 | ], 47 | "info" : { 48 | "version" : 1, 49 | "author" : "xcode" 50 | } 51 | } -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/Luxapose-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSLocationAlwaysUsageDescription 6 | Enable Location? 7 | CFBundleDevelopmentRegion 8 | en 9 | CFBundleDisplayName 10 | ${PRODUCT_NAME} 11 | CFBundleExecutable 12 | ${EXECUTABLE_NAME} 13 | CFBundleIdentifier 14 | com.example.apple-sample.${PRODUCT_NAME:rfc1034identifier} 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${PRODUCT_NAME} 19 | CFBundlePackageType 20 | APPL 21 | CFBundleShortVersionString 22 | 3.0 23 | CFBundleSignature 24 | ???? 25 | CFBundleVersion 26 | 1.0 27 | LSRequiresIPhoneOS 28 | 29 | UIBackgroundModes 30 | 31 | bluetooth-central 32 | location 33 | 34 | UIMainStoryboardFile 35 | Main 36 | UIMainStoryboardFile~ipad 37 | Main 38 | UIRequiredDeviceCapabilities 39 | 40 | armv7 41 | 42 | UIStatusBarHidden 43 | 44 | UISupportedInterfaceOrientations 45 | 46 | UIInterfaceOrientationPortrait 47 | 48 | UISupportedInterfaceOrientations~ipad 49 | 50 | UIInterfaceOrientationPortrait 51 | UIInterfaceOrientationPortraitUpsideDown 52 | UIInterfaceOrientationLandscapeLeft 53 | UIInterfaceOrientationLandscapeRight 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /apps/ios/Luxapose/AVCamManual/main.m: -------------------------------------------------------------------------------- 1 | @import UIKit; 2 | 3 | #import "AAPLAppDelegate.h" 4 | 5 | int main(int argc, char * argv[]) 6 | { 7 | @autoreleasepool { 8 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AAPLAppDelegate class])); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /apps/ios/Luxapose/BeaconManager.h: -------------------------------------------------------------------------------- 1 | // 2 | // BeaconManager.h 3 | // AVCamManual 4 | // 5 | // Created by Noah Klugman on 8/26/14. 6 | // Copyright (c) 2014 Apple Inc. All rights reserved. 7 | // 8 | 9 | 10 | @import UIKit; 11 | #import 12 | 13 | @interface BeaconManager : UIResponder 14 | 15 | 16 | 17 | @end -------------------------------------------------------------------------------- /apps/ios/Luxapose/BeaconManager.m: -------------------------------------------------------------------------------- 1 | // 2 | // BeaconManager.m 3 | // AVCamManual 4 | // 5 | // Created by Noah Klugman on 8/26/14. 6 | // Copyright (c) 2014 Apple Inc. All rights reserved. 7 | // 8 | 9 | #import "BeaconManager.h" 10 | #import "AAPLAppDelegate.h" 11 | 12 | @interface BeaconManager() 13 | 14 | @property (nonatomic, strong) CLLocationManager *locationManager; 15 | @property (nonatomic, strong) CLBeaconRegion *beaconRegion; 16 | 17 | @end 18 | 19 | @implementation BeaconManager 20 | 21 | + (id)sharedManager 22 | { 23 | static BeaconManager *sharedBeaconManager = nil; 24 | static dispatch_once_t once; 25 | dispatch_once(&once, ^{ 26 | sharedBeaconManager = [[self alloc] init]; 27 | }); 28 | return sharedBeaconManager; 29 | } 30 | 31 | - (id)init 32 | { 33 | self = [super init]; 34 | if(self) 35 | { 36 | self.locationManager = [[CLLocationManager alloc] init]; 37 | self.locationManager.delegate = self; 38 | } 39 | return self; 40 | } 41 | 42 | - (void)startBeaconMonitoring:(NSString*)forUUID 43 | { 44 | NSUUID * uuid = [[NSUUID alloc] initWithUUIDString:forUUID]; 45 | 46 | self.beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid identifier:@"com.beacons.publicRegion"]; 47 | [self.locationManager startMonitoringForRegion:self.beaconRegion]; 48 | [self.locationManager startRangingBeaconsInRegion:self.beaconRegion]; 49 | } 50 | 51 | - (void)stopBeaconMonitoring 52 | { 53 | //Stop the region monitoring 54 | if(self.locationManager != nil && self.beaconRegion != nil) { 55 | [self.locationManager stopRangingBeaconsInRegion:self.beaconRegion]; 56 | } 57 | } 58 | 59 | #pragma mark - CLLocationManagerDelegate 60 | 61 | - (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region 62 | { 63 | self.beacons = beacons; 64 | if(self.delegate != nil) { 65 | [self.delegate beaconManager:self didRangeBeacons:self.beacons]; 66 | } 67 | } 68 | 69 | @end -------------------------------------------------------------------------------- /apps/ios/Luxapose/DataClass.h: -------------------------------------------------------------------------------- 1 | // 2 | // DataClass.h 3 | // VLC 4 | // 5 | // Created by Noah Klugman on 8/20/14. 6 | // Copyright (c) 2014 Noah Klugman. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface DataClass : NSObject { 12 | NSString *server_name; 13 | } 14 | 15 | @property(nonatomic,retain)NSString *server_name; 16 | 17 | +(DataClass*)getInstance; 18 | 19 | @end 20 | 21 | -------------------------------------------------------------------------------- /apps/ios/Luxapose/DataClass.m: -------------------------------------------------------------------------------- 1 | // 2 | // DataClass.m 3 | // VLC 4 | // 5 | // Created by Noah Klugman on 8/20/14. 6 | // Copyright (c) 2014 Noah Klugman. All rights reserved. 7 | // 8 | 9 | #import "DataClass.h" 10 | 11 | @implementation DataClass 12 | 13 | @synthesize server_name; 14 | 15 | static DataClass *instance = nil; 16 | 17 | +(DataClass *)getInstance 18 | { 19 | @synchronized(self) 20 | { 21 | if(instance==nil) 22 | { 23 | instance= [DataClass new]; 24 | } 25 | } 26 | return instance; 27 | } 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /apps/ios/Luxapose/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Sample code project: AVCamManual: Using the Manual Capture API 2 | Version: 1.0 3 | 4 | IMPORTANT: This Apple software is supplied to you by Apple 5 | Inc. ("Apple") in consideration of your agreement to the following 6 | terms, and your use, installation, modification or redistribution of 7 | this Apple software constitutes acceptance of these terms. If you do 8 | not agree with these terms, please do not use, install, modify or 9 | redistribute this Apple software. 10 | 11 | In consideration of your agreement to abide by the following terms, and 12 | subject to these terms, Apple grants you a personal, non-exclusive 13 | license, under Apple's copyrights in this original Apple software (the 14 | "Apple Software"), to use, reproduce, modify and redistribute the Apple 15 | Software, with or without modifications, in source and/or binary forms; 16 | provided that if you redistribute the Apple Software in its entirety and 17 | without modifications, you must retain this notice and the following 18 | text and disclaimers in all such redistributions of the Apple Software. 19 | Neither the name, trademarks, service marks or logos of Apple Inc. may 20 | be used to endorse or promote products derived from the Apple Software 21 | without specific prior written permission from Apple. Except as 22 | expressly stated in this notice, no other rights or licenses, express or 23 | implied, are granted by Apple herein, including but not limited to any 24 | patent rights that may be infringed by your derivative works or by other 25 | works in which the Apple Software may be incorporated. 26 | 27 | The Apple Software is provided by Apple on an "AS IS" basis. APPLE 28 | MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION 29 | THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS 30 | FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND 31 | OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. 32 | 33 | IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL 34 | OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 35 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 36 | INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, 37 | MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED 38 | AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), 39 | STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE 40 | POSSIBILITY OF SUCH DAMAGE. 41 | 42 | Copyright (C) 2014 Apple Inc. All Rights Reserved. 43 | -------------------------------------------------------------------------------- /apps/ios/Luxapose/Luxapose.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /apps/ios/Luxapose/Luxapose.xcodeproj/project.xcworkspace/xcshareddata/Luxapose.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | 41046247-BFFA-4539-8410-3F00CE07A4B7 9 | IDESourceControlProjectName 10 | Luxapose 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | 3E60928FF80D27DE201F9232A7F9CF5796D100AD 14 | https://github.com/lab11/vlc-localization 15 | 16 | IDESourceControlProjectPath 17 | apps/ios/Luxapose/Luxapose.xcodeproj 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | 3E60928FF80D27DE201F9232A7F9CF5796D100AD 21 | ../../../../.. 22 | 23 | IDESourceControlProjectURL 24 | https://github.com/lab11/vlc-localization 25 | IDESourceControlProjectVersion 26 | 111 27 | IDESourceControlProjectWCCIdentifier 28 | 3E60928FF80D27DE201F9232A7F9CF5796D100AD 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | 3E60928FF80D27DE201F9232A7F9CF5796D100AD 36 | IDESourceControlWCCName 37 | vlc-localization 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /apps/ios/Luxapose/Luxapose.xcodeproj/project.xcworkspace/xcuserdata/nklugman.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/ios/Luxapose/Luxapose.xcodeproj/project.xcworkspace/xcuserdata/nklugman.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /apps/ios/Luxapose/Luxapose.xcodeproj/project.xcworkspace/xcuserdata/nklugman.xcuserdatad/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges 6 | 7 | SnapshotAutomaticallyBeforeSignificantChanges 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /apps/ios/Luxapose/Luxapose.xcodeproj/xcuserdata/nklugman.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 20 | 21 | 22 | 24 | 36 | 37 | 38 | 40 | 52 | 53 | 54 | 56 | 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /apps/ios/Luxapose/Luxapose.xcodeproj/xcuserdata/nklugman.xcuserdatad/xcschemes/AVCamManual.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 51 | 52 | 58 | 59 | 60 | 61 | 62 | 63 | 69 | 70 | 76 | 77 | 78 | 79 | 81 | 82 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /apps/ios/Luxapose/Luxapose.xcodeproj/xcuserdata/nklugman.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | AVCamManual.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2F360BA117692C4700D9A404 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /apps/ios/Luxapose/README.md: -------------------------------------------------------------------------------- 1 | # AVCamManual: Using the Manual Capture API 2 | 3 | AVCamManual adds manual controls for focus, exposure, and white balance to the AVCam sample application. 4 | 5 | ## Requirements 6 | 7 | ### Build 8 | 9 | iOS 8 SDK 10 | 11 | ### Runtime 12 | 13 | iOS 8 or later 14 | 15 | Copyright (C) 2014 Apple Inc. All rights reserved. 16 | -------------------------------------------------------------------------------- /apps/winphone/.gitignore: -------------------------------------------------------------------------------- 1 | ################# 2 | ## Eclipse 3 | ################# 4 | 5 | *.pydevproject 6 | .project 7 | .metadata 8 | bin/ 9 | tmp/ 10 | *.tmp 11 | *.bak 12 | *.swp 13 | *~.nib 14 | local.properties 15 | .classpath 16 | .settings/ 17 | .loadpath 18 | 19 | # External tool builders 20 | .externalToolBuilders/ 21 | 22 | # Locally stored "Eclipse launch configurations" 23 | *.launch 24 | 25 | # CDT-specific 26 | .cproject 27 | 28 | # PDT-specific 29 | .buildpath 30 | 31 | 32 | ################# 33 | ## Visual Studio 34 | ################# 35 | 36 | ## Ignore Visual Studio temporary files, build results, and 37 | ## files generated by popular Visual Studio add-ons. 38 | 39 | # User-specific files 40 | *.suo 41 | *.user 42 | *.sln.docstates 43 | 44 | # Build results 45 | [Dd]ebug/ 46 | [Rr]elease/ 47 | *_i.c 48 | *_p.c 49 | *.ilk 50 | *.meta 51 | *.obj 52 | *.pch 53 | *.pdb 54 | *.pgc 55 | *.pgd 56 | *.rsp 57 | *.sbr 58 | *.tlb 59 | *.tli 60 | *.tlh 61 | *.tmp 62 | *.vspscc 63 | .builds 64 | *.dotCover 65 | 66 | ## TODO: If you have NuGet Package Restore enabled, uncomment this 67 | #packages/ 68 | 69 | # Visual C++ cache files 70 | ipch/ 71 | *.aps 72 | *.ncb 73 | *.opensdf 74 | *.sdf 75 | 76 | # Visual Studio profiler 77 | *.psess 78 | *.vsp 79 | 80 | # ReSharper is a .NET coding add-in 81 | _ReSharper* 82 | 83 | # Installshield output folder 84 | [Ee]xpress 85 | 86 | # DocProject is a documentation generator add-in 87 | DocProject/buildhelp/ 88 | DocProject/Help/*.HxT 89 | DocProject/Help/*.HxC 90 | DocProject/Help/*.hhc 91 | DocProject/Help/*.hhk 92 | DocProject/Help/*.hhp 93 | DocProject/Help/Html2 94 | DocProject/Help/html 95 | 96 | # Click-Once directory 97 | publish 98 | 99 | # Others 100 | [Bb]in 101 | [Oo]bj 102 | sql 103 | TestResults 104 | *.Cache 105 | ClientBin 106 | stylecop.* 107 | ~$* 108 | *.dbmdl 109 | Generated_Code #added for RIA/Silverlight projects 110 | 111 | # Backup & report files from converting an old project file to a newer 112 | # Visual Studio version. Backup files are not needed, because we have git ;-) 113 | _UpgradeReport_Files/ 114 | Backup*/ 115 | UpgradeLog*.XML 116 | 117 | 118 | 119 | ############ 120 | ## Windows 121 | ############ 122 | 123 | # Windows image file caches 124 | Thumbs.db 125 | 126 | # Folder config file 127 | Desktop.ini 128 | 129 | 130 | ############# 131 | ## Python 132 | ############# 133 | 134 | *.py[co] 135 | 136 | # Packages 137 | *.egg 138 | *.egg-info 139 | dist 140 | build 141 | eggs 142 | parts 143 | bin 144 | var 145 | sdist 146 | develop-eggs 147 | .installed.cfg 148 | 149 | # Installer logs 150 | pip-log.txt 151 | 152 | # Unit test / coverage reports 153 | .coverage 154 | .tox 155 | 156 | #Translations 157 | *.mo 158 | 159 | #Mr Developer 160 | .mr.developer.cfg 161 | 162 | # Mac crap 163 | .DS_Store 164 | -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Express 2012 for Windows Phone 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CameraExplorer", "CameraExplorer\CameraExplorer.csproj", "{94F53777-5783-47B2-9BCB-CE46CCB0F219}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|ARM = Debug|ARM 9 | Debug|Any CPU = Debug|Any CPU 10 | Debug|x86 = Debug|x86 11 | Release|ARM = Release|ARM 12 | Release|Any CPU = Release|Any CPU 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {94F53777-5783-47B2-9BCB-CE46CCB0F219}.Debug|ARM.ActiveCfg = Debug|ARM 17 | {94F53777-5783-47B2-9BCB-CE46CCB0F219}.Debug|ARM.Build.0 = Debug|ARM 18 | {94F53777-5783-47B2-9BCB-CE46CCB0F219}.Debug|ARM.Deploy.0 = Debug|ARM 19 | {94F53777-5783-47B2-9BCB-CE46CCB0F219}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 20 | {94F53777-5783-47B2-9BCB-CE46CCB0F219}.Debug|Any CPU.Build.0 = Debug|Any CPU 21 | {94F53777-5783-47B2-9BCB-CE46CCB0F219}.Debug|Any CPU.Deploy.0 = Debug|Any CPU 22 | {94F53777-5783-47B2-9BCB-CE46CCB0F219}.Debug|x86.ActiveCfg = Debug|x86 23 | {94F53777-5783-47B2-9BCB-CE46CCB0F219}.Debug|x86.Build.0 = Debug|x86 24 | {94F53777-5783-47B2-9BCB-CE46CCB0F219}.Debug|x86.Deploy.0 = Debug|x86 25 | {94F53777-5783-47B2-9BCB-CE46CCB0F219}.Release|ARM.ActiveCfg = Release|ARM 26 | {94F53777-5783-47B2-9BCB-CE46CCB0F219}.Release|ARM.Build.0 = Release|ARM 27 | {94F53777-5783-47B2-9BCB-CE46CCB0F219}.Release|ARM.Deploy.0 = Release|ARM 28 | {94F53777-5783-47B2-9BCB-CE46CCB0F219}.Release|Any CPU.ActiveCfg = Release|Any CPU 29 | {94F53777-5783-47B2-9BCB-CE46CCB0F219}.Release|Any CPU.Build.0 = Release|Any CPU 30 | {94F53777-5783-47B2-9BCB-CE46CCB0F219}.Release|Any CPU.Deploy.0 = Release|Any CPU 31 | {94F53777-5783-47B2-9BCB-CE46CCB0F219}.Release|x86.ActiveCfg = Release|x86 32 | {94F53777-5783-47B2-9BCB-CE46CCB0F219}.Release|x86.Build.0 = Release|x86 33 | {94F53777-5783-47B2-9BCB-CE46CCB0F219}.Release|x86.Deploy.0 = Release|x86 34 | EndGlobalSection 35 | GlobalSection(SolutionProperties) = preSolution 36 | HideSolutionNode = FALSE 37 | EndGlobalSection 38 | EndGlobal 39 | -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/AboutPage.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/AboutPage.xaml.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2012-2013 Nokia Corporation. All rights reserved. 3 | * Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation. 4 | * Other product and company names mentioned herein may be trademarks 5 | * or trade names of their respective owners. 6 | * See LICENSE.TXT for license information. 7 | */ 8 | 9 | using System; 10 | using System.Collections.Generic; 11 | using System.Linq; 12 | using System.Net; 13 | using System.Windows; 14 | using System.Windows.Controls; 15 | using System.Windows.Navigation; 16 | using Microsoft.Phone.Controls; 17 | using Microsoft.Phone.Shell; 18 | using System.Xml.Linq; 19 | 20 | namespace MapExplorer 21 | { 22 | public partial class AboutPage : PhoneApplicationPage 23 | { 24 | CameraExplorer.DataContext _dataContext = CameraExplorer.DataContext.Singleton; 25 | 26 | public AboutPage() 27 | { 28 | InitializeComponent(); 29 | 30 | versionTextBox.Text = XDocument.Load("WMAppManifest.xml").Root.Element("App").Attribute("Version").Value; 31 | } 32 | 33 | protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 34 | { 35 | base.OnNavigatedTo(e); 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/App.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/AlignmentGrid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/AlignmentGrid.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/ApplicationIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/ApplicationIcon.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/appbar.feature.camera.rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/appbar.feature.camera.rest.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/appbar.feature.settings.rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/appbar.feature.settings.rest.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/appbar.sensor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/appbar.sensor.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/check.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.1000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.1000.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.125.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.15.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.16000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.16000.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.1s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.1s.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.2.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.2000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.2000.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.250.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.250.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.2s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.2s.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.30.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.4.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.4000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.4000.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.4s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.4s.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.500.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.500.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.60.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.8.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.8000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.8000.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.auto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.exposuretime.auto.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.flashmode.auto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.flashmode.auto.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.flashmode.off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.flashmode.off.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.flashmode.on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.flashmode.on.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.flashmode.redeyereduction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.flashmode.redeyereduction.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.iso.100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.iso.100.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.iso.1600.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.iso.1600.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.iso.200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.iso.200.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.iso.3200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.iso.3200.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.iso.400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.iso.400.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.iso.800.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.iso.800.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.iso.auto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.iso.auto.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.auto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.auto.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.backlit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.backlit.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.beach.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.beach.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.candlelight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.candlelight.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.landscape.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.macro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.macro.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.night.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.night.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.nightportrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.nightportrait.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.portrait.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.snow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.snow.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.sport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.sport.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.sunset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/overlay.scenemode.sunset.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/questionmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/questionmark.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/save.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/stop.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/transport.pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/transport.pause.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/transport.play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/transport.play.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Icons/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Icons/upload.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Lens.Screen-720p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Lens.Screen-720p.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Lens.Screen-WVGA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Lens.Screen-WVGA.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Lens.Screen-WXGA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Lens.Screen-WXGA.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Tiles/FlipCycleTileLarge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Tiles/FlipCycleTileLarge.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Tiles/FlipCycleTileMedium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Tiles/FlipCycleTileMedium.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Assets/Tiles/FlipCycleTileSmall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/Assets/Tiles/FlipCycleTileSmall.png -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Extensions.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2012-2013 Nokia Corporation. All rights reserved. 3 | * Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation. 4 | * Other product and company names mentioned herein may be trademarks 5 | * or trade names of their respective owners. 6 | * See LICENSE.TXT for license information. 7 | */ 8 | 9 | namespace CameraExplorer 10 | { 11 | /// 12 | /// Extensions class contains function extensions to existing types. 13 | /// 14 | public static class Extensions 15 | { 16 | /// 17 | /// Adds functionality to enumerations to print enumeration value name with 18 | /// camelcase letters replaced with lower case letters and spaces added between words. 19 | /// 20 | /// For example "RedEyeReduction" becomes "Red eye reduction". 21 | /// 22 | /// Enumeration type 23 | /// Enumeration instance 24 | /// 25 | public static string EnumerationToParameterName(this T enumeration) 26 | { 27 | string name = enumeration.ToString(); 28 | 29 | for (int i = 1; i < name.Length; i++) 30 | { 31 | char c = name[i]; 32 | 33 | if (c >= 'A' && c <= 'Z') 34 | { 35 | name.Remove(i, 1); 36 | name.Insert(i++, ((char)(c + 0x30)).ToString()); 37 | name.Insert(i, " "); 38 | } 39 | } 40 | 41 | return name; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/LocalizedStrings.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2012-2013 Nokia Corporation. All rights reserved. 3 | * Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation. 4 | * Other product and company names mentioned herein may be trademarks 5 | * or trade names of their respective owners. 6 | * See LICENSE.TXT for license information. 7 | */ 8 | 9 | using CameraExplorer.Resources; 10 | 11 | namespace CameraExplorer 12 | { 13 | public class LocalizedStrings 14 | { 15 | private static AppResources _localizedResources = new AppResources(); 16 | 17 | public AppResources LocalizedResources { get { return _localizedResources; } } 18 | } 19 | } -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/MainPage.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/OverlayTemplateSelector.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2012-2013 Nokia Corporation. All rights reserved. 3 | * Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation. 4 | * Other product and company names mentioned herein may be trademarks 5 | * or trade names of their respective owners. 6 | * See LICENSE.TXT for license information. 7 | */ 8 | 9 | using System.Windows; 10 | using System.Windows.Controls; 11 | 12 | namespace CameraExplorer 13 | { 14 | /// 15 | /// Overlay template selector selects the overlay template for a parameter. See the 16 | /// MainPage.xaml file for the template declarations. 17 | /// 18 | public class OverlayTemplateSelector : ContentControl 19 | { 20 | public DataTemplate ParameterWithoutOverlayTemplate { get; set; } 21 | public DataTemplate ParameterWithOverlayTemplate { get; set; } 22 | 23 | protected override void OnContentChanged(object oldContent, object newContent) 24 | { 25 | ContentTemplate = SelectTemplate(newContent); 26 | 27 | base.OnContentChanged(oldContent, newContent); 28 | } 29 | 30 | /// 31 | /// If parameter has OverlaySource set then a template with an Image XAML control is selected, 32 | /// otherwise a template without an Image control is used. 33 | /// 34 | /// Parameter instance 35 | public DataTemplate SelectTemplate(object item) 36 | { 37 | if ((item as Parameter).OverlaySource != null) 38 | { 39 | return ParameterWithOverlayTemplate; 40 | } 41 | else 42 | { 43 | return ParameterWithoutOverlayTemplate; 44 | } 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Parameter.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2012-2013 Nokia Corporation. All rights reserved. 3 | * Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation. 4 | * Other product and company names mentioned herein may be trademarks 5 | * or trade names of their respective owners. 6 | * See LICENSE.TXT for license information. 7 | */ 8 | 9 | using System.ComponentModel; 10 | using Windows.Phone.Media.Capture; 11 | 12 | namespace CameraExplorer 13 | { 14 | /// 15 | /// Abstract base class for camera parameter handling. 16 | /// 17 | public abstract class Parameter : INotifyPropertyChanged 18 | { 19 | public event PropertyChangedEventHandler PropertyChanged; 20 | 21 | private PhotoCaptureDevice _device; 22 | private string _name; 23 | private string _overlaySource; 24 | private bool _supported = true; 25 | private bool _modifiable = true; 26 | 27 | protected Parameter(PhotoCaptureDevice device, string name) 28 | { 29 | _device = device; 30 | _name = name; 31 | } 32 | 33 | /// 34 | /// Derived parameter classes can use this method to notify about property changes. 35 | /// 36 | /// 37 | protected void NotifyPropertyChanged(string name) 38 | { 39 | if (PropertyChanged != null) 40 | { 41 | PropertyChanged(this, new PropertyChangedEventArgs(name)); 42 | } 43 | } 44 | 45 | /// 46 | /// PhotoCaptureDevice that this parameter was created from and will act on. 47 | /// 48 | public PhotoCaptureDevice Device 49 | { 50 | get 51 | { 52 | return _device; 53 | } 54 | } 55 | 56 | /// 57 | /// Name of the parameter to be displayed in the UI. 58 | /// 59 | public string Name 60 | { 61 | get 62 | { 63 | return _name; 64 | } 65 | } 66 | 67 | /// 68 | /// Name of the parameter in application settings. 69 | /// 70 | public string ParameterSettingName 71 | { 72 | get 73 | { 74 | if (Device.SensorLocation == CameraSensorLocation.Back) 75 | { 76 | return "Back " + Name; 77 | } 78 | else 79 | { 80 | return "Front " + Name; 81 | } 82 | } 83 | } 84 | 85 | /// 86 | /// Path to the overlay icon source used in viewfinder. 87 | /// 88 | public string OverlaySource 89 | { 90 | get 91 | { 92 | return _overlaySource; 93 | } 94 | 95 | protected set 96 | { 97 | if (_overlaySource != value) 98 | { 99 | _overlaySource = value; 100 | 101 | NotifyPropertyChanged("OverlaySource"); 102 | } 103 | } 104 | } 105 | 106 | /// 107 | /// Is this parameter supported by the Device. 108 | /// 109 | public bool Supported 110 | { 111 | get 112 | { 113 | return _supported; 114 | } 115 | 116 | protected set 117 | { 118 | if (_supported != value) 119 | { 120 | _supported = value; 121 | 122 | NotifyPropertyChanged("Supported"); 123 | } 124 | } 125 | } 126 | 127 | /// 128 | /// Is this parameter modifiable in the Device. 129 | /// 130 | public bool Modifiable 131 | { 132 | get 133 | { 134 | return _modifiable; 135 | } 136 | 137 | protected set 138 | { 139 | if (_modifiable != value) 140 | { 141 | _modifiable = value; 142 | 143 | NotifyPropertyChanged("Modifiable"); 144 | } 145 | } 146 | } 147 | 148 | /// 149 | /// Read the parameter information from the Device. 150 | /// 151 | public abstract void Refresh(); 152 | 153 | /// 154 | /// Set parameter default value. 155 | /// 156 | public abstract void SetDefault(); 157 | 158 | /// 159 | /// Set parameter to saved or default value. 160 | /// 161 | public abstract void SetSavedOrDefault(); 162 | 163 | /// 164 | /// Save parameter to application settings. 165 | /// 166 | public abstract void Save(); 167 | 168 | /// 169 | /// Load parameter to application settings. 170 | /// 171 | /// true if setting was loaded successfully, otherwise false. 172 | public abstract bool Load(); 173 | } 174 | } -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/PreviewPage.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 43 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Properties/AppManifest.xml: -------------------------------------------------------------------------------- 1 |  4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | using System.Resources; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("CameraExplorer")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("CameraExplorer")] 14 | [assembly: AssemblyCopyright("Copyright © 2012-2013 Nokia Corporation.")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | 18 | // Setting ComVisible to false makes the types in this assembly not visible 19 | // to COM components. If you need to access a type in this assembly from 20 | // COM, set the ComVisible attribute to true on that type. 21 | [assembly: ComVisible(false)] 22 | 23 | // The following GUID is for the ID of the typelib if this project is exposed to COM 24 | [assembly: Guid("2d591756-7228-46fe-9173-e919bb853412")] 25 | 26 | // Version information for an assembly consists of the following four values: 27 | // 28 | // Major Version 29 | // Minor Version 30 | // Build Number 31 | // Revision 32 | // 33 | // You can specify all the values or you can default the Revision and Build Numbers 34 | // by using the '*' as shown below: 35 | [assembly: AssemblyVersion("1.3.0.0")] 36 | [assembly: AssemblyFileVersion("1.3.0.0")] 37 | [assembly: NeutralResourcesLanguageAttribute("en-US")] 38 | -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Properties/WMAppManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Assets\ApplicationIcon.png 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | Assets\Tiles\FlipCycleTileSmall.png 22 | 0 23 | Assets\Tiles\FlipCycleTileMedium.png 24 | Camera Explorer 25 | 26 | 27 | 28 | 29 | 30 | 31 | Assets\Tiles\FlipCycleTileLarge.png 32 | 33 | 34 | 35 | 36 | 37 | 38 | True 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/Resources/AppResources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.17929 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace CameraExplorer.Resources { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | public class AppResources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal AppResources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | public static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CameraExplorer.Resources.AppResources", typeof(AppResources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | public static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | 63 | /// 64 | /// Looks up a localized string similar to button. 65 | /// 66 | public static string appbar_buttonText { 67 | get { 68 | return ResourceManager.GetString("appbar_buttonText", resourceCulture); 69 | } 70 | } 71 | 72 | /// 73 | /// Looks up a localized string similar to menu item. 74 | /// 75 | public static string appbar_menuItemText { 76 | get { 77 | return ResourceManager.GetString("appbar_menuItemText", resourceCulture); 78 | } 79 | } 80 | 81 | /// 82 | /// Looks up a localized string similar to CAMERA EXPLORER. 83 | /// 84 | public static string ApplicationTitle { 85 | get { 86 | return ResourceManager.GetString("ApplicationTitle", resourceCulture); 87 | } 88 | } 89 | 90 | /// 91 | /// Looks up a localized string similar to viewfinder. 92 | /// 93 | public static string PageTitle { 94 | get { 95 | return ResourceManager.GetString("PageTitle", resourceCulture); 96 | } 97 | } 98 | 99 | /// 100 | /// Looks up a localized string similar to . 101 | /// 102 | public static string String1 { 103 | get { 104 | return ResourceManager.GetString("String1", resourceCulture); 105 | } 106 | } 107 | } 108 | } 109 | -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/SettingsPage.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/SettingsPage.xaml.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2012-2013 Nokia Corporation. All rights reserved. 3 | * Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation. 4 | * Other product and company names mentioned herein may be trademarks 5 | * or trade names of their respective owners. 6 | * See LICENSE.TXT for license information. 7 | */ 8 | 9 | using System; 10 | using System.Collections.Generic; 11 | using System.Collections.ObjectModel; 12 | using System.Linq; 13 | using System.Net; 14 | using System.Windows; 15 | using System.Windows.Controls; 16 | using System.Windows.Documents; 17 | using System.Windows.Input; 18 | using System.Windows.Media; 19 | using System.Windows.Media.Animation; 20 | using System.Windows.Shapes; 21 | using Microsoft.Phone.Controls; 22 | using Windows.Phone.Media.Capture; 23 | using Microsoft.Phone.Shell; 24 | 25 | namespace CameraExplorer 26 | { 27 | /// 28 | /// Settings page displays UI controls for all instantiated parameter objects. 29 | /// 30 | public partial class SettingsPage : PhoneApplicationPage 31 | { 32 | CameraExplorer.DataContext _dataContext = CameraExplorer.DataContext.Singleton; 33 | 34 | public SettingsPage() 35 | { 36 | InitializeComponent(); 37 | 38 | DataContext = _dataContext; 39 | } 40 | 41 | /// 42 | /// When navigating to this page, if camera has not been initialized (for example returning from 43 | /// tombstoning), application will navigate directly back to the main page. 44 | /// 45 | protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 46 | { 47 | if (_dataContext.Device == null) 48 | { 49 | NavigationService.GoBack(); 50 | } 51 | 52 | base.OnNavigatedTo(e); 53 | } 54 | 55 | /// 56 | /// Clicking on the reset button causes SetDefault to be called on all parameter instances. 57 | /// 58 | private void resetItem_Click(object sender, EventArgs e) 59 | { 60 | SetScreenButtonsEnabled(false); 61 | 62 | foreach (Parameter i in _dataContext.Parameters) 63 | { 64 | i.SetDefault(); 65 | } 66 | 67 | SetScreenButtonsEnabled(true); 68 | } 69 | 70 | /// 71 | /// Enables or disabled on-screen controls. 72 | /// 73 | /// True to enable controls, false to disable controls. 74 | private void SetScreenButtonsEnabled(bool enabled) 75 | { 76 | foreach (ApplicationBarIconButton b in ApplicationBar.Buttons) 77 | { 78 | b.IsEnabled = enabled; 79 | } 80 | } 81 | } 82 | } -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/SettingsTemplateSelector.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2012-2013 Nokia Corporation. All rights reserved. 3 | * Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation. 4 | * Other product and company names mentioned herein may be trademarks 5 | * or trade names of their respective owners. 6 | * See LICENSE.TXT for license information. 7 | */ 8 | 9 | using System.Windows; 10 | using System.Windows.Controls; 11 | 12 | namespace CameraExplorer 13 | { 14 | /// 15 | /// Settings template selector selects the appropriate UI control tempalate for a parameter. 16 | /// See the SettingsPage.xaml file for the template declarations. 17 | /// 18 | public class SettingsTemplateSelector : ContentControl 19 | { 20 | public DataTemplate ArrayParameterTemplate { get; set; } 21 | public DataTemplate RangeParameterTemplate { get; set; } 22 | public DataTemplate UnsupportedParameterTemplate { get; set; } 23 | 24 | protected override void OnContentChanged(object oldContent, object newContent) 25 | { 26 | ContentTemplate = SelectTemplate(newContent); 27 | 28 | base.OnContentChanged(oldContent, newContent); 29 | } 30 | 31 | /// 32 | /// If parameter is not supported or modifiable, it is not displayed in the UI, and thus 33 | /// the unsupported parameter template is used. If Parameter is supported and modifiable, 34 | /// then the decision between the template is done on basis of the type of the parameter. 35 | /// 36 | /// Parameter instance 37 | public DataTemplate SelectTemplate(object item) 38 | { 39 | Parameter parameter = item as Parameter; 40 | 41 | if (parameter.Supported && parameter.Modifiable) 42 | { 43 | if (parameter is ArrayParameter) 44 | { 45 | return ArrayParameterTemplate; 46 | } 47 | else 48 | { 49 | return RangeParameterTemplate; 50 | } 51 | } 52 | else 53 | { 54 | return UnsupportedParameterTemplate; 55 | } 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/SplashScreenImage.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lab11/vlc-localization/345192d3265a17d0360263416888ca0fcb788b0f/apps/winphone/CameraExplorer/SplashScreenImage.jpg -------------------------------------------------------------------------------- /apps/winphone/CameraExplorer/UploadSettingsPage.xaml: -------------------------------------------------------------------------------- 1 |  15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 34 | 35 |