if( track->data_type != TRACK_SUBTITLE ) continue;
int64_t pos = track->to_units(position,0);
edit = track->edits->editof(pos, PLAY_FORWARD, 0);
if( track->data_type != TRACK_SUBTITLE ) continue;
int64_t pos = track->to_units(position,0);
edit = track->edits->editof(pos, PLAY_FORWARD, 0);
Tracks *tracks = edl->tracks;
for( Track *track=tracks->first; track; track=track->next ) {
if( track->data_type != TRACK_SUBTITLE ) continue;
Tracks *tracks = edl->tracks;
for( Track *track=tracks->first; track; track=track->next ) {
if( track->data_type != TRACK_SUBTITLE ) continue;
int64_t start_i = track->to_units(start, 0);
int64_t end_i = track->to_units(end, 1);
track->edits->clear(start_i,end_i);
int64_t start_i = track->to_units(start, 0);
int64_t end_i = track->to_units(end, 1);
track->edits->clear(start_i,end_i);
Tracks *tracks = swindow->mwindow->edl->tracks;
for( Track *track=tracks->first; track; track=track->next ) {
if( track->data_type != TRACK_SUBTITLE ) continue;
Tracks *tracks = swindow->mwindow->edl->tracks;
for( Track *track=tracks->first; track; track=track->next ) {
if( track->data_type != TRACK_SUBTITLE ) continue;
char *cp = track_title, *ep = cp+sizeof(track_title)-6;
for( const char *bp=track->title; cp<ep && *bp!=0; ) {
char *cp = track_title, *ep = cp+sizeof(track_title)-6;
for( const char *bp=track->title; cp<ep && *bp!=0; ) {
- int b = butf8(bp), c = !iswalnum(b) ? '_' : b;
- butf8(c, cp);
+ int wch = butf8(bp); // iswalnum(wch) broken by MS port
+ if( !( (wch >= 'A' && wch <= 'Z') ||
+ (wch >= 'a' && wch <= 'z') ||
+ (wch >= '0' && wch <= '9') ) ) wch = '_';
+ butf8(wch, cp);
}
*cp = 0;
snprintf(ext,len,"-%s.udvd",track_title);
}
*cp = 0;
snprintf(ext,len,"-%s.udvd",track_title);