リビジョン | 1130049b89b91677851b4b985b9c7d81b36c5e4b (tree) |
---|---|
日時 | 2020-07-12 09:55:28 |
作者 | Starg <starg@user...> |
コミッター | Starg |
Import UnkoTim234
@@ -1155,6 +1155,7 @@ static int ctl_pass_playing_list(int number_of_files, char *list_of_files[]) | ||
1155 | 1155 | play_mode->id_name, |
1156 | 1156 | play_mode->id_character, |
1157 | 1157 | play_mode->name ? play_mode->name : ""); |
1158 | + w32g_play_active = 0; | |
1158 | 1159 | break; |
1159 | 1160 | } |
1160 | 1161 | aq_setup(); |
@@ -601,7 +601,7 @@ void close_file(struct timidity_file *tf) | ||
601 | 601 | /* This is meant for skipping a few bytes. */ |
602 | 602 | void skip(struct timidity_file *tf, size_t len) |
603 | 603 | { |
604 | - url_skip(tf->url, (long)len); | |
604 | + url_skip(tf->url, (off_size_t)len); | |
605 | 605 | } |
606 | 606 | |
607 | 607 | char *tf_gets(char *buff, size_t n, struct timidity_file *tf) |
@@ -4624,7 +4624,9 @@ static void lo_rs_plain(Voice *vp, DATA_T *dest, int32 count) | ||
4624 | 4624 | *dest++ = resample_linear_single(vp); |
4625 | 4625 | resrc->offset += resrc->increment; |
4626 | 4626 | } |
4627 | - for(; i < count; i++) { *dest++ = 0; vp->finish_voice = 1;} | |
4627 | + for(; i < count; i++) { *dest++ = 0; } | |
4628 | + if (resrc->offset >= resrc->data_length) | |
4629 | + vp->finish_voice = 1; | |
4628 | 4630 | } |
4629 | 4631 | |
4630 | 4632 | static void lo_rs_loop(Voice *vp, DATA_T *dest, int32 count) |
@@ -4810,7 +4812,9 @@ static void lo_rs_plain_float(Voice *vp, DATA_T *dest, int32 count) | ||
4810 | 4812 | *dest++ = resample_linear_float_single(vp); |
4811 | 4813 | resrc->offset += resrc->increment; |
4812 | 4814 | } |
4813 | - for(; i < count; i++) { *dest++ = 0; vp->finish_voice = 1;} | |
4815 | + for(; i < count; i++) { *dest++ = 0; } | |
4816 | + if (resrc->offset >= resrc->data_length) | |
4817 | + vp->finish_voice = 1; | |
4814 | 4818 | } |
4815 | 4819 | |
4816 | 4820 | static void lo_rs_loop_float(Voice *vp, DATA_T *dest, int32 count) |
@@ -5688,7 +5692,9 @@ static void lao_rs_plain(Voice *vp, DATA_T *dest, int32 count) | ||
5688 | 5692 | *dest++ = resample_lagrange_single(vp); |
5689 | 5693 | resrc->offset += resrc->increment; |
5690 | 5694 | } |
5691 | - for(; i < count; i++) { *dest++ = 0; vp->finish_voice = 1;} | |
5695 | + for(; i < count; i++) { *dest++ = 0; } | |
5696 | + if (resrc->offset >= resrc->data_length) | |
5697 | + vp->finish_voice = 1; | |
5692 | 5698 | } |
5693 | 5699 | |
5694 | 5700 | static void lao_rs_loop(Voice *vp, DATA_T *dest, int32 count) |
@@ -6073,7 +6079,9 @@ static void lao_rs_plain_float(Voice *vp, DATA_T *dest, int32 count) | ||
6073 | 6079 | *dest++ = resample_lagrange_float_single(vp); |
6074 | 6080 | resrc->offset += resrc->increment; |
6075 | 6081 | } |
6076 | - for(; i < count; i++) { *dest++ = 0; vp->finish_voice = 1;} | |
6082 | + for(; i < count; i++) { *dest++ = 0; } | |
6083 | + if (resrc->offset >= resrc->data_length) | |
6084 | + vp->finish_voice = 1; | |
6077 | 6085 | } |
6078 | 6086 | |
6079 | 6087 | static void lao_rs_loop_float(Voice *vp, DATA_T *dest, int32 count) |
@@ -3919,7 +3919,7 @@ static void init_mail_addr(void) | ||
3919 | 3919 | static int read_user_config_file(void) |
3920 | 3920 | { |
3921 | 3921 | char *home; |
3922 | - char path[BUFSIZ]; | |
3922 | + char path[FILEPATH_MAX]; | |
3923 | 3923 | int status; |
3924 | 3924 | |
3925 | 3925 | home = getenv("HOME"); |
@@ -3937,18 +3937,18 @@ static int read_user_config_file(void) | ||
3937 | 3937 | |
3938 | 3938 | #ifdef __W32__ |
3939 | 3939 | /* timidity.cfg or _timidity.cfg or .timidity.cfg*/ |
3940 | - sprintf(path, "%s" PATH_STRING "timidity.cfg", home); | |
3940 | + snprintf(path, sizeof(path) / sizeof(path[0]), "%s" PATH_STRING "timidity.cfg", home); | |
3941 | 3941 | status = read_config_file(path, 0, 1); |
3942 | 3942 | if (status != READ_CONFIG_FILE_NOT_FOUND) |
3943 | 3943 | return status; |
3944 | 3944 | |
3945 | - sprintf(path, "%s" PATH_STRING "_timidity.cfg", home); | |
3945 | + snprintf(path, sizeof(path) / sizeof(path[0]), "%s" PATH_STRING "_timidity.cfg", home); | |
3946 | 3946 | status = read_config_file(path, 0, 1); |
3947 | 3947 | if (status != READ_CONFIG_FILE_NOT_FOUND) |
3948 | 3948 | return status; |
3949 | 3949 | #endif |
3950 | 3950 | |
3951 | - sprintf(path, "%s" PATH_STRING ".timidity.cfg", home); | |
3951 | + snprintf(path, sizeof(path) / sizeof(path[0]), "%s" PATH_STRING ".timidity.cfg", home); | |
3952 | 3952 | status = read_config_file(path, 0, 1); |
3953 | 3953 | if (status != READ_CONFIG_FILE_NOT_FOUND) |
3954 | 3954 | return status; |
@@ -581,6 +581,10 @@ static int get_device(IMMDevice **ppMMDevice, int devnum) | ||
581 | 581 | goto error; |
582 | 582 | if(pszDeviceId) |
583 | 583 | CoTaskMemFree(pszDeviceId); |
584 | + if(pdev) | |
585 | + IMMDevice_Release(pdev); | |
586 | + if(pdc) | |
587 | + IMMDeviceCollection_Release(pdc); | |
584 | 588 | if(pde) |
585 | 589 | IMMDeviceEnumerator_Release(pde); |
586 | 590 | return TRUE; |
@@ -703,12 +707,12 @@ static void print_device_list(void) | ||
703 | 707 | dev = NULL; |
704 | 708 | } |
705 | 709 | if(pps){ |
706 | - pps->lpVtbl->Release(pps); | |
710 | + IPropertyStore_Release(pps); | |
707 | 711 | pps = NULL; |
708 | 712 | } |
709 | 713 | } |
710 | 714 | if(pdc) |
711 | - pdc->lpVtbl->Release(pdc); | |
715 | + IMMDeviceCollection_Release(pdc); | |
712 | 716 | if(pde) |
713 | 717 | IMMDeviceEnumerator_Release(pde); |
714 | 718 | for(i = 0; i < num; i++){ |
@@ -720,9 +724,9 @@ static void print_device_list(void) | ||
720 | 724 | return; |
721 | 725 | error1: |
722 | 726 | if(tmpClient) |
723 | - tmpClient->lpVtbl->Release(tmpClient); | |
727 | + IAudioClient_Release(tmpClient); | |
724 | 728 | if(pdc){ |
725 | - pdc->lpVtbl->Release(pdc); | |
729 | + IMMDeviceCollection_Release(pdc); | |
726 | 730 | } |
727 | 731 | if(pde) |
728 | 732 | IMMDeviceEnumerator_Release(pde); |