Files
gti_radiostudio/__pycache__/playlist_widget.cpython-314.pyc
T

183 lines
37 KiB
Plaintext
Raw Normal View History

2026-04-29 16:21:44 +10:00
+
¢ñilTãó^RIHtHtHtHtHtHtHtHtH t H
t
H t H t H
t
^RIHtHt^RIHtHtHt^RIt!RR]
4t!RR]4t!R R
]4t!R R ]4t!R
R]4t!RR]4t!RR]4tR#)é)
ÚQWidgetÚ QVBoxLayoutÚ QHBoxLayoutÚQLabelÚ QPushButtonÚ QFileDialogÚQFrameÚ QSizePolicyÚ QListWidgetÚQListWidgetItemÚQAbstractItemViewÚQMenuÚ QSplitter)ÚQtÚQTimer)ÚQFontÚQColorÚQActionNcó>aa]tRt^toV3RlV3RlltRtVtV;t#)Ú PlaylistItemcó <V^8„dQhRS[/#)éÚfilepath©Ústr)ÚformatÚ
__classdict__s"€Ú0/home/garold/mybin/radiopanel/playlist_widget.pyÚ __annotate__ÚPlaylistItem.__annotate__sø€÷ñcó„<Wn\PPV4Vn\PP VP4^,p\ SV`V4VP\R^
\P44VP\R44VPV4R#)rú Courier Newú#ccccccN)rÚosÚpathÚbasenameÚfilenameÚsplitextÚsuperÚ__init__ÚsetFontrÚBoldÚ
setForegroundrÚ
setToolTip)ÚselfrÚdisplayÚ __class__s&& €rr+ÚPlaylistItem.__init__s€ø€Ø Œ
ÜŸ×ÓŒ
Ü—''×" 4§=¡=Ó1°!Õ4ˆÜ
Ñ˜Ô ”U˜=¨"¬e¯j©jÓ ×Ñœ6 )Ó ˜Ö!r!)r(r©Ú__name__Ú
__module__Ú __qualname__Ú__firstlineno__r+Ú__static_attributes__Ú__classdictcell__Ú
__classcell__©r2rs@@rrrsù‡÷"r!rcó<aa]tRt^!toRV3RlltRtRtVtV;t#)Ú HourDisplaycóÎ<\SV`V4VP\P\P
,4VP
^,4VPR4\V4pVP^^^^4\R4Vn VPP\R^ \P44VPPR4VPP\ P"4VP%VP4\R4VnVP&P\R^ \P44VP&PR4VP&P\ P(\ P*,4VP%VP&4\-V4VnVP.P1R4VP.P2P5VP64VP.P94VP74R#) é,
QFrame {
background-color: #0a0a1a;
border: 1px solid #333;
border-radius: 3px;
}
z HOUR --:--r#z6color: #4488ff; background: transparent; border: none;z00:00:00z6color: #aaaaaa; background: transparent; border: none;ièN)r*r+Ú
setFrameStyler ÚBoxÚSunkenÚsetFixedHeightÚ
setStyleSheetrÚsetContentsMarginsrÚ
hour_labelr,rr-Ú setAlignmentrÚ AlignCenterÚ addWidgetÚ clock_labelÚ
AlignRightÚ AlignVCenterrÚ clock_timerÚ setIntervalÚtimeoutÚconnectÚ
_update_clockÚstart)r0ÚparentÚlayoutr2s&& €rr+ÚHourDisplay.__init__"ø€Ü
Ñ˜Ô Ø ×Ñœ6Ÿ:™:¬¯
©
Õ ×јBÔØ ×Ñð ô
ô˜"ˆØ×! ! Q¨¨1Ô  ÓŒØ ×Ѥ m°R¼¿¹Ó DÔ × 
ð
×$¤R§^¡^Ô×јŸÔ! *ÓÔØ ×Ñ× Ñ ¤ }°b¼%¿*¹*Ó!EÔ ×Ñ× 
ð
×Ñ×%¤b§m¡m´b·o±oÕ&EÔ×ј×! $›<ˆÔØ ×Ñ×$ TÔ ×Ñ× Ñ ××);Ñ);Ô ×Ñ×ÑÔ Ø ×ÑÖr!cóà^RIHpVP4pVPPVP R44VP
PRVP R4 24R#)r)Údatetimez%H:%M:%SzHOUR z%H:00N)rXÚnowrKÚsetTextÚstrftimerG)r0rXrYs& rrRÚHourDisplay._update_clockGsPÝl‰l‹nˆØ ×Ñ× Ñ  §¡¨jÓ!9Ô ×Ñ ¯©°gÓ)>Ð(?Ð @ÖAr!)rKrNrG©N) r5r6r7r8r+rRr9r:r;r<s@@rr>r>!sù‡÷#÷JBòBr!r>cóvaa]tRt^RtoR V3RlltV3RlRltV3RlRlt]V3RlRl4tRt Vt
V;t #)
Ú DeckSelectorcóF<a\SS`V4SP^$4SPR4\ S4pVP ^^^^4VP
^4\R4pVP\R^ \P44VPR4VPV4\R4Sn
SPPR4SPPR4SPP^4SPP\R^ \P44SP!SPR4\R4SnSP"PR4SP"P^4SP"P\R^ \P44SP!SP"R 4SPP$P'V3R
l4SP"P$P'V3R l4VPSP4VPSP"4VP)4R SnR
#)é$
QFrame {
background-color: #1a1a1a;
border: 1px solid #333;
border-radius: 3px;
}
zSEND TO:ÚArialz3color: #888; background: transparent; border: none;zDECK 1Tz#00897bzDECK 2ú#f9ca24có&<SPR4#©Údeck1©Ú_select©r0s€rÚ<lambda>Ú'DeckSelector.__init__.<locals>.<lambda>t󸀍t¯|©|¸GÔ/Dr!có&<SPR4#©Údeck2rgris€rrjrkurlr!rfN)r*r+rDrErrFÚ
setSpacingrr,rr-rJrÚ deck1_btnÚ setCheckableÚ
setCheckedÚ
_style_btnÚ deck2_btnÚclickedrQÚ
addStretchÚ _selected)r0rTrUÚlabelr2sf& €rr+ÚDeckSelector.__init__Sù€Ü
Ñ˜Ô Ø ×јBÔØ ×Ñð ô
ô˜"ˆØ×! ! Q¨¨1Ô×ј!Ôä"ˆØ
”e˜G ¯
©
Ó
×ÑÐ×јÔä$ XÓŒØ ×# DÔ ×!  ×% bÔ ×Ñœu W¨a´·±Ó ˜Ÿ¨ Ô$ XÓŒØ ×# DÔ ×% bÔ ×Ñœu W¨a´·±Ó ˜Ÿ¨ Ô ×Ñ×&Ô'DÔ ×Ñ×&Ô'DÔ×јŸÔ×јŸÔ×ÑÔà ˆŽr!có&<V^8„dQhRS[RS[/#)rÚbtnÚaccent)rr)rrs"€rrÚDeckSelector.__annotate__}sø€÷
ñ
™kð
±3ñ
r!có6VPRV RV R24R#)aA
QPushButton {
background-color: #2a2a2a;
color: #888;
border: 1px solid #444;
border-radius: 3px;
padding: 0 8px;
}
QPushButton:checked {
background-color: #1a1a1a;
color: z$;
border: 1px solid zR;
}
QPushButton:hover { background-color: #333; }
N)rE)r0r|r}s&&&rrtÚDeckSelector._style_btn}s0Ø ×Ñð
ð #Ø#) + ð ö
r!có <V^8„dQhRS[/#)rÚdeckr)rrs"€rrr~Žsø€÷3™Cñ3r!cóŠWnVPPVR8H4VPPVR8H4R#)rfroN)rxrqrsru)r0rs&&rrhÚDeckSelector._selectŽs3ØŒØ ×! $¨'¡/Ô ×! $¨'¡/Ö2r!có <V^8„dQhRS[/#©rÚreturnr)rrs"€rrr~sø€÷ñ™sñr!cóVP#r])rxris&rÚ
selected_deckÚDeckSelector.selected_deck“s à~‰~Ðr!)rxrqrur]) r5r6r7r8r+rtrhÚpropertyr‰r9r:r;r<s@@rr_r_Rs8ù‡÷(!÷T
ð
÷"
÷ó÷ðr!r_cóÌaa]tRt^œtoRt0RmtRV3RlltV3RlRltRV3RlRlltV3RlRlt V3R lR
lt
V3R lR lt RV3R
lRllt RV3RlRllt
RtVtV;t#)ÚBasePlaylistPanelzFAudio Files (*.wav *.flac *.mp3 *.m4a *.mp4 *.ogg *.opus *.aac *.aiff)có&<\SV`V4R#r])r*r+)r0rTr2s&&€rr+ÚBasePlaylistPanel.__init__¦sø€Ü
Ñ˜Ö r!có <V^8„dQhRS[/#r†©r )rrs"€rrÚBasePlaylistPanel.__annotate__©sø€÷"ñ"™Kñ"r!cóö\4pVPR4VP\P4VP \P 4VP\P4V#)a]
QListWidget {
background-color: #0d0d0d;
color: #cccccc;
border: 1px solid #333;
border-radius: 3px;
outline: none;
}
QListWidget::item {
padding: 5px 6px;
border-bottom: 1px solid #1a1a1a;
}
QListWidget::item:selected {
background-color: #1a3a5a;
color: #ffffff;
}
QListWidget::item:hover {
background-color: #1e1e1e;
}
QScrollBar:vertical {
background: #1a1a1a;
width: 8px;
border-radius: 4px;
}
QScrollBar::handle:vertical {
background: #444;
border-radius: 4px;
}
)
r rEÚsetSelectionModer
ÚSingleSelectionÚsetDragDropModeÚ InternalMoveÚsetContextMenuPolicyrÚCustomContextMenu)r0Úlsts& rÚ
_make_listÚBasePlaylistPanel._make_list©saÜ‹mˆØ ×Ñð ô
ð: ×ÑÔ.× ×ÑÔ × Ñ ¤×!5Ñ!5Ôˆ
r!có2<V^8„dQhRS[RS[RS[RS[/#)rÚtextÚcolorÚheightr‡)rÚintr)rrs"€rrrÍs)ø€÷ñ™cð©#ð±sðÁKñr!có¼\V4pVPV4VP\R^ \P44VP RV R24V#)rbz=
QPushButton {
background-color: zú;
color: #cccccc;
border: 1px solid #444;
border-radius: 3px;
}
QPushButton:hover { background-color: #555; }
QPushButton:pressed { background-color: #222; }
)rrDr,rr-rE)r0r r|s&&&& rÚ _make_btnÚBasePlaylistPanel._make_btnÍs\ܘ$ÓˆØ ×ј6Ô ”E˜' 1¤e§j¡jÓ ×Ñð#à#( * ð  ô
ðˆ
r!có <V^8„dQhRS[/#©rr)rrs"€rrrÝsø€÷ ñ ¡ñ r!cóà\P!VR\PP R4VP
4wr#VFpVP
W4K VPV4R#)z Add FilesÚ~N)rÚgetOpenFileNamesr%r&Ú
expanduserÚ AUDIO_FILTERÚ _add_item_toÚ
_update_count)r0ÚpathsÚ_r&s&& rÚ
_add_files_toÚBasePlaylistPanel._add_files_toÝs\Ü×  G‰G× Ñ ˜sÓ × Ñ ó
ˆó
ˆDØ × Ñ ˜cÖ à ×ј3Ör!có <V^8„dQhRS[/#r)rrs"€rrrçsø€÷
 ñ
 ¡+ñ
 r!c ó\P!VR\PP R44pV'gR#\P
!V4Fwr4pVP
4\V4Fxp\PPV4^,P4pWpP9gKIVPV\PPW644Kz  VPV4R#)z
Add Folderr¨N)rÚgetExistingDirectoryr%r&ÚwalkÚsortÚsortedr)ÚlowerÚAUDIO_EXTENSIONSr¬Újoinr­)r0ÚfolderÚroot_dirÚdirsÚfilesr(Úexts&& rÚ_add_folder_toÚ BasePlaylistPanel._add_folder_toçÜ×  G‰G× Ñ ˜sÓ 
ˆ÷Ù Ü%'§W¢W¨V¦_Ñ !ˆH˜ I‰IŒKÜ" 5žMÜ—gg×& Õ3×;Ø××% c¬2¯7©7¯<©<¸Ó+KÖ&5ð
×ј3Ör!có&<V^8„dQhRS[RS[/#)rr)r r)rrs"€rrrösø€÷ ð,±sñ,r!cóô\VP44F@pVPV4p\V\4'gK,VP
V8XgK?R# VP
\ V44R#r])ÚrangeÚcountÚitemÚ
isinstancerrÚaddItem)r0rÚirÆs&&& rÚBasePlaylistPanel._add_item_toösRÜs—yy“{Ö#ˆAØ—8‘8˜A“;ˆDܘ$¤ ×-°$·-±-À8Ö2KÚñ ”L Ó+r!có&<V^8„dQhRS[RS[/#)rry)r r)rrs"€rrrýsø€÷ð?±Vñ?r!cóxVP4pV'd"TPT RV^8wdRMR 24R#R#)z trackÚN)rZ)r0ryÚns&&& rr­ÚBasePlaylistPanel._update_countýs5Ø I‰I‹Kˆß Ø M‰M˜Q˜C˜v¨Q°!¬V¡c¸Ð%<Ð  r!có,<V^8„dQhRS[RS[RS[/#)rÚactiveÚqueued)rÚbool)rrs"€rrrs$ø€÷2™|ðð2Ù15ñ2r!cóÊV'dVP\R44R#V'dVP\R44R#VP\R44R#)z#00ff41rcr$N)r.r)r0s&&&&rÚ
_highlightÚBasePlaylistPanel._highlightsAç Ø × Ñ œv iÓ
Ø × Ñ œv iÓ × Ñ œv  1r!©> ú.aacú.m4aú.mp3ú.mp4ú.oggú.wavú.aiffú.flacú.opusr])é)FF)r5r6r7r8r+rr­r9r:r;r<s@@rrrœsiù‡ð EðòÐ÷
"ð"÷Hò÷  ð ÷
 ð
 ÷
2r!rcójaa]tRtRtoR V3RlV3RllltRtR RltRtRtRt R t
R
t Vt V;t
#) ÚTrackPlaylistPanelicó <V^8„dQhRS[/#)rÚ deck_widgets)Údict)rrs"€rrÚTrackPlaylistPanel.__annotate__sø€÷ñ©Tñr!có^<\SV`V4WnW nVP 4R#r])r*r+ÚengineræÚ _build_ui)r0rTr2s&&&&€rr+ÚTrackPlaylistPanel.__init__s%ø€Ü
Ñ˜Ô Ø ØØ Ör!cóÞ aSPR4\S4pVP^^^^4VP^4\ R4pVP \
R^ \ P44VPR4VP\P4VPV4\4Sn
VPSP4\4SnVPSP4SP!4SnSP"P$P'SP(4SP"P*P'SP,4VPSP"4\/4pVP^4SP1RR4SnSP1RR4SnVPSP24VPSP44VP7V4\/4pVP^4SP1RR 4SnSP1R
R 4SnVPSP84VPSP:4VP7V4\/4pVP^4SP1R R
4SnSP1RR4SnVPSP<4VPSP>4VP7V4\ R4Sn SP@P \
R^ 44SP@PR4SP@P\P4VPSP@4SP2PBP'V3Rl4SP4PBP'V3Rl4SP8PBP'SP(4SP:PBP'SPD4SP<PBP'SPF4SP>PBP'SPH4R#)
QWidget {
background-color: #111111;
border: 2px solid #333333;
border-radius: 6px;
}
ÚPLAYLISTrbzDcolor: #aaaaaa; background: transparent; border: none; padding: 2px;ú ADD FILESz#2a5a8aú
ADD FOLDERz#2a4a6au
→ LOAD DECKz#1a5a3au → QUEUEz#1a3a2aÚREMOVEú#5a1a1aú CLEAR ALLú#3a1a1aú0 tracksr#ú3color: #555; background: transparent; border: none;có:<SPSP4#r]©Úplaylistris€rrjÚ.TrackPlaylistPanel._build_ui.<locals>.<lambda>Xóø€D×& t§}¡}Ô5r!có:<SPSP4#r]©ris€rrj[óø€Dׯ
©
Ô6r!N)%rErrFrprr,rr-rHrrIrJr>Ú hour_displayr_Ú
deck_selectorrÚitemDoubleClickedrQÚ
_send_to_deckÚcustomContextMenuRequestedÚ