view src/aci2/mfw/mfw_midi.h @ 662:8cd8fd15a095

SIM speed enhancement re-enabled and made configurable TI's original code supported SIM speed enhancement, but Openmoko had it disabled, and OM's disabling of speed enhancement somehow caused certain SIM cards to start working which didn't work before (OM's bug #666). Because our FC community is much smaller in year 2020 than OM's community was in their day, we are not able to find one of those #666-affected SIMs, thus the real issue they had encountered remains elusive. Thus our solution is to re-enable SIM speed enhancement and simply wait for if and when someone runs into a #666-affected SIM once again. We provide a SIM_allow_speed_enhancement global variable that allows SIM speed enhancement to be enabled or disabled per session, and an /etc/SIM_spenh file in FFS that allows it to enabled or disabled on a non-volatile basis. SIM speed enhancement is now enabled by default.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 24 May 2020 05:02:28 +0000
parents 93999a60b835
children
line wrap: on
line source

/*
+--------------------------------------------------------------------+
| PROJECT:	MMI-Framework (8417)		$Workfile::	mfw_midi.h	    $|
| $Author::	NDH							$Revision::	1			    $|
| CREATED:	21.05.04		     		$Modtime::	21.05.04	 14:58	$|
| STATE  :	code														 |
+--------------------------------------------------------------------+

   MODULE  : MFW_MIDI

   PURPOSE : This module contains the definitions for the Midi Riveria Interface.

   HISTORY  :

   	Nov 21, 2005    REF:ER OMAPS00057430 nekkareb
   	Description:   AAC Ringer Implementation
	Solution: The Midi  Ringer application has been enhanced to support AAC as ringer.

   	Nov 04, 2005    REF:DRT OMAPS00053737  xdeepadh
	Description:   MIDI Ringer Linear Flash Support.
	Solution: The Midi Ringer application has been enhanced to loadand play the midi files from LFS.
	
   	Nov 02, 2005    REF:ER OMAPS00039044  xdeepadh
	Description:   Mp3 Ringer Implementation
	Solution: The Midi Ringer application has been enhanced to support mp3 as ringer.
	The interface  function names have been modified.
	
	Apr 05, 2005    REF: ENH 29994 xdeepadh
	Description: Implementation of Generic Midi Ringer and Modification of existing Midi Test Application
	Solution: Generic Midi Ringer and Midi Test Application were implemented.


*/
//Includes for Audio Services
#include "as/as_api.h" 
#include "as/as_message.h"

/*
** Midi Test Return Values
*/
#define MFW_PLAYER_TEST_OK					(0)
#define MFW_PLAYER_TEST_RIVIERA_FAILED		(-1)
#define MFW_PLAYER_TEST_MEM_FULL			(-2)
#define MFW_PLAYER_TEST_MEM_EMPTY			(-3)

#define PLAYER_EXIT_FLAG_FALSE  0
#define PLAYER_EXIT_FLAG_TRUE    1

#define MIDI_CHANNEL_MONO      1
#define MIDI_CHANNEL_STEREO   2

#ifdef FF_MP3_RINGER
#define MP3_CHANNEL_MONO      0
#define MP3_CHANNEL_STEREO   1
#endif  //FF_MP3_RINGER

//Nov 22, 2005    REF:ER OMAPS00057430 nekkareb
// AAC specific macros
#ifdef FF_AAC_RINGER
#define AAC_CHANNEL_MONO      0
#define AAC_CHANNEL_STEREO   1
#endif  //FF_AAC_RINGER


//Flash folder to store the tones
#define     RINGER_CONTENT_DIR          "/mmi/tones"

//Nov 04, 2005    REF:DRT OMAPS00053737  xdeepadh
#ifdef FF_MIDI_LOAD_FROM_LFS
//LFS  folder to store the tones
#define LFS_CONTENT_DIR "/"

typedef struct T_RAM_FILEInfo
{
    void *data;
    int dataSize;
} T_RAM_FILE;

