This commit is contained in:
Okechi 2016-03-05 01:03:09 -05:00
parent 100615e25f
commit 2d0ee54191
5 changed files with 35 additions and 16 deletions

View File

@ -74,7 +74,6 @@ class CurrentlyPlayingViewController: UIViewController, PartyServiceManagerDeleg
// Do any additional setup after loading the view. // Do any additional setup after loading the view.
if(self.party.role == PeerType.Host_Creator){ if(self.party.role == PeerType.Host_Creator){
self.audioPlayer = AVPlayer(URL: self.party.currentSong.valueForProperty(MPMediaItemPropertyAssetURL) as! NSURL) self.audioPlayer = AVPlayer(URL: self.party.currentSong.valueForProperty(MPMediaItemPropertyAssetURL) as! NSURL)
self.songImg.image = self.party.currentSong.valueForProperty(MPMediaItemPropertyArtwork).imageWithSize(songImg.frame.size) self.songImg.image = self.party.currentSong.valueForProperty(MPMediaItemPropertyArtwork).imageWithSize(songImg.frame.size)

View File

@ -42,11 +42,15 @@ class HomeScreenViewController: UIViewController, PartyServiceManagerDelegate {
if(self.firstTime == true){ if(self.firstTime == true){
self.partyData.setPeerID((self.userData[0].displayName)) self.partyData.setPeerID((self.userData[0].displayName))
self.partyData.initializeSession() self.partyData.initializeSession()
self.partyData.setAdvertiser()
//start peer-to-peer advertising //start peer-to-peer advertising
self.partyData.setAdvertiser()
self.partyData.startListening() self.partyData.startListening()
//start browsing for peers
self.partyData.setBrowser()
self.partyData.startBrowser()
self.partyData.delegate = self self.partyData.delegate = self
self.firstTime = false self.firstTime = false
} }
@ -137,7 +141,20 @@ class HomeScreenViewController: UIViewController, PartyServiceManagerDelegate {
extension HomeScreenViewController: PartyServiceManagerDelegate { extension HomeScreenViewController: PartyServiceManagerDelegate {
func foundPeer() { func foundPeer() {
for foundPeer in self.partyData.foundPeers {
for friend in self.friendData {
if foundPeer.displayName == friend.displayName {
for(index, aFriend) in enumerate(self.friendData) {
if aFriend.displayName == friend.displayName {
self.partyData.isInvitable[index] = true
self.partyData.invitableCount++
break
}
}
}
}
}
} }
func lostPeer() { func lostPeer() {

View File

@ -218,7 +218,6 @@ extension LoadingPartyViewController: PartyServiceManagerDelegate {
/* /*
let asset: AVURLAsset? = AVURLAsset(URL: (self.party.currentSong.valueForProperty(MPMediaItemPropertyAssetURL) as! NSURL), options: nil) let asset: AVURLAsset? = AVURLAsset(URL: (self.party.currentSong.valueForProperty(MPMediaItemPropertyAssetURL) as! NSURL), options: nil)

View File

@ -9,6 +9,7 @@
import Foundation import Foundation
import MultipeerConnectivity import MultipeerConnectivity
import MediaPlayer import MediaPlayer
import AVFoundation
protocol PartyServiceManagerDelegate { protocol PartyServiceManagerDelegate {
@ -60,6 +61,8 @@ class PartyServiceManager: NSObject {
//party-creator variables //party-creator variables
var currentSong: MPMediaItem! = nil var currentSong: MPMediaItem! = nil
var outputStreamers: Dictionary<String, TDAudioOutputStreamer> = Dictionary<String, TDAudioOutputStreamer>() var outputStreamers: Dictionary<String, TDAudioOutputStreamer> = Dictionary<String, TDAudioOutputStreamer>()
var isInvitable: [Bool] = []
var invitableCount = 0
//party-guest variables //party-guest variables
var currentSongTitle: String! var currentSongTitle: String!
@ -137,6 +140,7 @@ class PartyServiceManager: NSObject {
} }
return (instruction!, fromPeer) return (instruction!, fromPeer)
}else{ }else{
return ("not_an_instruction", fromPeer) return ("not_an_instruction", fromPeer)
} }

View File

@ -14,8 +14,8 @@ class TestInviteFriendsController: UIViewController, UITableViewDelegate, UITabl
var frnds: [FriendData] = [] var frnds: [FriendData] = []
var requestData: [FriendData] = [] var requestData: [FriendData] = []
var isFriendSelected: [Bool] = [] var isFriendSelected: [Bool] = []
var isInvitable: [Bool] = [] //var isInvitable: [Bool] = []
var invitableCount = 0 //var invitableCount = 0
var partyData: PartyServiceManager! = nil var partyData: PartyServiceManager! = nil
@IBOutlet weak var table: UITableView! @IBOutlet weak var table: UITableView!
@ -47,7 +47,7 @@ class TestInviteFriendsController: UIViewController, UITableViewDelegate, UITabl
} }
self.partyData.serviceBrowser.stopBrowsingForPeers() //self.partyData.serviceBrowser.stopBrowsingForPeers()
for booli in self.isFriendSelected { for booli in self.isFriendSelected {
if booli == true { if booli == true {
@ -73,7 +73,7 @@ class TestInviteFriendsController: UIViewController, UITableViewDelegate, UITabl
for i in 0..<self.frnds.count{ for i in 0..<self.frnds.count{
self.isFriendSelected.append(false) self.isFriendSelected.append(false)
self.isInvitable.append(false) self.partyData.isInvitable.append(false)
} }
} }
@ -111,8 +111,8 @@ class TestInviteFriendsController: UIViewController, UITableViewDelegate, UITabl
override func viewWillAppear(animated: Bool) { override func viewWillAppear(animated: Bool) {
//start browsing for peers //start browsing for peers
self.partyData.setBrowser() //self.partyData.setBrowser()
self.partyData.startBrowser() //self.partyData.startBrowser()
} }
override func didReceiveMemoryWarning() { override func didReceiveMemoryWarning() {
@ -132,7 +132,7 @@ class TestInviteFriendsController: UIViewController, UITableViewDelegate, UITabl
// #warning Incomplete method implementation. // #warning Incomplete method implementation.
// Return the number of rows in the section. // Return the number of rows in the section.
return self.invitableCount return self.partyData.invitableCount
//return self.frnds.count //return self.frnds.count
} }
@ -143,7 +143,7 @@ class TestInviteFriendsController: UIViewController, UITableViewDelegate, UITabl
var friend: FriendData! var friend: FriendData!
for i in 0..<self.frnds.count { for i in 0..<self.frnds.count {
if(self.isInvitable[i] == true){ if(self.partyData.isInvitable[i] == true){
friend = self.frnds[i] friend = self.frnds[i]
} }
} }
@ -275,8 +275,8 @@ extension TestInviteFriendsController: PartyServiceManagerDelegate {
if foundPeer.displayName == friend.displayName { if foundPeer.displayName == friend.displayName {
for(index, aFriend) in enumerate(self.frnds) { for(index, aFriend) in enumerate(self.frnds) {
if aFriend.displayName == friend.displayName { if aFriend.displayName == friend.displayName {
self.isInvitable[index] = true self.partyData.isInvitable[index] = true
self.invitableCount++ self.partyData.invitableCount++
break break
} }
@ -288,7 +288,7 @@ extension TestInviteFriendsController: PartyServiceManagerDelegate {
} }
func lostPeer() { func lostPeer() {
self.invitableCount-- self.partyData.invitableCount--
self.table.reloadData() self.table.reloadData()
} }