GUI modified
parent
180dcd01f2
commit
b77a0fe1de
|
@ -7,7 +7,6 @@
|
|||
@interface AppController : NSObject
|
||||
{
|
||||
IBOutlet PlaylistController *playlistController;
|
||||
IBOutlet NSPanel *infoPanel;
|
||||
IBOutlet NSWindow *mainWindow;
|
||||
|
||||
IBOutlet NSButton *playButton;
|
||||
|
@ -19,8 +18,8 @@
|
|||
IBOutlet NSButton *infoButton;
|
||||
IBOutlet NSButton *shuffleButton;
|
||||
IBOutlet NSButton *repeatButton;
|
||||
|
||||
}
|
||||
|
||||
- (IBAction)addFiles:(id)sender;
|
||||
- (IBAction)delEntries:(id)sender;
|
||||
- (IBAction)showInfo:(id)sender;
|
||||
|
|
|
@ -36,11 +36,6 @@
|
|||
[playlistController remove:self];
|
||||
}
|
||||
|
||||
- (IBAction)showInfo:(id)sender
|
||||
{
|
||||
[infoPanel makeKeyAndOrderFront:self];
|
||||
}
|
||||
|
||||
- (PlaylistEntry *)currentEntry
|
||||
{
|
||||
return [playlistController currentEntry];
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
Awesomized id3v2 and tagging support courtesy of TagLib.
|
||||
Dramatically improved performance of monkeys audio codec.
|
||||
SHN and Wavpack support.
|
||||
AAC support.
|
||||
AAC support. (AAC with id3 tags not supported at the moment.)
|
||||
Fixed 10.3 bug where files would not be removed from the playlist.
|
||||
Added tooltips and control menu.
|
||||
Fixed play button so it now plays the currently selected song if no song is playing. Otherwise, it does pause/resume.
|
||||
Changed info panel to a drawer.
|
||||
|
||||
TODO: have button images change, play to pause...shuffle and repeat
|
||||
TODO: have button images change, play to pause...shuffle and repeat
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
8E47215C08318D12001F89FA,
|
||||
8EF6FA64082DA525006F7BE6,
|
||||
8E6529F8083D93AF00A7AF1B,
|
||||
8E287E480855F2EC00562C66,
|
||||
8E287E490855F2EC00562C66,
|
||||
8E2871080836934A0013CE39,
|
||||
8E2871090836934A0013CE39,
|
||||
8E4721D108319294001F89FA,
|
||||
|
@ -430,6 +432,7 @@
|
|||
8E14E47C084CF1A200246BCC,
|
||||
8E8BAE5408548BD500E9F14D,
|
||||
8E8BAE5808548BE800E9F14D,
|
||||
8E287E4B0855F2EC00562C66,
|
||||
);
|
||||
isa = PBXSourcesBuildPhase;
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
|
@ -707,6 +710,34 @@
|
|||
settings = {
|
||||
};
|
||||
};
|
||||
8E287E480855F2EC00562C66 = {
|
||||
fileEncoding = 30;
|
||||
isa = PBXFileReference;
|
||||
lastKnownFileType = sourcecode.c.h;
|
||||
path = InfoView.h;
|
||||
refType = 4;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8E287E490855F2EC00562C66 = {
|
||||
fileEncoding = 30;
|
||||
isa = PBXFileReference;
|
||||
lastKnownFileType = sourcecode.c.objc;
|
||||
path = InfoView.m;
|
||||
refType = 4;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8E287E4A0855F2EC00562C66 = {
|
||||
fileRef = 8E287E480855F2EC00562C66;
|
||||
isa = PBXBuildFile;
|
||||
settings = {
|
||||
};
|
||||
};
|
||||
8E287E4B0855F2EC00562C66 = {
|
||||
fileRef = 8E287E490855F2EC00562C66;
|
||||
isa = PBXBuildFile;
|
||||
settings = {
|
||||
};
|
||||
};
|
||||
8E297908083D891500F2C55A = {
|
||||
fileEncoding = 30;
|
||||
isa = PBXFileReference;
|
||||
|
@ -1763,6 +1794,7 @@
|
|||
8EFFB6D4083302A500C53833,
|
||||
8EFFB6D5083302A500C53833,
|
||||
8EFFB6D6083302A500C53833,
|
||||
8E287E4A0855F2EC00562C66,
|
||||
);
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
|
|
|
@ -255,20 +255,19 @@
|
|||
<array>
|
||||
<string>29B97314FDCFA39411CA2CEA</string>
|
||||
<string>080E96DDFE201D6D7F000001</string>
|
||||
<string>8E47215C08318D12001F89FA</string>
|
||||
<string>29B97317FDCFA39411CA2CEA</string>
|
||||
<string>1C37FABC05509CD000000102</string>
|
||||
</array>
|
||||
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
|
||||
<array>
|
||||
<array>
|
||||
<integer>32</integer>
|
||||
<integer>24</integer>
|
||||
<integer>8</integer>
|
||||
<integer>1</integer>
|
||||
<integer>0</integer>
|
||||
</array>
|
||||
</array>
|
||||
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
|
||||
<string>{{0, 61}, {186, 565}}</string>
|
||||
<string>{{0, 0}, {186, 565}}</string>
|
||||
</dict>
|
||||
<key>PBXTopSmartGroupGIDs</key>
|
||||
<array/>
|
||||
|
@ -305,7 +304,7 @@
|
|||
<key>PBXProjectModuleGUID</key>
|
||||
<string>1CE0B20306471E060097A5F4</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>Changelog</string>
|
||||
<string>InfoView.m</string>
|
||||
<key>PBXSplitModuleInNavigatorKey</key>
|
||||
<dict>
|
||||
<key>Split0</key>
|
||||
|
@ -313,11 +312,11 @@
|
|||
<key>PBXProjectModuleGUID</key>
|
||||
<string>1CE0B20406471E060097A5F4</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>Changelog</string>
|
||||
<string>InfoView.m</string>
|
||||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>8E8F3FB008554B8000BCF803</string>
|
||||
<string>8E287E8A0855F63500562C66</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>8EF6FACD082DAA2B006F7BE6</string>
|
||||
|
@ -333,17 +332,13 @@
|
|||
<string>8EDC88A90842F8DE007D1532</string>
|
||||
<string>8EDC88B50842F936007D1532</string>
|
||||
<string>8ED833CD08457E6B0033CDBD</string>
|
||||
<string>8E10DC00084BBE490013815C</string>
|
||||
<string>8E94D9D2084BEA32007F0AEB</string>
|
||||
<string>8E94D9D3084BEA32007F0AEB</string>
|
||||
<string>8E5A90B8084CC25900AE6D62</string>
|
||||
<string>8EA0A215084CC43F008DFEC9</string>
|
||||
<string>8E14E4A5084D089100246BCC</string>
|
||||
<string>8EC156F5084FEB8900BB24E8</string>
|
||||
<string>8E2752B70850A92E001618CD</string>
|
||||
<string>8E2BC83D0850F56200BEAC36</string>
|
||||
<string>8EE2A5B808511A1800367489</string>
|
||||
<string>8EE2A5B908511A1800367489</string>
|
||||
<string>8E72BC640851408F00E34F1D</string>
|
||||
<string>8EFC6D18085376D100C67D06</string>
|
||||
<string>8EFC6DE7085380B800C67D06</string>
|
||||
|
@ -375,17 +370,23 @@
|
|||
<string>8E8F3F21085543D700BCF803</string>
|
||||
<string>8E8F3F22085543D700BCF803</string>
|
||||
<string>8E8F3F23085543D700BCF803</string>
|
||||
<string>8E8F3F3F0855457A00BCF803</string>
|
||||
<string>8E8F3F400855457A00BCF803</string>
|
||||
<string>8E8F3F59085546B300BCF803</string>
|
||||
<string>8E8F3F770855483300BCF803</string>
|
||||
<string>8E8F3F780855483300BCF803</string>
|
||||
<string>8E8F3F790855483300BCF803</string>
|
||||
<string>8E8F3FA408554B8000BCF803</string>
|
||||
<string>8E8F3FA508554B8000BCF803</string>
|
||||
<string>8E8F3FA608554B8000BCF803</string>
|
||||
<string>8E8F3FA708554B8000BCF803</string>
|
||||
<string>8E8F3FA808554B8000BCF803</string>
|
||||
<string>8EF45A7A08557C4D00D2D5D0</string>
|
||||
<string>8E287CDC0855D60A00562C66</string>
|
||||
<string>8E287CDD0855D60A00562C66</string>
|
||||
<string>8E287D8E0855E0F300562C66</string>
|
||||
<string>8E287E580855F35400562C66</string>
|
||||
<string>8E287E7F0855F60E00562C66</string>
|
||||
<string>8E287E800855F60E00562C66</string>
|
||||
<string>8E287E810855F60E00562C66</string>
|
||||
<string>8E287E820855F60E00562C66</string>
|
||||
<string>8E287E830855F60E00562C66</string>
|
||||
<string>8E287E5A0855F35400562C66</string>
|
||||
</array>
|
||||
<key>prevStack</key>
|
||||
<array>
|
||||
|
@ -454,56 +455,36 @@
|
|||
<string>8E8BAEB708548C9600E9F14D</string>
|
||||
<string>8E8BAF17085494E000E9F14D</string>
|
||||
<string>8EB30D990854BEF1009EA87F</string>
|
||||
<string>8E8F3ED00855401300BCF803</string>
|
||||
<string>8E8F3ED10855401300BCF803</string>
|
||||
<string>8E8F3ED20855401300BCF803</string>
|
||||
<string>8E8F3ED30855401300BCF803</string>
|
||||
<string>8E8F3ED40855401300BCF803</string>
|
||||
<string>8E8F3ED50855401300BCF803</string>
|
||||
<string>8E8F3ED60855401300BCF803</string>
|
||||
<string>8E8F3ED70855401300BCF803</string>
|
||||
<string>8E8F3ED80855401300BCF803</string>
|
||||
<string>8E8F3ED90855401300BCF803</string>
|
||||
<string>8E8F3EDA0855401300BCF803</string>
|
||||
<string>8E8F3EDB0855401300BCF803</string>
|
||||
<string>8E8F3EDC0855401300BCF803</string>
|
||||
<string>8E8F3EDD0855401300BCF803</string>
|
||||
<string>8E8F3EDE0855401300BCF803</string>
|
||||
<string>8E8F3EDF0855401300BCF803</string>
|
||||
<string>8E8F3EE00855401300BCF803</string>
|
||||
<string>8E8F3EE10855401300BCF803</string>
|
||||
<string>8E8F3EE20855401300BCF803</string>
|
||||
<string>8E8F3EE30855401300BCF803</string>
|
||||
<string>8E8F3F26085543D700BCF803</string>
|
||||
<string>8E8F3F27085543D700BCF803</string>
|
||||
<string>8E8F3F28085543D700BCF803</string>
|
||||
<string>8E8F3F29085543D700BCF803</string>
|
||||
<string>8E8F3F2A085543D700BCF803</string>
|
||||
<string>8E8F3F2B085543D700BCF803</string>
|
||||
<string>8E8F3F2C085543D700BCF803</string>
|
||||
<string>8E8F3F2D085543D700BCF803</string>
|
||||
<string>8E8F3F2E085543D700BCF803</string>
|
||||
<string>8E8F3F420855457A00BCF803</string>
|
||||
<string>8E8F3F430855457A00BCF803</string>
|
||||
<string>8E8F3F440855457A00BCF803</string>
|
||||
<string>8E8F3F450855457A00BCF803</string>
|
||||
<string>8E8F3F460855457A00BCF803</string>
|
||||
<string>8E8F3F470855457A00BCF803</string>
|
||||
<string>8E8F3F510855461700BCF803</string>
|
||||
<string>8E8F3F5B085546B300BCF803</string>
|
||||
<string>8E8F3F5C085546B300BCF803</string>
|
||||
<string>8E8F3F5D085546B300BCF803</string>
|
||||
<string>8E8F3F690855478900BCF803</string>
|
||||
<string>8E8F3F7B0855483300BCF803</string>
|
||||
<string>8E8F3F7C0855483300BCF803</string>
|
||||
<string>8E8F3F7D0855483300BCF803</string>
|
||||
<string>8E8F3F7E0855483300BCF803</string>
|
||||
<string>8E8F3FA908554B8000BCF803</string>
|
||||
<string>8E8F3FAA08554B8000BCF803</string>
|
||||
<string>8E8F3FAB08554B8000BCF803</string>
|
||||
<string>8E8F3FAC08554B8000BCF803</string>
|
||||
<string>8E8F3FAD08554B8000BCF803</string>
|
||||
<string>8E8F3FAE08554B8000BCF803</string>
|
||||
<string>8E287CCE0855D5D000562C66</string>
|
||||
<string>8E287CE00855D60A00562C66</string>
|
||||
<string>8E287CE10855D60A00562C66</string>
|
||||
<string>8E287CE20855D60A00562C66</string>
|
||||
<string>8E287CE30855D60A00562C66</string>
|
||||
<string>8E287CE40855D60A00562C66</string>
|
||||
<string>8E287CF80855D8E100562C66</string>
|
||||
<string>8E287CF90855D8E100562C66</string>
|
||||
<string>8E287CFB0855D8E100562C66</string>
|
||||
<string>8E287D0F0855D9D600562C66</string>
|
||||
<string>8E287D100855D9D600562C66</string>
|
||||
<string>8E287D660855DEF500562C66</string>
|
||||
<string>8E287D870855E0BC00562C66</string>
|
||||
<string>8E287D8F0855E0F300562C66</string>
|
||||
<string>8E287E290855F01400562C66</string>
|
||||
<string>8E287E330855F16800562C66</string>
|
||||
<string>8E287E340855F16800562C66</string>
|
||||
<string>8E287E350855F16800562C66</string>
|
||||
<string>8E287E360855F16800562C66</string>
|
||||
<string>8E287E5B0855F35400562C66</string>
|
||||
<string>8E287E5C0855F35400562C66</string>
|
||||
<string>8E287E5D0855F35400562C66</string>
|
||||
<string>8E287E5E0855F35400562C66</string>
|
||||
<string>8E287E5F0855F35400562C66</string>
|
||||
<string>8E287E840855F60E00562C66</string>
|
||||
<string>8E287E850855F60E00562C66</string>
|
||||
<string>8E287E860855F60E00562C66</string>
|
||||
<string>8E287E870855F60E00562C66</string>
|
||||
<string>8E287E880855F60E00562C66</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
|
@ -561,9 +542,9 @@
|
|||
</array>
|
||||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>8E8F3E480855374000BCF803</string>
|
||||
<string>8E287CD30855D5D000562C66</string>
|
||||
<string>1CE0B1FE06471DED0097A5F4</string>
|
||||
<string>8E8F3E490855374000BCF803</string>
|
||||
<string>8E287CD40855D5D000562C66</string>
|
||||
<string>1CE0B20306471E060097A5F4</string>
|
||||
<string>1CE0B20506471E060097A5F4</string>
|
||||
</array>
|
||||
|
@ -698,11 +679,6 @@
|
|||
<key>WindowOrderList</key>
|
||||
<array>
|
||||
<string>8EF6FAA6082DA951006F7BE6</string>
|
||||
<string>8E8F3EE50855401300BCF803</string>
|
||||
<string>8E8F3EE60855401300BCF803</string>
|
||||
<string>8E7A9371083675B600771E14</string>
|
||||
<string>1CD10A99069EF8BA00B06720</string>
|
||||
<string>8E8F3E5B085538AB00BCF803</string>
|
||||
<string>1C0AD2B3069F1EA900FABCE6</string>
|
||||
<string>/Users/xugg/Projects/Cog/Cog.xcode</string>
|
||||
</array>
|
||||
|
@ -730,7 +706,7 @@
|
|||
<key>PBXProjectModuleGUID</key>
|
||||
<string>1CD0528F0623707200166675</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>Sound.m</string>
|
||||
<string>AppController.m</string>
|
||||
<key>StatusBarVisibility</key>
|
||||
<true/>
|
||||
</dict>
|
||||
|
@ -786,7 +762,7 @@
|
|||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>8EF6FAA6082DA951006F7BE6</string>
|
||||
<string>8E8F3E8408553C6000BCF803</string>
|
||||
<string>8E287D1F0855DA8900562C66</string>
|
||||
<string>1CD0528F0623707200166675</string>
|
||||
<string>XCMainBuildResultsModuleGUID</string>
|
||||
</array>
|
||||
|
@ -1098,8 +1074,8 @@
|
|||
<string>yes</string>
|
||||
<key>sizes</key>
|
||||
<array>
|
||||
<string>{{0, 0}, {366, 168}}</string>
|
||||
<string>{{0, 173}, {366, 270}}</string>
|
||||
<string>{{0, 0}, {491, 168}}</string>
|
||||
<string>{{0, 173}, {491, 270}}</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>VerticalSplitView</key>
|
||||
|
@ -1148,9 +1124,9 @@
|
|||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>1C0AD2B3069F1EA900FABCE6</string>
|
||||
<string>8E8F3E4C085537A500BCF803</string>
|
||||
<string>8E287CC10855D58700562C66</string>
|
||||
<string>1CD0528B0623707200166675</string>
|
||||
<string>8E8F3E4D085537A500BCF803</string>
|
||||
<string>8E287CC20855D58700562C66</string>
|
||||
</array>
|
||||
<key>ToolbarConfiguration</key>
|
||||
<string>xcode.toolbar.config.run</string>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -14,7 +14,6 @@
|
|||
OUTLETS = {
|
||||
addButton = NSButton;
|
||||
infoButton = NSButton;
|
||||
infoPanel = NSPanel;
|
||||
mainWindow = NSWindow;
|
||||
nextButton = NSButton;
|
||||
playButton = NSButton;
|
||||
|
@ -47,6 +46,8 @@
|
|||
SUPERCLASS = NSObject;
|
||||
},
|
||||
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
|
||||
{CLASS = InfoController; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
|
||||
{CLASS = InfoView; LANGUAGE = ObjC; SUPERCLASS = NSView; },
|
||||
{
|
||||
ACTIONS = {takeRepeatFromObject = id; takeShuffleFromObject = id; };
|
||||
CLASS = PlaylistController;
|
||||
|
@ -77,6 +78,7 @@
|
|||
OUTLETS = {
|
||||
bitrateField = NSTextField;
|
||||
lengthField = NSTextField;
|
||||
playButton = NSButton;
|
||||
playlistController = PlaylistController;
|
||||
playlistView = PlaylistView;
|
||||
positionSlider = TrackingSlider;
|
||||
|
|
|
@ -3,18 +3,25 @@
|
|||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IBDocumentLocation</key>
|
||||
<string>298 406 356 240 0 0 1024 746 </string>
|
||||
<string>349 139 356 240 0 0 1024 746 </string>
|
||||
<key>IBEditorPositions</key>
|
||||
<dict>
|
||||
<key>29</key>
|
||||
<string>243 676 346 44 0 0 1024 746 </string>
|
||||
<key>463</key>
|
||||
<string>356 394 312 249 0 0 1024 746 </string>
|
||||
</dict>
|
||||
<key>IBFramework Version</key>
|
||||
<string>437.0</string>
|
||||
<string>439.0</string>
|
||||
<key>IBLockedObjects</key>
|
||||
<array>
|
||||
<integer>484</integer>
|
||||
</array>
|
||||
<key>IBOpenObjects</key>
|
||||
<array>
|
||||
<integer>29</integer>
|
||||
<integer>21</integer>
|
||||
<integer>463</integer>
|
||||
</array>
|
||||
<key>IBSystem Version</key>
|
||||
<string>8B15</string>
|
||||
|
|
Binary file not shown.
4
Sound.m
4
Sound.m
|
@ -675,7 +675,9 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc
|
|||
|
||||
- (void)playFile:(NSString *)filename
|
||||
{
|
||||
[self stop];
|
||||
[self resetBuffer];
|
||||
[self stopPositionTimer];
|
||||
// [self stop];
|
||||
|
||||
DBLog(@"PLAYING FILE");
|
||||
[self setSoundFile:filename];
|
||||
|
|
|
@ -17,6 +17,9 @@
|
|||
IBOutlet NSTextField *timeField;
|
||||
IBOutlet NSTextField *lengthField;
|
||||
IBOutlet NSTextField *bitrateField;
|
||||
|
||||
IBOutlet NSButton *playButton;
|
||||
|
||||
BOOL waitingForPlay; //No sneaky changing on us
|
||||
Sound *sound;
|
||||
|
||||
|
|
|
@ -186,6 +186,27 @@
|
|||
}
|
||||
}
|
||||
|
||||
- (void)changePlayButtonImage:(NSString *)name
|
||||
{
|
||||
NSImage *img = [NSImage imageNamed:[name stringByAppendingString:@"_gray"]];
|
||||
NSImage *alt = [NSImage imageNamed:[name stringByAppendingString:@"_blue"]];
|
||||
[img retain];
|
||||
[alt retain];
|
||||
if (img == nil)
|
||||
{
|
||||
DBLog(@"NIL IMAGE!!!");
|
||||
}
|
||||
if (alt == nil)
|
||||
{
|
||||
DBLog(@"NIL ALT");
|
||||
}
|
||||
|
||||
DBLog(@"Setting button: %@", name);
|
||||
|
||||
[playButton setImage:img];
|
||||
[playButton setAlternateImage:alt];
|
||||
}
|
||||
|
||||
- (void)handlePortMessage:(NSPortMessage *)portMessage
|
||||
{
|
||||
|
||||
|
@ -282,6 +303,19 @@
|
|||
|
||||
playbackStatus = s;
|
||||
DBLog(@"STATUS UPDATE: %i", s);
|
||||
|
||||
if (s == kCogStatusStopped || s == kCogStatusPaused)
|
||||
{
|
||||
//Show play image
|
||||
[self changePlayButtonImage:@"play"];
|
||||
DBLog(@"PLAY PIC");
|
||||
}
|
||||
else if (s == kCogStatusPlaying)
|
||||
{
|
||||
//Show pause
|
||||
[self changePlayButtonImage:@"pause"];
|
||||
DBLog(@"PAUSE PIC");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue