diff options
author | Mathieu Arnold <mat@FreeBSD.org> | 2016-07-26 16:51:15 +0000 |
---|---|---|
committer | Mathieu Arnold <mat@FreeBSD.org> | 2016-07-26 16:51:15 +0000 |
commit | 9fa9eb9ac7bf1d3de825ee25a8f0ae81b7b77896 (patch) | |
tree | 9b071a8105704e992946dcd6b801e9fcb7635142 /audio/tcd/files/patch-src_tcd.c | |
parent | MooseFS is a Fault tolerant, High Available, Highly Performing, Scale-Out, (diff) |
Cleanup patches, a* categories.
Rename them to follow the make makepatch naming, and regenerate them.
With hat: portmgr
Sponsored by: Absolight
Diffstat (limited to 'audio/tcd/files/patch-src_tcd.c')
-rw-r--r-- | audio/tcd/files/patch-src_tcd.c | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/audio/tcd/files/patch-src_tcd.c b/audio/tcd/files/patch-src_tcd.c new file mode 100644 index 000000000000..d12398710c6b --- /dev/null +++ b/audio/tcd/files/patch-src_tcd.c @@ -0,0 +1,156 @@ +--- src/tcd.c.orig 2004-06-15 20:32:31 UTC ++++ src/tcd.c +@@ -33,6 +33,7 @@ + #include <unistd.h> + + #include <SDL/SDL.h> ++#include <sys/cdio.h> + + #include "cd-utils.h" + #include "cddb.h" +@@ -80,37 +81,40 @@ static void handle_play(void) + + static void handle_next_track(void) + { +- if (!CD_INDRIVE(state.cdrom->status)) { ++ int next_track; ++ ++ if (!CD_INDRIVE(state.cdrom->status)) + return; +- } +- if (state.cdrom->cur_track == state.cdrom->numtracks - 1) { +- SDL_CDStop(state.cdrom); +- } else if (state.play_method == REPEAT_TRK) { +- SDL_CDPlayTracks(state.cdrom, state.cdrom->cur_track + 1, 0, 1, 0); +- } else { +- SDL_CDPlayTracks(state.cdrom, state.cdrom->cur_track + 1, 0, 0, 0); +- } ++ ++ if (state.cdrom->cur_track == state.cdrom->numtracks - 1) ++ next_track = 0; ++ else ++ next_track = state.cdrom->cur_track + 1; ++ ++ if (state.play_method == REPEAT_TRK) ++ SDL_CDPlayTracks(state.cdrom, next_track, 0, 1, 0); ++ else ++ SDL_CDPlayTracks(state.cdrom, next_track, 0, 0, 0); + } + + static void handle_prev_track(void) + { + int prev_track; + +- if (!CD_INDRIVE(state.cdrom->status)) { ++ if (!CD_INDRIVE(state.cdrom->status)) + return; +- } +- if (state.cdrom->cur_track == 0) { +- prev_track = 0; +- } else if (state.cdrom->cur_frame / CD_FPS < 5) { +- prev_track = state.cdrom->cur_track - 1; +- } else { ++ ++ if (state.cdrom->cur_frame / CD_FPS > 5) + prev_track = state.cdrom->cur_track; +- } +- if (state.play_method == REPEAT_TRK) { ++ else if (state.cdrom->cur_track == 0) ++ prev_track = state.cdrom->numtracks - 1; ++ else ++ prev_track = state.cdrom->cur_track - 1; ++ ++ if (state.play_method == REPEAT_TRK) + SDL_CDPlayTracks(state.cdrom, prev_track, 0, 1, 0); +- } else { ++ else + SDL_CDPlayTracks(state.cdrom, prev_track, 0, 0, 0); +- } + } + + static void handle_goto(void) +@@ -134,11 +138,6 @@ static void handle_method(void) + } + } + +-static void handle_repeat_track(void) +-{ +- state.play_method = REPEAT_TRK; +-} +- + static void handle_eject(void) + { + SDL_CDEject(state.cdrom); +@@ -179,6 +178,26 @@ static void handle_skip_back(void) + } + } + ++static void inc_volume(void) ++{ ++ struct ioc_vol arg; ++ if(ioctl(state.cdrom->id, CDIOCGETVOL, &arg) == -1) ++ return; ++ arg.vol[0] += arg.vol[0] > 250 ? 255 - arg.vol[0] : 5; ++ arg.vol[1] += arg.vol[1] > 250 ? 255 - arg.vol[1] : 5; ++ ioctl(state.cdrom->id, CDIOCSETVOL, &arg); ++} ++ ++static void dec_volume(void) ++{ ++ struct ioc_vol arg; ++ if(ioctl(state.cdrom->id, CDIOCGETVOL, &arg) == -1) ++ return; ++ arg.vol[0] -= arg.vol[0] < 5 ? arg.vol[0] : 5; ++ arg.vol[1] -= arg.vol[1] < 5 ? arg.vol[1] : 5; ++ ioctl(state.cdrom->id, CDIOCSETVOL, &arg); ++} ++ + static void init_SDL(int cdrom_num) + { + int err = SDL_Init(SDL_INIT_CDROM); +@@ -218,10 +237,12 @@ static void detect_disc_change(void) + { + unsigned long discid = cddb_discid(state.cdrom); + if (discid != state.current_discid) { +- if (state.cd_info.modified) { ++ if (state.cd_info.modified) + tcd_writediskinfo(&state.cd_info, state.cdrom); +- } +- tcd_readdiskinfo(&state.cd_info, state.cdrom); ++ if (CD_INDRIVE(state.cdrom->status)) ++ tcd_readdiskinfo(&state, state.cdrom); ++ else ++ bzero(&state.cd_info, sizeof(state.cd_info)); + state.current_discid = discid; + } + } +@@ -237,7 +258,7 @@ int main(int argc, char **argv) + state.play_method = NORMAL; + + init_SDL((argc > 1) ? strtol(argv[1], NULL, 0) : 0); +- tcd_readdiskinfo(&state.cd_info, state.cdrom); ++ tcd_readdiskinfo(&state, state.cdrom); + tcd_ui_init(); + tcd_ui_update(&state); + state.current_discid = cddb_discid(state.cdrom); +@@ -255,14 +276,17 @@ int main(int argc, char **argv) + case '-': case '_': handle_prev_track(); break; + case 'g': case 'G': handle_goto(); break; + case 'c': case 'C': state.play_method = REPEAT_CD; break; +- case 'r': case 'R': handle_repeat_track(); break; ++ case 'r': case 'R': state.play_method = REPEAT_TRK; break; + case 'm': case 'M': handle_method(); break; + case 'e': case 'E': handle_eject(); break; + case 't': case 'T': handle_editor(); break; +- case 's': case 'S': handle_stop(); break; ++ case 's': case 'S': state.play_method = NORMAL; ++ handle_stop(); break; + case ']': handle_skip_forward(); break; + case '[': handle_skip_back(); break; +- } ++ case '*': inc_volume(); break; ++ case '/': dec_volume(); break; ++ } + } + tcd_ui_shutdown(); + if (state.cd_info.modified) { |