typedef enum 
{
	TEST_PASSED					=  0, /* No error occurs						*/
	TEST_FAILED					= -2, /* An error occurs -> continu test suite	*/
	TEST_IRRECOVERABLY_FAILED	= -3  /* An error occurs -> stop test suite		*/
} T_RV_TEST_RET;

#endif	//FF_MIDI_LOAD_FROM_LFS

/*
** Midi Test Functions Prototypes
*/

SHORT mfw_player_set_loop_on(void);
SHORT mfw_player_set_loop_off(void);
SHORT mfw_player_set_channel_mono(void);
SHORT mfw_player_set_channel_stereo(void);
SHORT mfw_player_midi_set_voice_limit(int voice_limit);
SHORT mfw_player_save_selected_file_idx(int index);
void  mfw_player_init(void);
SHORT mfw_player_set_headset();
SHORT mfw_player_set_speaker();
SHORT mfw_ringer_set_audiopath();
/*
** Midi ringer Function Prototypes
*/
//Nov 02, 2005    REF:ER OMAPS00039044  xdeepadh
//The function names have been modified to be generic
SHORT mfw_ringer_set_memory(T_AS_PLAYER_TYPE  player_type,T_AS_RINGER_MODE ringer_mode,UINT32 *memory_pointer,UINT32 size);
SHORT mfw_ringer_set_file(T_AS_PLAYER_TYPE  player_type,T_AS_RINGER_MODE ringer_mode,const char* filename);
SHORT mfw_ringer_start(T_AS_RINGER_MODE ringer_mode,BOOLEAN  loop,void (*callback_fn)(void *));
SHORT mfw_ringer_set_volume(T_AS_RINGER_MODE ringer_mode,T_AS_VOLUME volume);
SHORT mfw_ringer_start(T_AS_RINGER_MODE ringer_mode,BOOLEAN loop,void (*callback_fn)(void *));
SHORT mfw_ringer_stop(void (*callback_fn)(void *));
T_AS_RINGER_INFO* mfw_ringer_get_info(T_AS_RINGER_MODE ringer_mode,const T_AS_RINGER_INFO* ringer_info);
static void mfw_ringer_configure_callback_fn(void (*callback_fn)(void *));
SHORT mfw_player_start_memory(T_AS_PLAYER_TYPE player_type,const  UINT32* address,  UINT32 size,T_AS_VOLUME volume,BOOLEAN loop,void (*callback_fn)(void *));
SHORT mfw_player_start_file(T_AS_PLAYER_TYPE player_type,const char * filename,T_AS_VOLUME volume,BOOLEAN  loop,void (*callback_fn)(void *));
SHORT mfw_player_stop(void (*callback_fn)(void *));
SHORT mfw_player_midi_set_params(INT16 voicelimit,INT16 channel);
#ifdef FF_MP3_RINGER
SHORT mfw_player_mp3_set_params(UINT32  size_file_start,BOOLEAN  mono_stereo);
#endif  //FF_MP3_RINGER

//Nov 22, 2005    REF:ER OMAPS00057430 nekkareb
// Added function prototype for aac set paramaters
#ifdef FF_AAC_RINGER
SHORT mfw_player_aac_set_params(UINT32  size_file_start,BOOLEAN  mono_stereo);
#endif  //FF_AAC_RINGER


T_AS_PLAYER_TYPE mfw_ringer_deduce_player_type(const char * filename);
SHORT mfw_player_get_params(T_AS_PLAYER_TYPE player_type,const T_AS_PLAYER_PARAMS* player_para);
//Nov 04, 2005    REF:DRT OMAPS00053737  xdeepadh
#ifdef FF_MIDI_LOAD_FROM_LFS
T_RV_TEST_RET ram_write_lfs(T_RAM_FILE * ram_file,char* filename );
T_RAM_FILE *ram_load_file(char* filename);
void ram_remove_file(T_RAM_FILE* file_buf);
#endif		//FF_MIDI_LOAD_FROM_LFS