Skip to content
Snippets Groups Projects
Select Git revision
  • 720b2d914918c593cb7b0bf0cd13cc7152bae485
  • master default protected
  • develop protected
  • ITASampler_v2024a
  • VA_v2023b
  • VA_v2023a
  • VA_v2022a
  • before_cmake_rework
  • v2021.a
  • v2020.a
  • v2019.a
  • v2018.b
  • v2018.a
  • v2017.d
  • v2017.c
  • v2017.b
  • v2017.a
  • v2016.a
18 results

ITASoundSample.h

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    ITASoundSample.h 2.09 KiB
    /*
    * ----------------------------------------------------------------
    *
    *		ITA core libs
    *		(c) Copyright Institute of Technical Acoustics (ITA)
    *		RWTH Aachen University, Germany, 2015-2016
    *
    * ----------------------------------------------------------------
    *				    ____  __________  _______
    *				   //  / //__   ___/ //  _   |
    *				  //  /    //  /    //  /_|  |
    *				 //  /    //  /    //  ___   |
    *				//__/    //__/    //__/   |__|
    *
    * ----------------------------------------------------------------
    *
    */
    /*
     *      +------------------+
     *  --->| ITA Sampler      |--->
     *  --->| o o o o      /// |--->
     *      +------------------+
     *
     *  ITASampler ist eine C++ Bibliothek die einen Sound sampler zur wavetable-basierten
     *  Klangsynthese bereitstellt. Der Begriff "sampler" bezieht sich hier auf den Terminus
     *  aus der Musikproduktion und nicht auf Abtastwerte.
     *
     *  Datei:		ITASoundSample.h
     *  Zweck:		Schnittstellendefinition fr sound samples
     *  Autoren:	Frank Wefers (Frank.Wefers@akustik.rwth-aachen.de)
     *  CVS-Datum:	$Id: ITASoundSample.h,v 1.1 2008-12-10 14:15:03 fwefers Exp $
     *
     *  (c) Copyright Institut fr Technische Akustik (ITA) RWTH Aachen, 2008
     */
    
    #ifndef INCLUDE_WATCHER_ITA_SOUND_SAMPLE
    #define INCLUDE_WATCHER_ITA_SOUND_SAMPLE
    
    #include <string>
    #include <vector>
    
    /**
     * Diese abstrakte Klasse definiert die Zugriffsschnittstelle
     * zu einzelnen Samples im SamplePool.
     */
    
    class ITASoundSample
    {
    public:
    	//! Destruktor
    	inline virtual ~ITASoundSample() {};
    
    	//! Gibt zurck ob dieses Sample aus einer Datei geladen wurde
    	virtual bool OriginFile() const=0;
    
    	//! Name zurckgeben
    	virtual std::string GetName() const=0;
    
    	//! Name setzen
    	void SetName(const std::string& sName);
    
    	//! Dateiname zurckgeben (nur bei Samples die aus Dateien geladen wurden)
    	virtual std::string GetFilename() const=0;
    
    	//! Anzahl Kanle zurckgeben
    	virtual int GetNumberOfChannels() const=0;
    
    	//! Lnge [Anzahl Samples]
    	virtual int GetLength() const=0;
    
    	// Zeiger auf die Daten eines Kanals zurckgeben
    	virtual const float* GetChannelData(int iChannel) const=0;
    };
    
    #endif // INCLUDE_WATCHER_ITA_SOUND_SAMPLE