Example #1
0
    def __init__(self,
                 experiment,
                 osc="sine",
                 freq=440,
                 length=100,
                 attack=0,
                 decay=5):

        if experiment.debug:
            print "synth.__init__(): morphing into openexp._synth.%s" % experiment.synth_backend
            exec("import openexp._synth.%s" % experiment.synth_backend)
            self.__class__ = eval(
                "openexp._synth.%s.%s" %
                (experiment.synth_backend, experiment.synth_backend))
        else:
            try:
                exec("import openexp._synth.%s" % experiment.synth_backend)
                self.__class__ = eval(
                    "openexp._synth.%s.%s" %
                    (experiment.synth_backend, experiment.synth_backend))
            except Exception as e:
                raise exceptions.canvas_error(
                    "Failed to import 'openexp._synth.%s' as synth backend.<br /><br />Error: %s"
                    % (experiment.backend, e))

        exec(
            "openexp._synth.%s.%s.__init__(self, experiment, osc, freq, length, attack, decay)"
            % (experiment.synth_backend, experiment.synth_backend))
Example #2
0
	def __init__(self, experiment, buttonlist = None, timeout = None, visible = False):
	
		if experiment.debug:
			print "mouse.__init__(): morphing into openexp._mouse.%s" % experiment.mouse_backend				
			exec("import openexp._mouse.%s" % experiment.mouse_backend)
			self.__class__ = eval("openexp._mouse.%s.%s" % (experiment.mouse_backend, experiment.mouse_backend))					
		else:
			try:
				exec("import openexp._mouse.%s" % experiment.mouse_backend)
				self.__class__ = eval("openexp._mouse.%s.%s" % (experiment.mouse_backend, experiment.mouse_backend))
			except Exception as e:
				raise exceptions.canvas_error("Failed to import 'openexp._mouse.%s' as mouse backend.<br /><br />Error: %s" % (experiment.backend, e))		
											
		exec("openexp._mouse.%s.%s.__init__(self, experiment, buttonlist, timeout, visible)" % (experiment.mouse_backend, experiment.mouse_backend))
Example #3
0
	def __init__(self, experiment, osc = "sine", freq = 440, length = 100, attack = 0, decay = 5):
	
		if experiment.debug:
			print "synth.__init__(): morphing into openexp._synth.%s" % experiment.synth_backend				
			exec("import openexp._synth.%s" % experiment.synth_backend)
			self.__class__ = eval("openexp._synth.%s.%s" % (experiment.synth_backend, experiment.synth_backend))					
		else:
			try:
				exec("import openexp._synth.%s" % experiment.synth_backend)
				self.__class__ = eval("openexp._synth.%s.%s" % (experiment.synth_backend, experiment.synth_backend))
			except Exception as e:
				raise exceptions.canvas_error("Failed to import 'openexp._synth.%s' as synth backend.<br /><br />Error: %s" % (experiment.backend, e))	
											
		exec("openexp._synth.%s.%s.__init__(self, experiment, osc, freq, length, attack, decay)" % (experiment.synth_backend, experiment.synth_backend))
Example #4
0
	def __init__(self, experiment, keylist = None, timeout = None):
	
		if experiment.debug:
			print "keyboard.__init__(): morphing into openexp._keyboard.%s" % experiment.keyboard_backend				
			exec("import openexp._keyboard.%s" % experiment.keyboard_backend)
			self.__class__ = eval("openexp._keyboard.%s.%s" % (experiment.keyboard_backend, experiment.keyboard_backend))					
		else:
			try:
				exec("import openexp._keyboard.%s" % experiment.keyboard_backend)
				self.__class__ = eval("openexp._keyboard.%s.%s" % (experiment.keyboard_backend, experiment.keyboard_backend))
			except Exception as e:
				raise exceptions.canvas_error("Failed to import 'openexp._keyboard.%s' as keyboard backend.<br /><br />Error: %s" % (experiment.backend, e))		
															
		exec("openexp._keyboard.%s.%s.__init__(self, experiment, keylist, timeout)" % (experiment.keyboard_backend, experiment.keyboard_backend))
