All Projects → erengy → anisthesia

erengy / anisthesia

Licence: MIT license
Media detection library

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to anisthesia

galio-starter-kit
Galio's starter kit is an app you can use to see what you can create with our library
Stars: ✭ 156 (+387.5%)
Mutual labels:  work-in-progress
craftr
The core framework for the Craftr build system.
Stars: ✭ 1 (-96.87%)
Mutual labels:  work-in-progress
bound
Data-binding made easy
Stars: ✭ 21 (-34.37%)
Mutual labels:  work-in-progress
spring-boot-jpa
A Spring Boot microservices reference application using Spring Data JPA
Stars: ✭ 25 (-21.87%)
Mutual labels:  work-in-progress
Vrtk
*Beta* - An example of how to use the Tilia packages to create great content with VRTK v4.
Stars: ✭ 3,422 (+10593.75%)
Mutual labels:  work-in-progress
vscode-xslt-tokenizer
VSCode extension for highlighting XSLT and XPath (upto 3.0/3.1)
Stars: ✭ 37 (+15.63%)
Mutual labels:  work-in-progress
slingr
A simple CLI for UPnP media file streaming
Stars: ✭ 32 (+0%)
Mutual labels:  work-in-progress
consul-registration-hook
Hook that can be used for synchronous registration and deregistration in Consul discovery service on Kubernetes or Mesos cluster with Allegro executor
Stars: ✭ 17 (-46.87%)
Mutual labels:  work-in-progress
cpptoswift
Hack that'll hopefully one day auto-generate a Swift wrapper around C++ source code.
Stars: ✭ 13 (-59.37%)
Mutual labels:  work-in-progress
PS OPNsense
PowerShell Module for OPNsense REST api
Stars: ✭ 27 (-15.62%)
Mutual labels:  work-in-progress
nes-emulator
🛠 [WIP] The Nintendo Entertainment System emulator written in Rust
Stars: ✭ 12 (-62.5%)
Mutual labels:  work-in-progress
finetuneAlexVGG
Finetune ConvNets with Tensorflow
Stars: ✭ 20 (-37.5%)
Mutual labels:  work-in-progress
reggie
Stata-like Regression Functionality for R
Stars: ✭ 24 (-25%)
Mutual labels:  work-in-progress
tangerine
A work-in-progress music player for the Nintendo 3DS and Nintendo Switch
Stars: ✭ 20 (-37.5%)
Mutual labels:  work-in-progress
vonuvoli-scheme
vonuvoli Scheme -- an R7RS interpreter written in Rust focused on systems programming and scripting (i.e. processes, file-system, etc.) with performance and safety in mind
Stars: ✭ 81 (+153.13%)
Mutual labels:  work-in-progress
ltjs
LithTech Jupiter System
Stars: ✭ 37 (+15.63%)
Mutual labels:  work-in-progress
smalldragon
[Work in Progress] Toy Compiler <3
Stars: ✭ 23 (-28.12%)
Mutual labels:  work-in-progress
FSharpWrap
Utility that automatically generates F# modules and functions based on your F# project file's references
Stars: ✭ 14 (-56.25%)
Mutual labels:  work-in-progress
sanzo-wada
🎨 Interactive version of Sanzo Wada's - "A Dictionary of Color Combinations"
Stars: ✭ 139 (+334.38%)
Mutual labels:  work-in-progress
linguistic-datasets-portuguese
Linguistic Datasets for Portuguese: Lista de conjuntos de dados linguísticos para língua portuguesa com licença flexíveis: banco de dados, lista de palavras, sinônimos, antônimos, dicionário temático, tesauro, linked data, semântica, ontologia e representação de conhecimento
Stars: ✭ 46 (+43.75%)
Mutual labels:  work-in-progress

Anisthesia

Anisthesia is a media detection library for Windows.

  • Detects running media players and web browsers
  • Retrieves information about the currently playing video

Usage

This is a work in progress. Usage in public applications is not yet recommended.

#include <iostream>
#include <vector>
#include <anisthesia.hpp>

int main() {
  std::vector<anisthesia::Player> players;
  if (!anisthesia::ParsePlayersFile("data/players.anisthesia", players)) {
    return 1;
  }

  const auto media_proc = [](const anisthesia::MediaInfo&) {
    return true;  // Accept all media
  };

  std::vector<anisthesia::win::Result> results;
  if (!anisthesia::win::GetResults(players, media_proc, results)) {
    return 1;
  }

  const auto get_type = [](const anisthesia::MediaInfoType& type) {
    switch (type) {
      case anisthesia::MediaInfoType::File: return "File";
      case anisthesia::MediaInfoType::Tab: return "Tab";
      case anisthesia::MediaInfoType::Title: return "Title";
      case anisthesia::MediaInfoType::Url: return "URL";
      default: return "Other";
    }
  };

  for (const auto& result : results) {
    std::cout << result.player.name << '\n';
    for (const auto& media : result.media) {
      for (const auto& information : media.information) {
        std::cout << "\t" << get_type(information.type);
        std::cout << "\t\"" << information.value << "\"\n";
      }
    }
  }

  return 0;
}

License

Licensed under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].