/* * Copyright (C) 2013 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef LE_FX_ENGINE_COMMON_CORE_BASIC_TYPES_H_ #define LE_FX_ENGINE_COMMON_CORE_BASIC_TYPES_H_ #include #include #include using ::std::string; using ::std::basic_string; #include using ::std::vector; #include "common/core/os.h" // ----------------------------------------------------------------------------- // Definitions of common basic types: // ----------------------------------------------------------------------------- #if !defined(G_COMPILE) && !defined(BASE_INTEGRAL_TYPES_H_) namespace le_fx { typedef signed char schar; typedef signed char int8; typedef short int16; typedef int int32; typedef long long int64; typedef unsigned char uint8; typedef unsigned short uint16; typedef unsigned int uint32; typedef unsigned long long uint64; } // namespace le_fx #endif namespace le_fx { struct FloatArray { int length; float *data; FloatArray(void) { data = NULL; length = 0; } }; struct Int16Array { int length; int16 *data; Int16Array(void) { data = NULL; length = 0; } }; struct Int32Array { int length; int32 *data; Int32Array(void) { data = NULL; length = 0; } }; struct Int8Array { int length; uint8 *data; Int8Array(void) { data = NULL; length = 0; } }; // // Simple wrapper for waveform data: // class WaveData : public vector { public: WaveData(); ~WaveData(); void Set(int number_samples, int sampling_rate, int16 *data); int sample_rate(void) const; void set_sample_rate(int sample_rate); bool Equals(const WaveData &wave_data, int threshold = 0) const; private: int sample_rate_; }; } // namespace le_fx #endif // LE_FX_ENGINE_COMMON_CORE_BASIC_TYPES_H_