<commit_before>ProjectTimeCone
===============

An interactive installation that use multiple cameras to create a bullet-time like effect using frame interpolation.

### Setup development environment Windows (7, 8) 

- Download [openFrameworks 0.7.4](http://www.openframeworks.cc/download) for 
  [win vs2010](http://www.openframeworks.cc/versions/v0.7.4/of_v0.7.4_vs2010_release.zip)
  or [mac](http://www.openframeworks.cc/versions/v0.7.4/of_v0.7.4_osx_release.zip), 
  and extract it to: `c:\projects\ProjectTimeCone`

- Clone the repository:

````sh
$ cd c:\projects\ProjectTimeCone\apps
$ git clone <EMAIL>:HellicarAndLewis/ProjectTimeCone.git

$ cd ProjectTimeCone
$ git submodule init
$ git submodule update

$ cd addons/roxlu
$ git checkout master

````

### Setup Runtime-VideoEncoer

- [Download the nightly of libav (from 2013.07.24).](http://win32.libav.org/win32/libav-win32-20130724.7z)
- After extracting the package copy **all the dll files** and the **avconv.exe** to `c:\projects\ProjectTimeCone\apps\ProjectTimeCone\Runtime-VideoEncoder\bin\avconv\win\`
- To compile, open a VS2010 terminal, go to `Runtime-VideoEncoder/build/cmake/` and execute `build_release.bat` or `build_debug.bat`


### Setup Runtime-YouTube

- Create a Google Application:
  - Go to [Google API Console](https://code.google.com/apis/console) and create a new project. [See this page](https://developers.google.com/youtube/registering_an_application) for more information on how to do that (just 2 steps)
  - Make sure that you enable the **YouTube Data API v3** in the servics pane.
  - Click on the **API Access** menu item, then on that big blue button **Create an oAuth client ID...**, create an `installed application`
- Go to `c:\projects\ProjectTimeCone\apps\ProjectTimeCone\Runtime-YouTube\bin\data` and copy `youtube_example.cfg` to `youtube.cfg`
- After you've created a YouTube application, open the `youtube.cfg` file and copy the `client ID` and `client SECRET` into this file. Next step is to authorize this application by an specifc google account. 
- Open `apps\ProjectTimeCone\addons\roxlu\addons\YouTube\html\index.html` in Chrome, paste the `client ID` into the field and press `GO`. Accept the permission popup, and copy the `auth-code` you get into `youtube.cfg`.
- To compile, open a VS2010 terminal, go to `Runtime-YouTube/build/cmake/` and execute `build_release.bat` or `build_debug.bat`


### Setup Test-YouTubeClientIPC

- Make sure the destination path for the frames exists: `Test-YouTubeClientIPC\bin\data\frames\` if not, create it.
- Compile the app + run it (open project file in VS2010 or XCode)

### Updating changes made in a submodule

Before you commit your changes, check if you are working in a branch or not. By default,
after doing `git submodule update` you're not working in a brnach. 

_Check if you're working in a branch_

````sh
$ cd submodule
$ git branch -a
````

_Not working in a branch_

````sh
$ cd submodule
$ git checkout master<commit_msg>updating readme<commit_after>ProjectTimeCone
===============

An interactive installation that use multiple cameras to create a bullet-time like effect using frame interpolation.

### Get the right development tools
 - Download CMake 2.8+
 - Download Git 

#### Windows 7
- For Windows 7 download [openFrameworks 0.7.4](http://www.openframeworks.cc/download) for  [win vs2010](http://www.openframeworks.cc/versions/v0.7.4/of_v0.7.4_vs2010_release.zip)

#### Windows 8
 - Download and install the _MicroSoft VisualStudio C++ Redistributable Package (x86)_ [link](http://www.microsoft.com/en-us/download/details.aspx?id=5555) and extract it to: `c:\projects\ProjectTimeCone`
 - For Windows 8, clone the current OF git repository and make sure you have this revision: 5125fdf5c1e52659690497b0bfaceafb17f8143a (git checkout 5125fdf5c1e52659690497b0bfaceafb17f8143a )
 - Install Visual Studio 2012 Professional Trial (you can use it for 90 days)

#### Mac
 - Download the [mac](http://www.openframeworks.cc/versions/v0.7.4/of_v0.7.4_osx_release.zip) version. 

- Clone the repository:

````sh
$ cd c:\projects\ProjectTimeCone\apps
$ git clone <EMAIL>:HellicarAndLewis/ProjectTimeCone.git

$ cd ProjectTimeCone
$ git submodule init
$ git submodule update

$ cd addons/roxlu
$ git checkout master

````

### Setup Runtime-VideoEncoder

- [Download the nightly of libav (from 2013.07.24).](http://win32.libav.org/win32/libav-win32-20130724.7z)
- After extracting the package copy **all the dll files** and the **avconv.exe** to `c:\projects\ProjectTimeCone\apps\ProjectTimeCone\Runtime-VideoEncoder\bin\avconv\win\`
- To compile, open a VS2010/VS2012 terminal, go to `Runtime-VideoEncoder/build/cmake/` and execute `build_release.bat` or `build_debug.bat`


### Setup Runtime-YouTube

- Create a Google Application:
  - Go to [Google API Console](https://code.google.com/apis/console) and create a new project. [See this page](https://developers.google.com/youtube/registering_an_application) for more information on how to do that (just 2 steps)
  - Make sure that you enable the **YouTube Data API v3** in the servics pane.
  - Click on the **API Access** menu item, then on that big blue button **Create an oAuth client ID...**, create an `installed application`
- Go to `c:\projects\ProjectTimeCone\apps\ProjectTimeCone\Runtime-YouTube\bin\data` and copy `youtube_example.cfg` to `youtube.cfg`
- After you've created a YouTube application, open the `youtube.cfg` file and copy the `client ID` and `client SECRET` into this file. Next step is to authorize this application by an specifc google account. 
- Open `apps\ProjectTimeCone\addons\roxlu\addons\YouTube\html\index.html` in Chrome, paste the `client ID` into the field and press `GO`. Accept the permission popup, and copy the `auth-code` you get into `youtube.cfg`.
- To compile, open a VS2010 terminal, go to `Runtime-YouTube/build/cmake/` and execute `build_release.bat` or `build_debug.bat`

_Install the Runtime-YouTube as a service_
- Open a Command Prompt as Administrator (from start screen, search for `cmd.exe`, then right click and select Run as Administrator from bottom menu
- Type: `sc create "YouTubeUploader" binpath= "C:\projects\ProjectTimeCone\apps\ProjectTimeCone\Runtime-YouTube\bin\Runtime-YouTube.exe"
  [SC] CreateService SUCCESS

_Start/stop the YouTubeUploader_
- `net start YouTubeUploader`
- `net stop YouTubeUploader`

### Setup Test-YouTubeClientIPC

- Make sure the destination path for the frames exists: `Test-YouTubeClientIPC\bin\data\frames\` if not, create it.
- Compile the app + run it (open project file in VS2010 or XCode)

### Updating changes made in a submodule

Before you commit your changes, check if you are working in a branch or not. By default,
after doing `git submodule update` you're not working in a brnach. 

_Check if you're working in a branch_

````sh
$ cd submodule
$ git branch -a
````

_Not working in a branch_

````sh
$ cd submodule
$ git checkout master
{'fraction_non_alphanumeric': 0.10924248957884146, 'fraction_numerical': 0.027598102630444158, 'mean_word_length': 4.553072625698324, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 4, 'lorem ipsum': 0, 'www.': 7, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 11, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4679655', 'n_tokens_mistral': 2312, 'n_tokens_neox': 2130, 'n_words': 761}