Skip to content

Instantly share code, notes, and snippets.

View nariakiiwatani's full-sized avatar

nariakiiwatani nariakiiwatani

View GitHub Profile
import Foundation
extension String {
func regexEscaped() -> String {
var str: String = self
"\\*+.?{}()[]-|$".forEach{
let s = String($0)
str = str.replacingOccurrences(of: s, with: "\\"+s)
}
return str
#pragma once
#include "ofxWatchFile.h"
#include "ofxJsonUtils.h"
#define KVCS1(name) kv(name)
#define KVCS2(name, ...) KVCS1(name), KVCS1(__VA_ARGS__)
#define KVCS3(name, ...) KVCS1(name), KVCS2(__VA_ARGS__)
#define KVCS4(name, ...) KVCS1(name), KVCS3(__VA_ARGS__)
vector<float> getVolumes(const ofVec3f &pos, const vector<ofVec3f> &speakers, float rolloff, float blur_radius) {
vector<float> volumes;
float sum = 0;
transform(begin(speakers), end(speakers), back_inserter(volumes), [&sum, pos, rolloff, blur_radius](const ofVec3f &speaker) {
const float rolloff_default = 20*log10f(0.5f);
float power = pow(sqrt(pos.squareDistance(speaker)+pow(blur_radius,2)), rolloff/rolloff_default);
sum += pow(power,2);
return power;
});
sum = sqrt(sum);
class Stepper
{
public:
void setFps(float fps) { step_time_ = 1/fps; }
void play() { is_playing_ = true; }
void step() { time_counter_+=step_time_; }
void stop() { is_playing_=false; time_counter_=0; }
void update(float elapsed_time) {
steps_past_ = 0;
if(isPlaying()) {
#pragma once
#include "ofxMultiKinectV2.h"
#include "ofxCv.h"
class Kinect : public ofxMultiKinectV2
{
public:
template<typename PixelType>
ofPixels_<PixelType> getClippedPixels(const ofRectangle &crop_rect, unsigned short min_distance_in_mm, unsigned short max_distance_in_mm) {
#pragma once
template<typename T>
class DoubleBuffer
{
public:
DoubleBuffer():front_(&a_),back_(&b_){}
void swap() { T*t=front_;front_=back_;back_=t;; }
T& front() { return *front_; }
T& back() { return *back_; }
#pragma once
class TapTempo
{
public:
void tap() {
float time = ofGetSystemTime();
interval_ = mark_-time;
mark_ = time;
}
@nariakiiwatani
nariakiiwatani / renameLayer.jsx
Last active August 29, 2015 14:27 — forked from sacrifs/renameLayer.jsx
レイヤー名置換 JSX
/**
* レイヤー名置換 JSX
*/
var _layers = [];
function main(dialog){
var document = activeDocument;
var layers = document.layers;
getLayer(layers);
#pragma once
#include "ofEventUtils.h"
#include "ofEvents.h"
#include "ofAppRunner.h"
template<typename T>
class Animation
{
public:
#pragma once
#include "ofUtils.h"
class SimpleFrequencyDetector : public vector<float>
{
public:
SimpleFrequencyDetector():buffer_size_(0) {
timestamp_ = ofGetElapsedTimef();
}