Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Python JavaScript C++ C Arduino Haskell Other
Branch: Heartbeat
Pull request Compare This branch is 340 commits behind master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


This is the Vicarious source repository.

Vicarious is an architecture for developing applications using many different 
sensors or other input devices.

If you want to know more, email:

Subfolders that you might need to know about

Vicarious : the main Vicarious code tree
-- Apps :           Apps developed using the vicarious architecture
---- Tugomatic:     Brain controlled tug of war game.
-- Docs :           Documentation relating to vicarious & the generalrendererer
-- Renderer:        Deprecated - this was the custom renderer app used for 'The Experiment' in Oct 2011.
-- fakevilistus :   App which pretends to be a 'Vilistus' biosensing device (for testing)
-- config-files:    Configuration files, for use with processstarter (see below)

-- Vicarious:       Generic vicarious architecture things
---- Comms:             Classes for making connections within the Vicarious architecture (senders / receivers etc.)
---- Collectors:        Programs for getting data from devices and exposing them as streams within the Vicarious architecture
                        Currently existing: 
                            Nexus medical biosensing device
                            Vilistus multiple biosensing device
                            Emotiv eeg headset
---- Consumers:         Programs and base classes for consuming data within the Vicarious architecture 
---- Processors:        Programs and base classes for things that take data streams in, process them and expose new datastreams
---- GUI:               Architectural things that have a gui, such as the 'ProcessStarter', which starts up
                        a bunch of processes based on xml config files.
---- DataStore:         A database that uses the Vicarious stream API and stores data in an sqlite3 database. 
                        The python datastore is currently not fully functional, and is much slower than fastdatastore.exe,
                        so use fastdatastore in preference to it.
                        There is also DataStoreConnection, which is a jolly handy class to connect to datastores.
------ FastDataStore:   Fast datastore, coded in C++. Puts the executable into DataStore directory.

-- GeneralRenderer: A generic renderer app, for displaying data sources and record/replaying them using a datastore
---- blackmagic: Python capture of audio and video from BlackMagic Design DeckLink cards (uses ctypes for high efficiency)
---- directshow: Python capture of directshow audio and video
---- vlc: Loading video into Python using VLC back end
---- infodisplay: Display of graphics and text on Logitech Gaming Keyboard mini displays
---- freetype: Freetype font loading classes
---- videowriters: Quite efficient FFMPeg based writing of video and audio into mpeg4 MOV files. 
    (MPEG4 compression / writing is handled in separate processes)
---- replay: Code relating to control of replay and choosing streams to replay from database sessions
---- Components: Types of display components (line graph, bar chart, brain heatmap, video display etc.)
------ Dialogs: Dialogs (such as creating components, setting up DB connections etc.)

Lucky Luke, biofeed, biofile - specific stuff for various projects (some of it out of date)
Something went wrong with that request. Please try again.