91 lines
2.0 KiB
Plaintext
91 lines
2.0 KiB
Plaintext
@startuml
|
|
!theme plain
|
|
hide empty description
|
|
top to bottom direction
|
|
|
|
title Placed audio player - public state model
|
|
|
|
skinparam backgroundColor transparent
|
|
skinparam shadowing false
|
|
skinparam roundcorner 14
|
|
skinparam ArrowThickness 1.2
|
|
skinparam DefaultFontName "DejaVu Sans"
|
|
skinparam DefaultFontSize 13
|
|
|
|
skinparam state {
|
|
BackgroundColor #F8F8F8
|
|
BorderColor #555555
|
|
FontColor #222222
|
|
StartColor #555555
|
|
EndColor #555555
|
|
|
|
BackgroundColor<<blue>> #DCEEFF
|
|
BorderColor<<blue>> #3A7FC4
|
|
FontColor<<blue>> #123A63
|
|
|
|
BackgroundColor<<green>> #E3F6E3
|
|
BorderColor<<green>> #3C9D40
|
|
FontColor<<green>> #1E5C22
|
|
|
|
BackgroundColor<<purple>> #F0E6FF
|
|
BorderColor<<purple>> #8A5CC2
|
|
FontColor<<purple>> #4B2A73
|
|
|
|
BackgroundColor<<orange>> #FFE8CC
|
|
BorderColor<<orange>> #D8842A
|
|
FontColor<<orange>> #7A4A12
|
|
|
|
BackgroundColor<<red>> #FFE5E5
|
|
BorderColor<<red>> #CC3333
|
|
FontColor<<red>> #7A1F1F
|
|
}
|
|
|
|
state NotInitialized <<purple>>
|
|
state FatalError <<red>>
|
|
state Terminated <<purple>>
|
|
|
|
[*] -[#8A5CC2]-> NotInitialized
|
|
|
|
NotInitialized -[#3A7FC4]-> Initialized : init
|
|
NotInitialized -[#CC3333]-> FatalError : command before init
|
|
|
|
state Initialized {
|
|
|
|
[*] -[#3A7FC4]-> Stopped
|
|
|
|
state Stopped <<blue>> {
|
|
Stopped : volume(p) / set volume
|
|
Stopped : stop / ignore
|
|
}
|
|
|
|
state Playing <<orange>> {
|
|
Playing : seek(p) / seek decoder
|
|
Playing : volume(p) / set volume
|
|
}
|
|
|
|
state Paused <<green>> {
|
|
Paused : seek(p) / seek decoder
|
|
Paused : volume(p) / set volume
|
|
}
|
|
|
|
Stopped -[#D8842A]-> Playing : open(file)
|
|
|
|
Playing -[#3C9D40]-> Paused : pause #t
|
|
Paused -[#D8842A]-> Playing : pause #f
|
|
|
|
Playing -[#3A7FC4]-> Stopped : audio done
|
|
Playing -[#3A7FC4]-> Stopped : stop
|
|
Paused -[#3A7FC4]-> Stopped : stop
|
|
|
|
Playing -[#D8842A]-> Playing : open(new-file)
|
|
|
|
Playing -[#3A7FC4]-> Stopped : worker exception
|
|
Paused -[#3A7FC4]-> Stopped : worker exception
|
|
}
|
|
|
|
Initialized -[#8A5CC2]-> Terminated : quit / cleanup
|
|
|
|
FatalError -[#555555]-> [*]
|
|
Terminated -[#555555]-> [*]
|
|
|
|
@enduml |