2007-10-17 23:09:40.551 Cog[2118] Could not open file.../Volumes/WEST;SERVER/Music/ethnic/_celtic/VA - Celtic Twilight vol.5(1999)/CDImage.cue (null) NSError "File “CDImage.cue” could not be opened using text encoding Unicode (UTF-8)." Domain=NSCocoaErrorDomain Code=261 UserInfo={
    NSFilePath = "/Volumes/WEST;SERVER/Music/ethnic/_celtic/VA - Celtic Twilight vol.5(1999)/CDImage.cue"; 
    NSStringEncoding = 4; 
}

- and so for every file containing non-unicode and non-ansi charsets (tried with cp1251 and something like latin1 (don't know exactly, supposed to be just latin but with diacritics))

103

(7 replies, posted in Archives)

104

(2 replies, posted in Features)

105

(1 replies, posted in Features)

VST(virtual studio technology by steinberg, sdk is available), or more mac-ish Audio Unit from  Apple Logic Studio (formerly Emagic Logic Audio)
- to enable sound processing/visualization by external plugins

106

(2 replies, posted in Features)

(feature suggested to be implemented in far future)
Icecast is streaming media server, many internet radios are running it.
Key concept: pack audio stream in OggFLAC(and ogg or mp3 for slower channels), send to icecast and on other side receive it and play - this gives ability to share listening sessions
Problems: stream to server must not be interrupted, even if player is stopped (send zeroes...), and lot of coding in general...

107

(2 replies, posted in Archives)

Metadata often is not limited to Genre/Artist/Album/Year/Title, so what if we had a metadata viewer (at least, editor would be better, but there will be some issues)?
In interface it could be a drawer opened from context menu in playlist/hotkey, inside - just table with Key-Value + additional window with big textbox can be opened for long fields

109

(25 replies, posted in Development)

my 50 cents: ability to turn off some hotkeys?

111

(25 replies, posted in Development)

112

(10 replies, posted in Archives)

113

(10 replies, posted in Archives)

ground for doing it - there's many people switching from pc to mac (me is one of them) and they will (or already do) lack usual look of playlists, as under window$ almost all players have this
you even can make non-customizable with built-in template "Artist - Title" and this will make things easier

PS. ten years habit is a hard thing to overcome smile

114

(10 replies, posted in Archives)

115

(25 replies, posted in Development)

vspader, consider adding code like this into CueSheet.m:

//-----------insert
            NSFileManager* fm = [NSFileManager defaultManager];
            NSURL* url = [self urlForPath:path relativeTo:filename];
            if ([url isFileURL] && ![fm fileExistsAtPath:[url absoluteString]] && ![[[url absoluteString] pathExtension] compare:@"wav"]) {
                    //creator fogot to edit cue... happens
                    NSString* sav = [url path];
                    
                    NSEnumerator *iter = [[NSArray arrayWithObjects:@"ape", @"flac", @"wv", nil] objectEnumerator]; //!!! nasty constants, to be replaced with supported audio extensions
                    id item; 
                    NSMutableString* tmpurl = [NSMutableString stringWithCapacity:[sav length]];
                    while ((item = [iter nextObject]) != nil) {
                        [tmpurl setString:sav];
                        [tmpurl replaceCharactersInRange:NSMakeRange([tmpurl length]-3, 3) withString:item];
                        NSLog(@"trying '%@'", tmpurl);
                        if ([fm fileExistsAtPath:tmpurl]) {
                            url = [NSURL fileURLWithPath:tmpurl];
                            NSLog(@"Found image file: '%@'", url);
                            break;
                        }
                    }
            }

            //Need to add basePath, and convert to URL
            [entries addObject:
                                [CueSheetTrack trackWithURL:url //changed
                                                             track: track
                                                             time: seconds 
                                                             artist:artist 
                                                             album:album 
                                                             title:title
                                                             genre:genre
                                                             year:year]];
//--------------
            trackAdded = YES;

- with little edit (for decoder file types and may be some shouting) will be a suitable implementation for searching image file in case when cue was not edited by releaser to match image file name extension

116

(17 replies, posted in Features)

Here's console output:

2007-10-15 17:59:38.605 Cog[4222] Opening: file://localhost/Volumes/WEST%3BSERVER/Music/classical%20crossover/Hayley%20Westenra/Hayley%20Westenra%20-%20Treasure%20(2007)/Hayley.Westenra.-.%5BTreasure%5D.cue#11
2007-10-15 17:59:38.605 Cog[4222] SETTING OUTPUT FORMAT!
2007-10-15 17:59:38.605 Cog[4222] REGISTERING OBSERVERS
2007-10-15 17:59:38.608 Cog[4222] GENRE!
2007-10-15 17:59:38.608 Cog[4222] UNQUOTED
2007-10-15 17:59:38.608 Cog[4222] DATE!
2007-10-15 17:59:38.625 Cog[4222] SOMETHING CHANGED!
2007-10-15 17:59:38.625 Cog[4222] FORMAT DID CHANGE!
2007-10-15 17:59:38.625 Cog[4222] FORMAT CHANGED
2007-10-15 17:59:38.626 Cog[4222] Properties: {
    bitsPerSample = 16; 
    channels = 2; 
    endian = big; 
    length = 192853.515625; 
    sampleRate = 44100; 
    seekable = 1; 
}
2007-10-15 17:59:38.628 Cog[4222] DEALLOCATING SOURCE
2007-10-15 17:59:38.671 Cog[4222] INITIAL BUFFER FILLED
2007-10-15 17:59:38.735 Cog[4222] INITIAL BUFFER FILLED
2007-10-15 17:59:47.826 Cog[4222] Should seek!
2007-10-15 17:59:47.854 Cog[4222] SEEKING!
2007-10-15 17:59:47.854 Cog[4222] Before: 400979673
2007-10-15 17:59:47.854 Cog[4222] After: 400979672
2007-10-15 17:59:47.857 Cog[4222] Seeked! Resetting Buffer
2007-10-15 17:59:47.857 Cog[4222] Reset buffer!
2007-10-15 17:59:47.887 Cog[4222] INITIAL BUFFER FILLED
2007-10-15 17:59:47.887 Cog[4222] End of stream? {
    bitsPerSample = 16; 
    channels = 2; 
    endian = big; 
    length = 192853.515625; 
    sampleRate = 44100; 
    seekable = 1; 
}
2007-10-15 17:59:47.887 Cog[4222] CHANGING TRACK!
2007-10-15 17:59:47.887 Cog[4222] SET TRACK!
2007-10-15 17:59:47.887 Cog[4222] New buffer chain!
2007-10-15 17:59:47.887 Cog[4222] Opening with old decoder: <NSKVONotifying_CueSheetDecoder: 0xd898f00>
2007-10-15 17:59:47.888 Cog[4222] REGISTERING OBSERVERS
2007-10-15 17:59:47.888 Cog[4222] DONES: <NSKVONotifying_CueSheetDecoder: 0xd898f00>
2007-10-15 17:59:47.888 Cog[4222] Buffer chain made
2007-10-15 17:59:47.888 Cog[4222] Properties: {
    bitsPerSample = 16; 
    channels = 2; 
    endian = big; 
    length = 219773.193359375; 
    sampleRate = 44100; 
    seekable = 1; 
}
2007-10-15 17:59:47.888 Cog[4222] TRACK SET!!! <BufferChain: 0xdca36a0>
2007-10-15 17:59:47.888 Cog[4222] closing? is 0
2007-10-15 17:59:47.930 Cog[4222] INITIAL BUFFER FILLED
2007-10-15 17:59:48.011 Cog[4222] INITIAL BUFFER FILLED
2007-10-15 17:59:49.711 Cog[4222] Input Node dealloc
2007-10-15 17:59:49.712 Cog[4222] Decoder dealloc
2007-10-15 17:59:49.712 Cog[4222] Bufferchain dealloc
2007-10-15 17:59:49.712 Cog[4222] New!!! <BufferChain: 0xdca36a0> <NSKVONotifying_CueSheetDecoder: 0xd898f00>

- i opened cog(playlist with coouple of cues already in)
startted track playback, scrolled to the end of it and waited for trackchange
and uncle noise aka Mr Garbage Output comes

119

(17 replies, posted in Features)

As i promised - <here was link to old version> - this generates 100% binary identical to official tool's APLs for cues i tested it on
uses a bit modified cuesheet parser from cog 554
(if you want source - i'll send it)

it's you turn now, vspader smile

120

(17 replies, posted in Features)

ape tag is not necessary, official MAC plugin reads apls without it
i have written a very simple apl file generator, tomorrow i'll add ape tag support for full emulation of MakeApl and post it here

121

(17 replies, posted in Features)

122

(17 replies, posted in Features)

i was wrong about it being fully binary, but it is not fully text either
so format seems to be

[Monkey's Audio Image Link File]
Image File=<file name till line break>
Start Block=<decimal>
Finish Block=<decimal or '-0'>
<newline probably not obligatory>
----- APE TAG (DO NOT TOUCH!!!) -----
<binary tag, probably can be id3, id3v2, ape tag, ape v2 tag>

first version can just take file name as track title, read two numbers, image file name from file and discard everything else - this should be pretty enough for most cases
but a beautiful solution might check whether next apl in playlist uses same image file and probably next block and play gapless smile

123

(17 replies, posted in Features)

Block numbers are same as sample numbers from beginning of file (seconds = block / samplerate)
Example APL:


[Monkey's Audio Image Link File]
Image File=Lara Fabian - 9.ape
Start Block=0
Finish Block=10264716

----- APE TAG (DO NOT TOUCH!!!) -----
<binary APE tag here, forum does not allow to post>

124

(25 replies, posted in Development)

(actually a bugreport, but it has strong relation to this topic)
there's problem with Cog 549 when "INDEX 00" is missing (and only index 01 present) but other track have it - instead to trackchange to next track from previous in cue cog starts to output nasty noise
but if you select the 'problem' track in playlist - it plays as expected
here's exact cuesheet where bug was found:

REM GENRE Classical
REM DATE 2007
PERFORMER "Hayley Westenra"
TITLE "Treasure"
FILE "Hayley.Westenra.-.[Treasure].flac" WAVE
  TRACK 01 AUDIO
    TITLE "Let Me Lie"
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    TITLE "Le Notte Del Silenzio (featuring Humphrey Berney)"
    INDEX 01 05:06:18
  TRACK 03 AUDIO
    TITLE "Santa Lucia"
    INDEX 00 09:27:46
    INDEX 01 09:27:48
  TRACK 04 AUDIO
    TITLE "Shenandoah"
    INDEX 00 11:37:58
    INDEX 01 11:37:68
  TRACK 05 AUDIO
    TITLE "Whispering Hope"
    INDEX 01 14:59:43
  TRACK 06 AUDIO
    TITLE "Summer Rain"
    INDEX 01 17:02:06
  TRACK 07 AUDIO
    TITLE "Danny Boy"
    INDEX 00 21:00:34
    INDEX 01 21:00:37
  TRACK 08 AUDIO
    TITLE "One Fine Day"
    INDEX 01 24:42:40
  TRACK 09 AUDIO
    TITLE "The heart worships"
    INDEX 00 28:13:01
    INDEX 01 28:13:04
  TRACK 10 AUDIO
    TITLE "E Pari Ra"
    INDEX 01 31:29:43
  TRACK 11 AUDIO
    TITLE "Sonny"   <<-- when track changes from previous to this there's noise instead, if selected manually in playlist - all fine
    INDEX 00 34:41:74
    INDEX 01 34:42:07
  TRACK 12 AUDIO
    TITLE "Summerfly"
    INDEX 00 37:54:63
    INDEX 01 37:54:71
  TRACK 13 AUDIO
    TITLE "Melancholy Interlude"
    INDEX 01 41:34:54
  TRACK 14 AUDIO
    TITLE "Bist du bei mir"
    INDEX 00 43:12:01
    INDEX 01 43:13:02
  TRACK 15 AUDIO
    TITLE "Abide With Me"
    INDEX 01 46:09:19

in other players all is fine

update: revision 554 is still affected

125

(22 replies, posted in Archives)

<cogShortcut>
   <file>image.flac</file>
   <startIndex>00:02:03</startIndex>
   <endIndex>00:05:24</endIndex>
   <title>Some song</title>
   <performer>Some performer</performer>
   ...
</cogShortcut>