GUI modified

CQTexperiment
vspader 2005-06-07 19:28:44 +00:00
parent 180dcd01f2
commit b77a0fe1de
12 changed files with 620 additions and 753 deletions

View File

@ -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;

View File

@ -36,11 +36,6 @@
[playlistController remove:self];
}
- (IBAction)showInfo:(id)sender
{
[infoPanel makeKeyAndOrderFront:self];
}
- (PlaylistEntry *)currentEntry
{
return [playlistController currentEntry];

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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.

View File

@ -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];

View File

@ -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;

View File

@ -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");
}
}
}