Skip to content

Instantly share code, notes, and snippets.

View artgillespie's full-sized avatar
🎯
Focusing

Art Gillespie artgillespie

🎯
Focusing
View GitHub Profile
@artgillespie
artgillespie / gist:1158572
Created August 20, 2011 03:01
get ip address of device
- (NSString *)getIPAddress
{
NSString *address = @"error";
struct ifaddrs *interfaces = NULL;
struct ifaddrs *temp_addr = NULL;
int success = 0;
// retrieve the current interfaces - returns 0 on success
success = getifaddrs(&interfaces);
if (success == 0)
@artgillespie
artgillespie / gist:1226891
Created September 19, 2011 16:28
Testing Embedded Gists
ESTrack *esTrack = [[ESTrack alloc] initWithFileName:fileName serviceName:serviceName];
// artwork
iTunesArtwork *artwork = [track.artworks objectAtIndex:0];
if (artwork) {
NSURL *artworkPath;
artworkPath = [self artworkPath:persistantID];
[self cacheArtwork:artwork toPath:artworkPath];
// end block;
esTrack.artworkName = [artworkPath lastPathComponent];
@artgillespie
artgillespie / gist:1272941
Created October 8, 2011 21:59
non-interleaved 32-bit floats for RemoteIO
AudioStreamBasicDescription outputStreamDesc;
outputStreamDesc.mSampleRate = 44100.;
outputStreamDesc.mBitsPerChannel = 32;
outputStreamDesc.mBytesPerFrame = 4;
outputStreamDesc.mBytesPerPacket = 4;
outputStreamDesc.mChannelsPerFrame = 2;
outputStreamDesc.mFormatFlags = kAudioFormatFlagIsFloat | kAudioFormatFlagIsNonInterleaved;
outputStreamDesc.mFormatID = kAudioFormatLinearPCM;
outputStreamDesc.mFramesPerPacket = 1;
outputStreamDesc.mReserved = 0;
@artgillespie
artgillespie / rmws
Created November 24, 2011 20:52
Remove trailing whitespace from all source files under the current dir
#!/bin/sh
#
# Removes trailing whitespace from all source files in the current directory and its children.
# Note the `-i .bak` switch to sed. This will create a backup copy alongside any modified files
# like `Somefile.cpp.bak` Simply remove the `.bak` argument to `-i` to prevent the backup
# files from being generated
#
/usr/bin/find . -type f -and \( -name '*.m' -or -name '*.h' -or -name '*.mm' -or -name '*.cpp' -or -name '*.c' \) -and -print0 | xargs -0 sed -i .bak -E "s/[[:space:]]+$//"
OSStatus TSAudioEngine::render(AudioUnitRenderActionFlags *ioActionFlags,
const AudioTimeStamp *inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList *ioData) {
OSStatus err = noErr;
for (int ii = 0; ii < ioData->mNumberBuffers; ++ii) {
vDSP_vclr(static_cast<float *>(ioData->mBuffers[ii].mData), 1, inNumberFrames);
}
dispatch_async(dispatch_get_main_queue(), ^{
// do your UI shizzle in here, yo...
}
int max;
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &max);
@interface MyClass()
void ThisIsObviouslyNotAnObjectiveCMethod(const char *someParam, int someOtherParam);
@end
@implementation MyClass
void ThisIsObviouslyNotAnObjectiveCMethod(const char *someParam, int someOtherParam) {
// some code that doesn't even have access to MyClass instance as `self`
@artgillespie
artgillespie / app.js
Created February 28, 2015 02:44
Integrating socket.io with Express.js sessions.
/*jslint unparam:true, node:true*/
'use strict';
var express = require('express'),
session = require('express-session'),
cookie = require('cookie'),
cookieParser = require('cookie-parser');
var app = express();
@artgillespie
artgillespie / keybase.md
Last active December 14, 2016 21:40
keybase verification

Keybase proof

I hereby claim:

  • I am artgillespie on github.
  • I am artgillespie (https://keybase.io/artgillespie) on keybase.
  • I have a public key ASArf7vE484J64Md1HcCDqROgYUKX_bYCD_NGyygCXGZSgo

To claim this, I am signing this object: