|
@@ -60,7 +60,7 @@ class PQStuckPointEditerController: PQBaseViewController {
|
|
|
// 跳跃卡点最后一次选择的速度位置
|
|
|
var lastJumpSpeedSelectIndex: Int = 0
|
|
|
// 循环次数设置最后一次选择的位置
|
|
|
- var lastCyclesSelectIndex: Int = 0
|
|
|
+ var lastCyclesSelectIndex: Int = -1
|
|
|
|
|
|
// 当前选择的玩法模式
|
|
|
var currentCreateStickersModel: createStickersModel = .createStickersModelSpeed
|
|
@@ -316,7 +316,7 @@ class PQStuckPointEditerController: PQBaseViewController {
|
|
|
lazy var speedSettingView: PQSpeedSettingView = {
|
|
|
let speedSettingView = PQSpeedSettingView()
|
|
|
speedSettingView.backgroundColor = .clear
|
|
|
- speedSettingView.selectSpeedCallBack = { [weak self] maxSpeed, minSpeed, selectIndex, isSettingPlayer in
|
|
|
+ speedSettingView.selectSpeedCallBack = { [weak self] maxSpeed, minSpeed, selectIndex, isSettingPlayer,isCancle in
|
|
|
BFLog(message: "固定maxSpeed is\(maxSpeed) minSpeed \(minSpeed)")
|
|
|
// 更新最后一次选择的位置恢复时使用
|
|
|
if speedSettingView.viewType == 1 {
|
|
@@ -330,7 +330,7 @@ class PQStuckPointEditerController: PQBaseViewController {
|
|
|
self?.minSpeed = minSpeed
|
|
|
if maxSpeed == -1.0 && minSpeed == -1.0 {
|
|
|
self?.customSpeedSettingView.isHidden = false
|
|
|
- self?.customSpeedSettingView.isJumpSpeedModel = speedSettingView.viewType == 2
|
|
|
+ self?.customSpeedSettingView.viewType = speedSettingView.viewType
|
|
|
}
|
|
|
if isSettingPlayer {
|
|
|
self?.settingPlayerView()
|
|
@@ -344,8 +344,7 @@ class PQStuckPointEditerController: PQBaseViewController {
|
|
|
lazy var customSpeedSettingView: PQCustomSpeedSettingView = {
|
|
|
let customSpeedSettingView = PQCustomSpeedSettingView(frame: CGRect(x: 0, y: cScreenHeigth - 354, width: cScreenWidth, height: 354))
|
|
|
customSpeedSettingView.isHidden = true
|
|
|
- customSpeedSettingView.isJumpSpeedModel = false
|
|
|
- customSpeedSettingView.selectSpeedCallBack = { [weak self] maxSpeed, minSpeed, isJumpSpeedModel in
|
|
|
+ customSpeedSettingView.selectSpeedCallBack = { [weak self] maxSpeed, minSpeed, isJumpSpeedModel ,isCancle in
|
|
|
self?.maxSpeed = maxSpeed
|
|
|
self?.minSpeed = minSpeed
|
|
|
BFLog(message: "自定义速度maxSpeed is\(maxSpeed) minSpeed \(minSpeed) \(isJumpSpeedModel)")
|
|
@@ -494,7 +493,7 @@ class PQStuckPointEditerController: PQBaseViewController {
|
|
|
// 1 ui 调整
|
|
|
if sender.tag == 1 || sender.tag == 2 {
|
|
|
speedSettingView.viewType = sender.tag
|
|
|
- customSpeedSettingView.isJumpSpeedModel = speedSettingView.viewType == 2
|
|
|
+ customSpeedSettingView.viewType = speedSettingView.viewType
|
|
|
|
|
|
speedSettingView.snp.remakeConstraints { make in
|
|
|
make.left.equalToSuperview().offset(16)
|
|
@@ -515,7 +514,7 @@ class PQStuckPointEditerController: PQBaseViewController {
|
|
|
// 2素材全是图片的时候三个模式都显示循环设置 UI
|
|
|
if selectedDataCount == selectedImageDataCount {
|
|
|
speedSettingView.viewType = 3
|
|
|
- customSpeedSettingView.isJumpSpeedModel = false
|
|
|
+ customSpeedSettingView.viewType = speedSettingView.viewType
|
|
|
speedSettingView.snp.remakeConstraints { make in
|
|
|
make.left.equalToSuperview().offset(16)
|
|
|
make.right.equalToSuperview()
|
|
@@ -527,7 +526,7 @@ class PQStuckPointEditerController: PQBaseViewController {
|
|
|
editModelLineView.isHidden = false
|
|
|
speedTitleLab.isHidden = false
|
|
|
sustomSwitchView.isHidden = false
|
|
|
- speedSettingView.setSelectItem(index: lastCyclesSelectIndex, isSettingPlayer: false)
|
|
|
+// speedSettingView.setSelectItem(index: lastCyclesSelectIndex, isSettingPlayer: false)
|
|
|
|
|
|
} else {
|
|
|
if sender.tag == 1 { // 快慢速
|
|
@@ -535,7 +534,7 @@ class PQStuckPointEditerController: PQBaseViewController {
|
|
|
} else if sender.tag == 2 { // 跳跃卡点
|
|
|
speedSettingView.setSelectItem(index: lastJumpSpeedSelectIndex, isSettingPlayer: false)
|
|
|
} else if sender.tag == 3 { // 仅音乐
|
|
|
- customSpeedSettingView.isJumpSpeedModel = false
|
|
|
+// customSpeedSettingView.isJumpSpeedModel = false
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1223,6 +1222,7 @@ extension PQStuckPointEditerController {
|
|
|
|
|
|
// 已经取到的视频素材总长度,用于和原视频素材时长做对比,不够多加一个点
|
|
|
var useAssestDuration: Float = 0.0
|
|
|
+ selectedTotalDuration = 0.0
|
|
|
switch model {
|
|
|
case .createStickersModelPoint: // 跳跃卡点
|
|
|
stuckPointsTemp = getUsedStuckPoint(seed: stuckPointMusicData?.speed ?? 0)
|
|
@@ -1384,20 +1384,23 @@ extension PQStuckPointEditerController {
|
|
|
speedSettingView.viewType = 3
|
|
|
|
|
|
// lastCyclesSelectIndex 应该是手动设置的值
|
|
|
- if lastCyclesSelectIndex != 0 {
|
|
|
- for i in 0 ... lastCyclesSelectIndex - 1 {
|
|
|
- var pointIndex = stuckPointsTemp.firstIndex(where: { (point) -> Bool in
|
|
|
- (point == (finallyStuckPoints.last ?? 0).truncatingRemainder(dividingBy: (stuckPointsTemp.last ?? 0)))
|
|
|
- })
|
|
|
- pointIndex = (pointIndex ?? 0) + 1
|
|
|
- for i in 0 ... selectedImageDataCount {
|
|
|
- let a = stuckPointsTemp[(i + Int(pointIndex ?? 0)) % stuckPointsTemp.count]
|
|
|
- let b = Float((i + Int(pointIndex ?? 0)) / stuckPointsTemp.count) * (stuckPointsTemp.first ?? 0)
|
|
|
- finallyStuckPoints.append(a + b)
|
|
|
+ if lastCyclesSelectIndex != -1 {
|
|
|
+ if(lastCyclesSelectIndex != 0){
|
|
|
+ for i in 0 ... lastCyclesSelectIndex - 1{
|
|
|
+ var pointIndex = stuckPointsTemp.firstIndex(where: { (point) -> Bool in
|
|
|
+ (point == (finallyStuckPoints.last ?? 0).truncatingRemainder(dividingBy: (stuckPointsTemp.last ?? 0)))
|
|
|
+ })
|
|
|
+ pointIndex = (pointIndex ?? 0) + 1
|
|
|
+ for i in 0 ... selectedImageDataCount {
|
|
|
+ let a = stuckPointsTemp[(i + Int(pointIndex ?? 0)) % stuckPointsTemp.count]
|
|
|
+ let b = Float((i + Int(pointIndex ?? 0)) / stuckPointsTemp.count) * (stuckPointsTemp.first ?? 0)
|
|
|
+ finallyStuckPoints.append(a + b)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
} else {
|
|
|
- lastCyclesSelectIndex = 0
|
|
|
+ lastCyclesSelectIndex = 1
|
|
|
while selectedTotalDuration < 10 {
|
|
|
// 不够10S 时 一次加图片数量的卡点数
|
|
|
var pointIndex = stuckPointsTemp.firstIndex(where: { (point) -> Bool in
|