|
libpsynth 0.2.1
|
00001 /*************************************************************************** 00002 * * 00003 * PSYCHOSYNTH * 00004 * =========== * 00005 * * 00006 * Copyright (C) Juan Pedro Bolivar Puente 2007 * 00007 * * 00008 * This program is free software: you can redistribute it and/or modify * 00009 * it under the terms of the GNU General Public License as published by * 00010 * the Free Software Foundation, either version 3 of the License, or * 00011 * (at your option) any later version. * 00012 * * 00013 * This program is distributed in the hope that it will be useful, * 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00016 * GNU General Public License for more details. * 00017 * * 00018 * You should have received a copy of the GNU General Public License * 00019 * along with this program. If not, see <http://www.gnu.org/licenses/>. * 00020 * * 00021 ***************************************************************************/ 00022 00023 #ifndef PSYNTH_OBJECTRADAR_H 00024 #define PSYNTH_OBJECTRADAR_H 00025 00026 #include <libpsynth/object/Object.h> 00027 #include <libpsynth/object/ObjectFactory.h> 00028 00029 namespace psynth 00030 { 00031 00032 class ObjectRadar : public Object 00033 { 00034 float m_param_speed; 00035 float m_param_angle; 00036 float m_angle; 00037 00038 void doUpdate(const Object* caller, int caller_port_type, int caller_port); 00039 void doAdvance(); 00040 00041 public: 00042 enum { 00043 N_IN_A_SOCKETS 00044 }; 00045 00046 enum InControlSocketID { 00047 IN_C_SPEED, 00048 N_IN_C_SOCKETS 00049 }; 00050 00051 enum OutAudioSocketID { 00052 N_OUT_A_SOCKETS 00053 }; 00054 00055 enum OutControlSocketID { 00056 OUT_C_TRIGGER, 00057 N_OUT_C_SOCKETS 00058 }; 00059 00060 enum ParamID { 00061 PARAM_SPEED = Object::N_COMMON_PARAM, 00062 PARAM_ANGLE, 00063 N_PARAM 00064 }; 00065 00066 ObjectRadar(const AudioInfo& info); 00067 }; 00068 00069 PSYNTH_DECLARE_OBJECT_FACTORY(ObjectAudioMixer, "radar"); 00070 00071 } /* namespace psynth */ 00072 00073 #endif /* PSYNTH_OBJECTRADAR_H */
1.7.4