TYCO wrote:Al fin la Beta ha salido del horno, gran trabajo y a ver que tal va. Dos cosas que he visto...
Aunque otras funciones si contienen "
IS" en estos casos(abajo)... no sería mejor quitar el "
IS"??? ya que hay funciones como
AUDIO_MUTE y no se llama
AUDIO_IS_MUTE:
OUT_REGION -> REGION_IS_OUT
XOUT_REGION -> REGION_IS_XOUT
Hola TYCO,
Porque AUDIO_MUTE/UNMUTE, ejecutan la operacion, AUDIO_IS_MUTED averigua el estado, por lo tanto tienen que ser distintas.

TYCO wrote:Funciones de CD... ¿Por qué no se llama CD_PLAY de forma similar??? ya se que CD_PLAY no hace referencia a un canal y por eso no se llama de forma similar... pero es algo "extraño" ver que CD_STOP no sirva como función para detener el CD. Se me hace raro ver esto:
CD_PLAY
CDCHANNEL_STOP
Porque las cosas suenan en los canales, no es tan raro, practicamente todos los lenguajes funcionan asi, cuando llamas CD_PLAY te devuelve el canal donde esta sonando el CD, por lo tanto va pasado a las funciones CDCHANNEL, del cual uno de los metodos es "STOP".
Por hacerte el ejemplo te pongo la API de la FMOD Ex basada todalmente a objetos OOP:
System::playSound
Plays a sound object on a particular channel.
C++ Syntax
FMOD_RESULT System::playSound(
FMOD_CHANNELINDEX channelid,
FMOD::Sound * sound,
bool paused,
FMOD::Channel ** channel
);
C Syntax
FMOD_RESULT FMOD_System_PlaySound(
FMOD_SYSTEM * system,
FMOD_CHANNELINDEX channelid,
FMOD_SOUND * sound,
FMOD_BOOL paused,
FMOD_CHANNEL ** channel
);
Channel::stop
Stops the channel from playing. Makes it available for re-use by the priority system.
C++ Syntax
FMOD_RESULT Channel::stop();
C Syntax
FMOD_RESULT FMOD_Channel_Stop(FMOD_CHANNEL * channel);
Como se puede ver hay 2 clases: System y Channel, la primera tiene el metodo "playSound" que requiere el puntero a un objeto FMOD::Channel para memorizar el canal donde se esta reproduciendo la cancion/efecto y la segunda (Channel) tiene el metodo "stop" para parar la cancion/efecto en reproduccion en el canal.
Aun mas, el metodo playSound en FMOD Ex reproduce cualquier recurso (CD o formato digital), con lo cual como ves no es raro.
TYCO wrote:Lo de los WRITE mucho mejor así, que Gemix detecte el tipo de dato y quitamos funciones extras del motor.
Sin duda.
TYCO wrote:Los alias a estas funciones
TWEEN y URL, creo que sobran, sería mejor quitarlos en mi opinión:
DELETE_TWEEN -> TWEEN_DELETE
NEW_TWEEN -> TWEEN_NEW
DELETE_TWEENGROUP -> TWEENGROUP_DELETE
NEW_TWEENGROUP -> TWEENGROUP_NEW
CLOSE_URL -> URL_CLOSE
OPEN_URL -> URL_OPEN
Aunque tengan sentido... lo mejor sería mantener únicamente los nombres que empiezan por
TWEEN, TWEENGROUP y URL:
TWEEN_DELETE
TWEEN_NEW
TWEENGROUP_DELETE
TWEENGROUP_NEW
URL_CLOSE
URL_OPEN
Por compatibildad no es, ya que DIV2 no trae esas funciones... creo sería mejor hacerlo con todas las funciones, sin excepción para no complicar el lenguaje.
Se mantienen por una cuestion de "consistencia", normalmente las funciones NEW, LOAD, etc... devuelven un objeto de una "clase", y normalmente son metodos que pertenecen a otra "clase", asi que digamos que seria mas correcto tener NEW_TWEEN que TWEEN_NEW, porque esta no requiere un objeto "tween", sino lo crea.