CyberPlant 0
#DDH, based on code from Adafruit industries, mrGPL

import os,glob

import pygame

DRUM_FOLDER = "KidsDay/drums2"

BANK = os.path.join(os.path.dirname(__file__), DRUM_FOLDER)


pygame.mixer.init(44100, -16, 1, 512)



files = glob.glob(os.path.join(BANK, "*.wav"))



samples = [pygame.mixer.Sound(f) for f in files]



import sys

import time


import Adafruit_MPR121.MPR121 as MPR121

print('Adafruit MPR121 Capacitive Touch Sensor Test')


# Create MPR121 instance.

cap = MPR121.MPR121()


if not cap.begin():

    print('Error initializing MPR121.  Check your wiring!')



def handle_hit(sensor_id):

    # is a zero based channel index for each pad

    # event.pad is the pad number from 1 to 8


    print("You hit pad {}, playing: {}".format(sensor_id,files[sensor_id]))


# Alternatively, specify a custom I2C address such as 0x5B (ADDR tied to 3.3V),

# 0x5C (ADDR tied to SDA), or 0x5D (ADDR tied to SCL).



# Also you can specify an optional I2C bus with the bus keyword parameter.



# Main loop to print a message every time a pin is touched.

print('Press Ctrl-C to quit.')

last_touched = cap.touched()

while True:

    current_touched = cap.touched()

    # Check each pin's last and current state to see if it was pressed or released.

    for i in range(12):

        # Each pin is represented by a bit in the touched value.  A value of 1

        # means the pin is being touched, and 0 means it is not being touched.

        pin_bit = 1 << i

        # First check if transitioned from not touched to touched.

        if current_touched & pin_bit and not last_touched & pin_bit:

            print('{0} touched!'.format(i))


        # Next check if transitioned from touched to not touched.

        if not current_touched & pin_bit and last_touched & pin_bit:

            print('{0} released!'.format(i))

    # Update last state and wait a short period before repeating.

    last_touched = current_touched