1 struct time_parts
2 {
3   int hours;
4   int minutes;
5   int seconds;
6   int mili;
7   gboolean negative;
8 };
9 
10 
11 #define LOG_SOUND 1
12 #define LOG_MEM 2
13 #define LOG_OTHER 3
14 //#define LOG_WAVEFORM 4
15 
16 #define __STR2__(x) #x
17 #define __STR1__(x) __STR2__(x)
18 #define __LOC__ __FILE__ "("__STR1__(__LINE__)") : warning C9999 : "
19 
20 void sabbu_log_real(int type, char *file, int line, char *text);
21 #define sabbu_log(type, text) sabbu_log_real(type, __FILE__, __LINE__, text)
22 void sabbu_log_endl();
23 void sabbu_log_close();
24 
25 
26 char *sabbu_get_config_dir();
27 char *sabbu_get_config_file();
28 
29 char *sabbu_iconv_get_charset(int code);
30 gboolean sabbu_iconv_get_mapping(kryScript *script, kryEventDetailed *event, kryHash<char *, struct style_iconv_map *> *hash, struct style_iconv_map **map_param, gboolean);
31 void sabbu_style_iconv_map_free(struct style_iconv_map *map);
32 
33 int sabbu_clamp_value_real(int val, int min, int max, char *file, int line);
34 #define sabbu_clamp_value(val, min, max) sabbu_clamp_value_real(val, min, max, __FILE__, __LINE__)
35 
36 int time_mili_to_frames(int time, double fps);
37 char *time_mili_to_string(long time, gboolean is_srt_format = FALSE, gboolean is_srt_write = FALSE);
38 char *time_mili_to_string_compact(long time);
39 void time_mili_to_parts(long time, struct time_parts *time_out);
40 long time_string_to_mili(const char *time_str, int err_val, gboolean is_srt_format = FALSE, gboolean is_srt_separator = TRUE);
41 void fwrite_custom(char *buffer, int len, int count, FILE *fh, gboolean utf16);
42 char *string_replace(char *str, char *target, char *replacement);
43 
44 int integer_calculate_width(int num);
45 
46 char *kry_path_replace_ext(char *path, char *new_ext);
47 
48 char *sgettext (const char *msgid);
49 char *sgettext_strip(const char *msgid);
50 
51 FILE *fopen_win32(char *filename, char *flag);
52 int stat_win32(char *filename, struct _stat *stat);
53 int mkdir_win32(char *dir);
54 int chdir_win32(char *dir);
55 int open_win32(char *file, int flag);
56 
57 void kry_recent_list_add(GList **list, char *string);
58 void kry_recent_list_save(GList *list, char *key);
59 GList *kry_recent_list_load(char *key);
60 
61 #ifdef _WINDOWS
62 #define kry_sleep(mili) _sleep(mili)
63 #else
64 #define kry_sleep(mili) usleep(mili * 1000)
65 #endif
66 
67