nrkdrk / PardusMuzik

PardusMuzik

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PardusMuzik

N|Solid

Pardus Müzik Uygulaması Milli işletim sistemimiz olan Pardus için geliştirilmeye başlanmış açık kaynak kodlu bir projedir.

Pardus Müzik Logosu

alt text

PardusMuzik

Karşılama Sayfası alt text

Pardus Müzik Özellikleri

Pardus Müzik
Müzik(Parça) Detay
Çalma Listesi Oluşturma
Çalma Listesi Silme
Otomatik İlerleme

Track Model

    private StringProperty fileName;
    private StringProperty path;
    private Media media;
    private StringProperty album;
    private StringProperty artist;
    private StringProperty title;
    private StringProperty year;
    private Image image;

    public Track() {
        this(null, null, null);
    }

    public Track(String fileName, String filePath, Media media) {
        this.fileName = new SimpleStringProperty(fileName);
        this.path = new SimpleStringProperty(filePath);
        this.media = media;
    }

TrackList Model

    private IntegerProperty id;
    private StringProperty name;
    private StringProperty path;

    public TrackList() {
        this(0, null, null);
    }

     public TrackList(Integer id, String name, String path) {
        this.id = new SimpleIntegerProperty(id);
        this.name = new SimpleStringProperty(name);
        this.path = new SimpleStringProperty(path);
    }

handleNewTrackList Method

Kullanıcı 'Yeni Liste Oluştur'a tıklattığında çağrılır. Düzenlemek için bir iletişim kutusu açar.

@FXML
    private void handleNewTrackList() {
        TrackList tempTrackList = new TrackList();
        boolean okClicked = mainApp.showTrackListDialog(tempTrackList);
        if (okClicked) {
            TrackListUtil.saveTrackList(tempTrackList);
            observableTrackListsView.add(tempTrackList);
        }
    }

showTrackListDetails Method

Parça listesini parça listesinde göster

private void showTrackListDetails(TrackList trackList) {
        Platform.runLater(() -> {
            observableTracksView = TrackUtil.getAll(trackList, trackTableView);
            trackTableView.setItems(observableTracksView);
        });
        
        Platform.runLater(() -> {
            TrackUtil.refreshTable(trackTableView);
        });
    }

playTrack Method

Parçayı oynatıcıda oynatma

// Set next, current and previous track
        currentTrack = track;
        int totalTracks = observableTracksView.size();
        int currentTrackNumber = observableTracksView.indexOf(currentTrack);
        int nextTrackNumber = currentTrackNumber+1;
        int prevTrackNumber = currentTrackNumber-1;
        if(prevTrackNumber >= 0) prevTrack = observableTracksView.get(prevTrackNumber);
        else prevTrack = observableTracksView.get(totalTracks-1);
        if(nextTrackNumber < totalTracks) nextTrack = observableTracksView.get(nextTrackNumber);
        else nextTrack = observableTracksView.get(0);
        
        // Set selected item in tracktable
        trackTableView.getSelectionModel().select(currentTrack);
        
        // Play track and set media info
        if (player != null) {
            player.stop();
            player = null;
        }
        currentMedia = currentTrack.getMedia();
        player = new MediaPlayer(currentMedia);
        player.play();
        setCurrentlyPlaying(player);
        setMediaInfo(currentTrack);

About

PardusMuzik


Languages

Language:Java 75.8%Language:CSS 24.2%