Skip to content

Instantly share code, notes, and snippets.

@yairchu
yairchu / AudioProcessorUndoAttachment.cpp
Last active February 16, 2025 21:25
AudioProcessorUndoAttachment for JUCE
#include "AudioProcessorUndoAttachment.h"
using namespace juce;
class AudioProcessorUndoAttachment::ChangeAction : public UndoableAction
{
public:
ChangeAction (AudioProcessor*);
bool perform() override;
@yairchu
yairchu / TransparentOpenGLComponent.cpp
Last active March 17, 2024 21:31
Transparent OpenGL Component for JUCE
#include "TransparentOpenGLComponent.h"
using namespace juce;
TransparentOpenGLComponent::TransparentOpenGLComponent()
{
openGLContext.setComponentPaintingEnabled (true);
openGLContext.setRenderer (this);
openGLContext.setContinuousRepainting (true);
openGLContext.attachTo (*this);
@yairchu
yairchu / CalCache.hs
Created August 1, 2012 11:34
Helper monad for cached computations on data that may change in small delta
{-# LANGUAGE FlexibleContexts, FlexibleInstances, GADTs, TypeFamilies #-}
module CalCache
( Ref(..)
, Calc, NoCache, Cache
, get, hasEq
, toCache, updateCache
, calcCacheResult
) where
@yairchu
yairchu / problem-c-large.hs
Created May 6, 2012 19:13
Google Code Jam 2012 1C Problem C
import Control.Applicative
import Control.Arrow (first, second)
import Control.Monad
import Data.Function (on)
import Data.Array
import Data.Monoid
import Data.Ord
import Data.Ratio
import Debug.Trace
import Text.Printf
@yairchu
yairchu / stringFixer.hs
Created November 12, 2011 13:42
script to fix juce LLVM compilation issues wrt string literals
import Control.Monad
import Control.Monad.ListT
import Data.List (intercalate, isPrefixOf, isSuffixOf)
import Data.List.Class
import System.Directory.ListTree
import System.FilePath
import System.IO.Strict
import Prelude hiding (filter, readFile, scanl1)
cStringSplitter :: String -> [String]
@yairchu
yairchu / SimpleAdmin.hs
Created October 20, 2011 10:12
admin CRUD interface for yesod
{-# LANGUAGE FlexibleContexts, FlexibleInstances, MultiParamTypeClasses, QuasiQuotes, TemplateHaskell, TypeFamilies, UndecidableInstances #-}
module SimpleAdmin where
import Data.Monoid (Monoid(..))
import Data.String (IsString(fromString))
import Data.Text (Text)
import Language.Haskell.TH.Syntax
import Database.Persist.Base (EntityDef(..), SomePersistField(..), PersistValue(..), ColumnDef(columnName))
@yairchu
yairchu / test.hs
Created May 31, 2011 21:27
GHC performance mysteries
import Control.Monad (MonadPlus(mzero))
import Control.Monad.ListT (ListT)
import Data.Copointed
import Data.List.Class
import Prelude hiding (enumFromTo)
-- This is exactly the same as Data.List.Class.enumFromTo
pastedEnumFromTo :: (List l, Enum a) => a -> a -> l a
pastedEnumFromTo from to
| fromEnum from > fromEnum to = mzero