--- a/project_files/HedgewarsMobile/Classes/VoicesViewController.m Wed Jun 23 21:39:14 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/VoicesViewController.m Wed Jun 23 21:49:19 2010 +0200
@@ -1,150 +0,0 @@
-//
-// VoicesViewController.m
-// HedgewarsMobile
-//
-// Created by Vittorio on 02/04/10.
-// Copyright 2010 __MyCompanyName__. All rights reserved.
-//
-
-#import "VoicesViewController.h"
-#import "CommodityFunctions.h"
-#import "openalbridge.h"
-
-
-@implementation VoicesViewController
-@synthesize teamDictionary, voiceArray, lastIndexPath;
-
-
--(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation {
- return rotationManager(interfaceOrientation);
-}
-
-
-#pragma mark -
-#pragma mark View lifecycle
-- (void)viewDidLoad {
- [super viewDidLoad];
- srandom(time(NULL));
-
- openal_init();
- voiceBeingPlayed = -1;
-
- // load all the voices names and store them into voiceArray
- // it's here and not in viewWillAppear because user cannot add/remove them
- NSArray *array = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:VOICES_DIRECTORY() error:NULL];
- self.voiceArray = array;
-}
-
-- (void)viewWillAppear:(BOOL)animated {
- [super viewWillAppear:animated];
-
- // this moves the tableview to the top
- [self.tableView setContentOffset:CGPointMake(0,0) animated:NO];
-}
-
--(void) viewWillDisappear:(BOOL)animated {
- [super viewWillDisappear:animated];
- if(voiceBeingPlayed >= 0) {
- openal_stopsound(voiceBeingPlayed);
- voiceBeingPlayed = -1;
- }
-}
-
-
-#pragma mark -
-#pragma mark Table view data source
--(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView {
- return 1;
-}
-
--(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
- return [self.voiceArray count];
-}
-
-// Customize the appearance of table view cells.
--(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
-
- static NSString *CellIdentifier = @"Cell";
-
- UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
- if (cell == nil) {
- cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
- }
-
- NSString *voice = [[voiceArray objectAtIndex:[indexPath row]] stringByDeletingPathExtension];
- cell.textLabel.text = voice;
-
- if ([voice isEqualToString:[teamDictionary objectForKey:@"voicepack"]]) {
- cell.accessoryType = UITableViewCellAccessoryCheckmark;
- self.lastIndexPath = indexPath;
- } else {
- cell.accessoryType = UITableViewCellAccessoryNone;
- }
-
- return cell;
-}
-
-
-#pragma mark -
-#pragma mark Table view delegate
--(void) tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
- int newRow = [indexPath row];
- int oldRow = (lastIndexPath != nil) ? [lastIndexPath row] : -1;
-
- if (newRow != oldRow) {
- [teamDictionary setObject:[voiceArray objectAtIndex:newRow] forKey:@"voicepack"];
-
- // tell our boss to write this new stuff on disk
- [[NSNotificationCenter defaultCenter] postNotificationName:@"setWriteNeedTeams" object:nil];
- [self.tableView reloadData];
-
- self.lastIndexPath = indexPath;
- [self.tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionNone];
- }
- [self.tableView deselectRowAtIndexPath:indexPath animated:YES];
-
- if (voiceBeingPlayed >= 0) {
- openal_stopsound(voiceBeingPlayed);
- voiceBeingPlayed = -1;
- }
-
- // the keyword static prevents re-initialization of the variable
- NSString *voiceDir = [[NSString alloc] initWithFormat:@"%@/%@/",VOICES_DIRECTORY(),[voiceArray objectAtIndex:newRow]];
- NSArray *array = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:voiceDir error:NULL];
-
- int index = random() % [array count];
-
- voiceBeingPlayed = openal_loadfile([[voiceDir stringByAppendingString:[array objectAtIndex:index]] UTF8String]);
- [voiceDir release];
- openal_playsound(voiceBeingPlayed);
-}
-
-
-#pragma mark -
-#pragma mark Memory management
--(void) didReceiveMemoryWarning {
- // Releases the view if it doesn't have a superview.
- [super didReceiveMemoryWarning];
- // Relinquish ownership any cached data, images, etc that aren't in use.
-}
-
--(void) viewDidUnload {
- openal_close();
- voiceBeingPlayed = -1;
- self.lastIndexPath = nil;
- self.teamDictionary = nil;
- self.voiceArray = nil;
- [super viewDidUnload];
- MSG_DIDUNLOAD();
-}
-
--(void) dealloc {
- [voiceArray release];
- [teamDictionary release];
- [lastIndexPath release];
- [super dealloc];
-}
-
-
-@end
-