Example #5
0
def init_display(experiment):

	"""See openexp._canvas.legacy"""
	
	if experiment.resolution() != resolution:
		raise canvas_error( \
		'The droid back-end requires a resolution of %d x %d. Your display will be scaled automatically to fit devices with different resolutions.' \
		% resolution)

	# Intialize PyGame
	if not pygame.display.get_init():
		pygame.init()
	experiment.window = pygame.display.set_mode(resolution)	
	experiment.surface = pygame.display.get_surface()	
	# Set the time functions to use pygame
	experiment._time_func = pygame.time.get_ticks
	experiment._sleep_func = pygame.time.delay
	experiment.time = experiment._time_func
	experiment.sleep = experiment._sleep_func
	# Initialze the Android device if necessary
	if android != None:
		android.init()
		android.map_key(android.KEYCODE_BACK, pygame.K_ESCAPE)
		dpi = android.get_dpi()
	else:
		# A dummy dpi if we are not on Android
		dpi = 96
	# Log the device characteristics
	info = pygame.display.Info()
	diag = hypot(info.current_w, info.current_h) / dpi
	if diag < 6: # 6" is the minimum size to be considered a tablet
		is_tablet = 'yes'
	else:
		is_tablet = 'no'
	experiment.set('device_resolution_width', info.current_w)
	experiment.set('device_resolution_height', info.current_h)
	experiment.set('device_dpi', dpi)
	experiment.set('device_screen_diag', diag)
	experiment.set('device_is_tablet', is_tablet)
		
	# Start with a splash screen		
	splash = pygame.image.load(experiment.resource('android-splash.jpg'))
	x = resolution[0]/2 - splash.get_width()/2
	y = resolution[1]/2 - splash.get_height()/2
	experiment.surface.blit(splash, (x,y))	
	for i in range(10):
		pygame.display.flip()
		pygame.time.delay(100)
	if android != None and android.check_pause():
		android.wait_for_resume()
Example #6
0
def init_display(experiment):
    """See openexp._canvas.legacy"""

    if experiment.resolution() != resolution:
        raise canvas_error( \
        'The droid back-end requires a resolution of %d x %d. Your display will be scaled automatically to fit devices with different resolutions.' \
        % resolution)

    # Intialize PyGame
    if not pygame.display.get_init():
        pygame.init()
    experiment.window = pygame.display.set_mode(resolution)
    experiment.surface = pygame.display.get_surface()
    # Set the time functions to use pygame
    experiment._time_func = pygame.time.get_ticks
    experiment._sleep_func = pygame.time.delay
    experiment.time = experiment._time_func
    experiment.sleep = experiment._sleep_func
    # Initialze the Android device if necessary
    if android != None:
        android.init()
        android.map_key(android.KEYCODE_BACK, pygame.K_ESCAPE)
        dpi = android.get_dpi()
    else:
        # A dummy dpi if we are not on Android
        dpi = 96
    # Log the device characteristics
    info = pygame.display.Info()
    diag = hypot(info.current_w, info.current_h) / dpi
    if diag < 6:  # 6" is the minimum size to be considered a tablet
        is_tablet = 'yes'
    else:
        is_tablet = 'no'
    experiment.set('device_resolution_width', info.current_w)
    experiment.set('device_resolution_height', info.current_h)
    experiment.set('device_dpi', dpi)
    experiment.set('device_screen_diag', diag)
    experiment.set('device_is_tablet', is_tablet)

    # Start with a splash screen
    splash = pygame.image.load(experiment.resource('android-splash.jpg'))
    x = resolution[0] / 2 - splash.get_width() / 2
    y = resolution[1] / 2 - splash.get_height() / 2
    experiment.surface.blit(splash, (x, y))
    for i in range(10):
        pygame.display.flip()
        pygame.time.delay(100)
    if android != None and android.check_pause():
        android.wait_for_resume()
Example #7
0
    def __init__(self, experiment, keylist=None, timeout=None):

        if experiment.debug:
            print "keyboard.__init__(): morphing into openexp._keyboard.%s" % experiment.keyboard_backend
            exec("import openexp._keyboard.%s" % experiment.keyboard_backend)
            self.__class__ = eval(
                "openexp._keyboard.%s.%s" %
                (experiment.keyboard_backend, experiment.keyboard_backend))
        else:
            try:
                exec("import openexp._keyboard.%s" %
                     experiment.keyboard_backend)
                self.__class__ = eval(
                    "openexp._keyboard.%s.%s" %
                    (experiment.keyboard_backend, experiment.keyboard_backend))
            except Exception as e:
                raise exceptions.canvas_error(
                    "Failed to import 'openexp._keyboard.%s' as keyboard backend.<br /><br />Error: %s"
                    % (experiment.backend, e))

        exec(
            "openexp._keyboard.%s.%s.__init__(self, experiment, keylist, timeout)"
            % (experiment.keyboard_backend, experiment.keyboard_backend))